Bird
Raised Fist0
Agentic AIml~5 mins

Building custom tools in Agentic AI - Cheat Sheet & Quick Revision

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
Recall & Review
beginner
What is a custom tool in the context of agentic AI?
A custom tool is a special program or function created to help an AI agent perform specific tasks that are not built-in. It extends the AI's abilities to solve problems or gather information.
Click to reveal answer
beginner
Why do we build custom tools for AI agents?
We build custom tools to give AI agents new skills or access to unique data sources. This helps them handle tasks better and solve problems that need special knowledge or actions.
Click to reveal answer
intermediate
What are the basic steps to create a custom tool for an AI agent?
1. Identify the task the tool should do.
2. Write the code or function that performs the task.
3. Connect the tool to the AI agent.
4. Test the tool to make sure it works well.
Click to reveal answer
intermediate
How can you test if a custom tool works correctly with an AI agent?
You give the AI agent tasks that require the tool and check if the agent uses the tool properly and gets the right results. Testing includes checking for errors and correct outputs.
Click to reveal answer
beginner
What is an example of a simple custom tool for an AI agent?
A calculator tool that the AI can use to do math problems. The AI sends numbers and operations to the tool, and the tool returns the answer.
Click to reveal answer
What is the first step in building a custom tool for an AI agent?
ATest the tool with the AI agent
BIdentify the task the tool should perform
CConnect the tool to the AI agent
DWrite the code for the tool
Why do AI agents need custom tools?
ATo slow down the AI's responses
BTo improve their built-in knowledge
CTo replace the AI's core functions
DTo perform tasks they cannot do alone
Which of these is NOT a part of testing a custom tool?
AIgnoring tool performance
BVerifying correct outputs
CChecking for errors
DGiving tasks that require the tool
What does connecting a custom tool to an AI agent involve?
AWriting the tool's code
BTraining the AI model
CLinking the tool so the AI can use it
DDesigning the AI's user interface
Which example is a simple custom tool?
AA tool that calculates math problems
BA tool that translates languages
CA tool that writes stories
DA tool that plays music
Explain the process of building a custom tool for an AI agent in simple steps.
Think about what you want the tool to do and how the AI will use it.
You got /4 concepts.
    Why are custom tools important for AI agents? Give an example.
    Consider tasks the AI cannot do alone.
    You got /3 concepts.

      Practice

      (1/5)
      1. What is the main purpose of building custom tools for an AI agent?
      easy
      A. To change the AI's language automatically
      B. To add special skills that help the AI perform specific tasks
      C. To reduce the size of the AI model
      D. To make the AI run faster on any computer

      Solution

      1. Step 1: Understand what custom tools do

        Custom tools add new abilities or skills to an AI, making it better at certain jobs.
      2. Step 2: Compare options to the purpose

        Only To add special skills that help the AI perform specific tasks talks about adding special skills, which matches the purpose of custom tools.
      3. Final Answer:

        To add special skills that help the AI perform specific tasks -> Option B
      4. Quick Check:

        Custom tools = add special skills [OK]
      Hint: Custom tools add new skills to AI for tasks [OK]
      Common Mistakes:
      • Thinking custom tools speed up AI generally
      • Confusing tool purpose with model size
      • Assuming tools change AI language automatically
      2. Which of the following is the correct way to define a custom tool in Python for an AI agent?
      easy
      A. tool = Tool(name='search', func=search_function)
      B. tool = Tool('search', func=search_function)
      C. tool = Tool(description='Find info', func=search_function)
      D. tool = Tool(name='search', description='Find info', func=search_function)

      Solution

      1. Step 1: Recall required fields for a custom tool

        A custom tool needs a name, description, and a function to work properly.
      2. Step 2: Check which option includes all three

        Only tool = Tool(name='search', description='Find info', func=search_function) has name, description, and func parameters correctly set.
      3. Final Answer:

        tool = Tool(name='search', description='Find info', func=search_function) -> Option D
      4. Quick Check:

        Tool needs name, description, and func [OK]
      Hint: Include name, description, and func when defining tools [OK]
      Common Mistakes:
      • Omitting description or name
      • Passing parameters in wrong order
      • Using wrong parameter names
      3. Given this Python code for a custom tool, what will be the output when calling tool.func('hello')?
      def shout(text):
          return text.upper() + '!!!'
      tool = Tool(name='shout', description='Make text loud', func=shout)
      medium
      A. 'HELLO!!!'
      B. 'hello!!!'
      C. 'hello'
      D. Error: func is not callable

      Solution

      1. Step 1: Understand the function behavior

        The function shout converts text to uppercase and adds three exclamation marks.
      2. Step 2: Apply the function to 'hello'

        Calling shout('hello') returns 'HELLO!!!'. Since tool.func points to shout, tool.func('hello') does the same.
      3. Final Answer:

        'HELLO!!!' -> Option A
      4. Quick Check:

        shout('hello') = 'HELLO!!!' [OK]
      Hint: Check function logic and apply input to predict output [OK]
      Common Mistakes:
      • Ignoring uppercase conversion
      • Missing exclamation marks
      • Assuming func is not callable
      4. You wrote this custom tool but get an error when using it. What is the likely problem?
      def add_numbers(a, b):
          return a + b
      tool = Tool(name='adder', description='Add two numbers', func=add_numbers)
      result = tool.func(5)
      medium
      A. Tool name must be unique
      B. Function add_numbers should not return a value
      C. Missing one argument when calling tool.func
      D. Description is too short

      Solution

      1. Step 1: Check function parameters

        add_numbers requires two inputs: a and b.
      2. Step 2: Check how tool.func is called

        tool.func(5) provides only one argument, causing an error for missing the second argument.
      3. Final Answer:

        Missing one argument when calling tool.func -> Option C
      4. Quick Check:

        Function needs 2 args, only 1 given [OK]
      Hint: Match function parameters with call arguments [OK]
      Common Mistakes:
      • Ignoring function argument count
      • Thinking description length causes error
      • Assuming tool name uniqueness causes runtime error
      5. You want to build a custom tool that summarizes text by returning the first 10 words. Which code correctly defines this tool's function?
      hard
      A. def summarize(text): return ' '.join(text.split()[:10])
      B. def summarize(text): return text[:10]
      C. def summarize(text): return text.split()[-10:]
      D. def summarize(text): return len(text.split())

      Solution

      1. Step 1: Understand the goal of the function

        The function should return the first 10 words, not characters or last words.
      2. Step 2: Analyze each option

        def summarize(text): return ' '.join(text.split()[:10]) splits text into words and joins the first 10 words correctly. def summarize(text): return text[:10] returns first 10 characters, not words. def summarize(text): return text.split()[-10:] returns last 10 words. def summarize(text): return len(text.split()) returns word count, not summary.
      3. Final Answer:

        def summarize(text): return ' '.join(text.split()[:10]) -> Option A
      4. Quick Check:

        First 10 words = def summarize(text): return ' '.join(text.split()[:10]) [OK]
      Hint: Split text and join first 10 words for summary [OK]
      Common Mistakes:
      • Returning characters instead of words
      • Taking last words instead of first
      • Returning word count instead of summary