Bird
Raised Fist0
Agentic AIml~12 mins

Defining tool schemas and descriptions in Agentic AI - Model Pipeline Trace

Choose your learning style10 modes available

Start learning this pattern below

Jump into concepts and practice - no test required

or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Model Pipeline - Defining tool schemas and descriptions

This pipeline shows how we define clear tool schemas and descriptions to help an AI agent understand and use tools correctly. It starts with raw tool info, structures it into schemas, and then uses these schemas to guide the AI's tool usage.

Data Flow - 4 Stages
1Raw Tool Information
N tools x 3 fields (name, description, parameters)Collect unstructured tool details from documentation or developersN tools x 3 fields (name, description, parameters)
[{"name": "search", "description": "Find info on the web", "parameters": "query string"}]
2Schema Definition
N tools x 3 fieldsConvert raw info into structured schemas with types and constraintsN tools x structured schema objects
[{"name": "search", "description": "Find info on the web", "parameters": {"query": "string"}}]
3Schema Validation
N tools x structured schema objectsCheck schemas for completeness and correctnessN tools x validated schemas
[{"name": "search", "description": "Find info on the web", "parameters": {"query": "string"}, "valid": true}]
4Tool Description Generation
N tools x validated schemasCreate clear, concise descriptions for AI to understand tool purpose and usageN tools x descriptive text
[{"name": "search", "description": "Use this tool to find information on the internet by providing a search query."}]
Training Trace - Epoch by Epoch

Loss: 0.8 |************
Loss: 0.6 |********
Loss: 0.4 |******
Loss: 0.25|****
Loss: 0.15|**
EpochLoss ↓Accuracy ↑Observation
10.80.4Initial schema definitions are rough and incomplete.
20.60.6Schemas become more structured and consistent.
30.40.75Validation catches errors and improves schema quality.
40.250.85Descriptions become clearer and more helpful for AI understanding.
50.150.92Schemas and descriptions reach high quality and consistency.
Prediction Trace - 4 Layers
Layer 1: Input Tool Request
Layer 2: Schema Lookup
Layer 3: Parameter Validation
Layer 4: Tool Execution Preparation
Model Quiz - 3 Questions
Test your understanding
What is the main purpose of defining tool schemas?
ATo reduce the number of tools available
BTo make tools run faster
CTo organize tool information clearly for AI understanding
DTo create user interfaces
Key Insight
Defining clear and validated tool schemas with good descriptions helps AI agents understand and use tools correctly, reducing errors and improving performance.

Practice

(1/5)
1. What is the main purpose of defining a tool schema in agentic AI?
easy
A. To describe what the tool does and what inputs it needs
B. To write the tool's source code
C. To train the AI model
D. To store user data securely

Solution

  1. Step 1: Understand the role of tool schemas

    Tool schemas explain what a tool does and what inputs it requires for proper use.
  2. Step 2: Differentiate from other tasks

    Writing code, training models, or storing data are separate tasks not covered by schemas.
  3. Final Answer:

    To describe what the tool does and what inputs it needs -> Option A
  4. Quick Check:

    Tool schema = tool description + inputs [OK]
Hint: Schemas explain tool purpose and inputs clearly [OK]
Common Mistakes:
  • Confusing schema with code implementation
  • Thinking schema trains the AI
  • Assuming schema stores data
2. Which of the following is the correct way to define a tool schema description in JSON format?
easy
A. {"name": search, "desc": "Finds info", inputs: {query: string}}
B. {"tool": search, description: Finds info, inputs: query string}
C. {"name": "search", "description": "Finds information", "inputs": {"query": "string"}}
D. {name: "search", description: "Finds information", inputs: {query: string}}

Solution

  1. Step 1: Check JSON syntax correctness

    {"name": "search", "description": "Finds information", "inputs": {"query": "string"}} uses proper JSON with keys and string values quoted correctly.
  2. Step 2: Verify key names and structure

    {"name": "search", "description": "Finds information", "inputs": {"query": "string"}} uses "name", "description", and "inputs" keys properly with correct value types.
  3. Final Answer:

    {"name": "search", "description": "Finds information", "inputs": {"query": "string"}} -> Option C
  4. Quick Check:

    Valid JSON with quoted keys and strings = {"name": "search", "description": "Finds information", "inputs": {"query": "string"}} [OK]
Hint: Look for quoted keys and string values in JSON [OK]
Common Mistakes:
  • Missing quotes around keys or strings
  • Using unquoted identifiers
  • Incorrect key names or structure
3. Given this tool schema snippet:
{"name": "calculator", "description": "Performs math operations", "inputs": {"operation": "string", "x": "number", "y": "number"}}

What would be the expected output if the tool is called with inputs {"operation": "add", "x": 5, "y": 3}?
medium
A. 8
B. "add"
C. 53
D. Error: missing inputs

Solution

  1. Step 1: Understand the tool schema inputs

    The tool expects an operation (like add) and two numbers x and y.
  2. Step 2: Apply the operation to inputs

    Adding 5 and 3 results in 8 as output.
  3. Final Answer:

    8 -> Option A
  4. Quick Check:

    5 + 3 = 8 [OK]
Hint: Match inputs to operation and compute result [OK]
Common Mistakes:
  • Returning operation string instead of result
  • Concatenating numbers as strings
  • Assuming missing inputs cause error
4. You have this tool schema:
{"name": "translator", "description": "Translates text", "inputs": {"text": "string", "target_lang": "string"}}

Which error is present in this schema?
medium
A. Description is too long
B. Name key is missing
C. Input types should be numbers
D. Missing closing brace for inputs object

Solution

  1. Step 1: Check JSON syntax carefully

    The inputs object is opened but not closed with a } before the schema ends.
  2. Step 2: Verify other keys

    Name key exists, description length is fine, input types as strings are correct.
  3. Final Answer:

    Missing closing brace for inputs object -> Option D
  4. Quick Check:

    Unclosed braces cause JSON errors [OK]
Hint: Count opening and closing braces carefully [OK]
Common Mistakes:
  • Ignoring missing braces
  • Thinking input types must be numbers
  • Assuming description length matters
5. You want to define a tool schema for a weather forecast tool that takes a city name and date, and returns temperature and conditions. Which schema correctly describes this tool?
hard
A. {"name": "weather", "description": "Forecast tool", "inputs": {"city": "string"}, "outputs": {"temp": "string", "cond": "string"}}
B. {"name": "weather", "description": "Provides weather forecast", "inputs": {"city": "string", "date": "string"}, "outputs": {"temperature": "number", "conditions": "string"}}
C. {"name": "weather", "description": "Gives weather", "inputs": {"location": "string", "day": "date"}}
D. {"name": "weather", "inputs": {"city": "string", "date": "string"}}

Solution

  1. Step 1: Check completeness of schema

    {"name": "weather", "description": "Provides weather forecast", "inputs": {"city": "string", "date": "string"}, "outputs": {"temperature": "number", "conditions": "string"}} includes name, description, inputs (city and date), and outputs (temperature and conditions) as required.
  2. Step 2: Verify input and output types

    Inputs are strings (city, date), outputs are number and string, matching expected data.
  3. Final Answer:

    {"name": "weather", "description": "Provides weather forecast", "inputs": {"city": "string", "date": "string"}, "outputs": {"temperature": "number", "conditions": "string"}} -> Option B
  4. Quick Check:

    Complete schema with inputs and outputs = {"name": "weather", "description": "Provides weather forecast", "inputs": {"city": "string", "date": "string"}, "outputs": {"temperature": "number", "conditions": "string"}} [OK]
Hint: Include inputs and outputs with correct types [OK]
Common Mistakes:
  • Omitting outputs section
  • Using wrong input/output keys or types
  • Leaving out description