0Pricing
AI Agents with LangChain & Autonomous Workflows · Lesson

Toolkits & Structured Tool Inputs

Bundle related tools into reusable toolkits and define structured, typed arguments with schemas so agents call your tools reliably with the right parameters.

Toolkits & Structured Tool Inputs is a free AI Agents with LangChain & Autonomous Workflows lesson on CoddyKit — lesson 4 of 4. You can read the complete lesson below for free — then practise it hands-on in the browser with a built-in code editor and a 24/7 AI tutor. It is part of the AI Agents with LangChain & Autonomous Workflows learning path, one of 4 lessons in the course, and your progress syncs across the web and the CoddyKit app.

Beyond Single Tools

Real integrations rarely need just one function. A database integration needs list-tables, run-query, and describe-schema together.

A toolkit groups related tools so an agent gets a coherent capability in one bundle.

The Single-String Limitation

A basic tool takes one string input. But many actions need multiple typed arguments — a date range, a user id, a limit.

Structured tools let the agent pass several validated parameters instead of cramming them into one string.

Defining an Input Schema

Use a Pydantic model to describe the arguments. The field descriptions guide the LLM on how to fill them.

from pydantic import BaseModel, Field

class SearchArgs(BaseModel):
    query: str = Field(description='Search keywords')
    limit: int = Field(description='Max results', default=5)

Attaching the Schema to a Tool

Pass args_schema so the agent knows the exact shape it must produce.

from langchain.tools import StructuredTool

def search(query: str, limit: int = 5):
    return run_search(query, limit)

tool = StructuredTool.from_function(
    func=search,
    name='search',
    description='Search the catalog',
    args_schema=SearchArgs
)

The @tool Decorator Shortcut

The @tool decorator infers a schema from your type hints and docstring, the quickest way to make a structured tool.

from langchain.tools import tool

@tool
def get_weather(city: str, units: str = 'metric') -> str:
    'Get current weather for a city.'
    return fetch_weather(city, units)

Why Descriptions Matter

The LLM chooses tools and fills arguments from your name and descriptions. Vague text causes wrong tool choice or bad parameters.

  • Say what the tool does and when to use it
  • Describe each field clearly
  • Mention units and formats

Building a Toolkit

A toolkit subclass exposes a get_tools() method returning the grouped tools. Shared config (like a client) lives on the toolkit.

from langchain.tools import BaseToolkit

class CrmToolkit(BaseToolkit):
    client: object
    def get_tools(self):
        return [list_contacts, create_contact, add_note]

Giving Tools to an Agent

Expand a toolkit into the agent's tool list. The agent now has the whole capability set at once.

toolkit = CrmToolkit(client=crm)
agent = create_agent(llm, toolkit.get_tools())

Validation Protects You

Because the schema is enforced, malformed agent output is rejected before your function runs. This stops invalid types or missing required fields from reaching your integration.

Handling Tool Errors

Tools can fail (network, bad input). Catch exceptions and return a helpful message so the agent can recover or ask the user, instead of crashing the run.

@tool
def fetch_order(order_id: str) -> str:
    'Look up an order by id.'
    try:
        return api.get(order_id)
    except NotFound:
        return 'No order found with that id.'

Reusability

Toolkits make integrations portable: build a GitHubToolkit once and drop it into any agent. Combine multiple toolkits to give an agent broad, well-defined powers.

Quick Check

Test your tools knowledge.

Recap

You learned to build robust integrations:

  • Structured tools accept multiple typed arguments via an args_schema
  • The @tool decorator infers schemas from hints
  • Clear descriptions drive correct tool use
  • Toolkits bundle related tools for reuse
  • Validation and error handling keep agents stable

Well-structured tools are the backbone of dependable agent integrations.

Frequently asked questions

Is the “Toolkits & Structured Tool Inputs” lesson free?

Yes — the full text of “Toolkits & Structured Tool Inputs” is free to read here on the web, and the AI Agents with LangChain & Autonomous Workflows course includes 4 lessons in total. To practise it interactively (a built-in code editor and a 24/7 AI tutor) and unlock the rest of the AI Agents with LangChain & Autonomous Workflows course, upgrade to CoddyKit PRO.

What will I learn in “Toolkits & Structured Tool Inputs”?

Bundle related tools into reusable toolkits and define structured, typed arguments with schemas so agents call your tools reliably with the right parameters. You practise AI Agents with LangChain & Autonomous Workflows with hands-on code you run directly in the browser, and a 24/7 AI tutor answers your questions as you work through the lesson.

Do I need any experience to start AI Agents with LangChain & Autonomous Workflows?

No prior experience is required. AI Agents with LangChain & Autonomous Workflows on CoddyKit is structured for beginners through advanced learners; this is — lesson 4 of 4, so you can start here or from the beginning and move at your own pace.

How long does the “Toolkits & Structured Tool Inputs” lesson take?

Most CoddyKit lessons take about 5–10 minutes. Each one is bite-sized and interactive, so you make steady progress and pick up exactly where you left off across the web and the app.

Can I write and run code in this AI Agents with LangChain & Autonomous Workflows lesson?

Yes. Every AI Agents with LangChain & Autonomous Workflows lesson includes a built-in code editor, so you write and run real code right in your browser and get instant AI feedback — no local setup required.

All lessons in this course

  1. Creating Custom LangChain Tools
  2. Integrating with External APIs
  3. Web Scraping and Data Augmentation
  4. Toolkits & Structured Tool Inputs
← Back to AI Agents with LangChain & Autonomous Workflows