Close Menu
    Trending
    • Three OpenClaw Mistakes to Avoid and How to Fix Them
    • I Stole a Wall Street Trick to Solve a Google Trends Data Problem
    • How AI is turning the Iran conflict into theater
    • Why Your AI Search Evaluation Is Probably Wrong (And How to Fix It)
    • Machine Learning at Scale: Managing More Than One Model in Production
    • Improving AI models’ ability to explain their predictions | MIT News
    • Write C Code Without Learning C: The Magic of PythoC
    • LatentVLA: Latent Reasoning Models for Autonomous Driving
    ProfitlyAI
    • Home
    • Latest News
    • AI Technology
    • Latest AI Innovations
    • AI Tools & Technologies
    • Artificial Intelligence
    ProfitlyAI
    Home » How to Build Tools for AI Agents
    Artificial Intelligence

    How to Build Tools for AI Agents

    ProfitlyAIBy ProfitlyAIOctober 15, 2025No Comments11 Mins Read
    Share Facebook Twitter Pinterest LinkedIn Tumblr Reddit Telegram Email
    Share
    Facebook Twitter LinkedIn Pinterest Email


    performing a sequence of LLM calls. These brokers usually obtain a activity from a consumer and make the most of instruments to successfully clear up the duty. Instruments are primarily capabilities that an agent can invoke. Nevertheless, constructing an agent is rather more than merely defining a set of instruments and offering them within the agent’s context. You could make cautious concerns of how your instruments are outlined, and which context you might be feeding to your agent

    The objective of this text is to focus on what to concentrate on when constructing instruments for AI brokers. Correct instruments are important for high-performing brokers, and I’ll thus make a deeper dive into agentic software utilization. I’ll cowl matters such pretty much as good software definitions and descriptions, and the optimum method to make instruments accessible to your agent.

    Why instruments are vital for AI brokers

    This infographic highlights the content material of the article. I’ll talk about why good instruments are important on your brokers. Then I’ll spotlight the way to outline correct instruments with clear naming and docstrings, in addition to the way to enhance the performance of your instruments. Lastly, I’ll additionally talk about how it is best to make your instruments accessible to your agent. Picture by ChatGPT.

    Having instruments accessible is a big a part of what makes brokers efficient. With out entry to instruments, the LLM wouldn’t have the identical choices, equivalent to performing web searches or discovering data in a database desk. The way you outline and make the most of your agentic instruments is thus important for the efficiency of your agent.

    There are numerous concerns to make when defining instruments on your brokers. From working with brokers myself, I discover that loads of these concerns additionally apply to people utilizing the instruments as properly, for instance:

    • Instruments needs to be well-defined with correct naming and descriptions
    • A software ought to have one particular objective
    • It is best to have correct kind definitions, each for what the software inputs and outputs

    Normally, I believe you possibly can come a good distance by following the precept quoted beneath. All instruments you create needs to be outlined in such a approach {that a} human finds it simple to know the software and the way it works.

    Instruments needs to be outlined in such a approach that it’s simple to make the most of for a human

    I discover that this precept applies so much when working in ML, for instance, additionally when analyzing the prompts you feed to your LLMs. It is best to at all times ask your self the query of whether or not a human can perceive the duty offered within the immediate. If not, the immediate must be clarified.

    Correct software definitions

    Correct software definitions are a easy enchancment you may make to your AI brokers. With correct software definitions, I consult with:

    • You’re instruments ought to have a transparent identify, representing the perform of the software
    • You’re instruments ought to have a well-descriptive docstring, together with a brief description of what the software does, an outline of all enter parameters together with their kind, and a definition of what the software returns

    I’ll first present a foul instance of a software, spotlight the problems, after which present an instance of a very good software definition.

    # dangerous software definition
    def search(question):
        outcomes = search_database() 
        return outcomes

    It is a dangerous software definition due to the next points:

    • The software naming isn’t descriptive. Search is ambiguous; it may, for instance, additionally consult with performing a semantic search
    • It’s lacking a docstring defining enter and output varieties, and what the software does
    • The software is lacking varieties for each enter and output parameters. The LLM using this software might be in a position to infer that the question is a string. Nevertheless, the mannequin should spend time understanding the output format as soon as it makes use of the software

    As an alternative, it is best to thus outline the software as follows:

    @dataclass
    class KeywordSearchResult:
        id: str
        filename: str
        document_content: str
        
    
    # good software definition
    def keyword_search(question: str) -> listing[KeywordSearchResult]:
        """
        Performs key phrase search within the database. 
    
        Enter parameters:
            question: str - the key phrases to seek for
    
        Output:
            A listing of all key phrase search outcomes, with every outcome containing:
                - id (str) - the id of the doc as outlined within the database
                - filename (str) - the filename of the doc
                - document_content (str) - the textual content contents of the doc
        """
        outcomes = search_databse()
        return outcomes

    On this instance, I made a separate knowledge class, representing the output format of the software. This makes it so much simpler on your agent to know how the software works, and can make it simpler to deal with the output. Moreover, I outlined a correct docstring, which accommodates a easy description of what the software does, and the enter and output parameters. I made the software identify extra particular by calling it keyword_search as a substitute of simply search.

    Making these easy enhancements to your instruments will yield giant will increase in your brokers’ efficiency. Nevertheless, there are additionally different strategies you possibly can apply to the way you outline your instruments, which makes your agent much more efficient.

    Instrument performance

    Persevering with on the subject of your software, you can too enhance agentic efficiency by making instruments extra particular and offering the mannequin with clear outputs from the instruments. I’ll proceed with the key phrase instance to specify what I imply.

    Making particular instruments

    Instruments needs to be as particular as potential. Creating imprecise instruments makes it tougher for the mannequin to know when to make the most of the software. You’ll subsequently extra typically encounter the mannequin incorrectly using the software. This might, for instance, be:

    • Utilizing the software at incorrect instances. For instance, utilizing keyword_search when it needs to be utilizing semantic_search
    • Utilizing the mannequin with incorrect parameters
    • Incorrectly dealing with the output of the software

    Your instruments ought to thus at all times have a transparent, singular objective.

    Present clear outputs

    One other method to significantly enhance the standard of your brokers’ instruments is to supply the agent with a clear output. This implies parsing the outcomes inside the software right into a string that’s structured in a simple approach for the agent to know. I’ll once more describe this utilizing an instance beneath.

    I’ll make a _parse_keyword_search_output software that takes within the key phrase search outputs and parses them right into a structured string. On this instance, I additionally embrace that the KeywordSearchResult accommodates some pointless outcomes. These outcomes are naturally excluded after we parse the output.

    @dataclass
    class KeywordSearchResult:
        id: str
        filename: str
        document_content: str
        uneccesary_field_a: str
        uneccesary_field_b: str    
    
    def _parse_keyword_search_output(keyword_search_results: listing[KeywordSearchResult]) -> str:
        """Parse the output from the key phrase search software, right into a structured string, solely containing essential data"""
        output_string = ""
        tot_num_documents = len(keyword_search_results)
    
    
        for i, lead to enumerate(keyword_search_results):
            document_id, filename, document_content = outcome["id"], outcome["filename"], outcome["document_content"]
            output_string += f"""nn
                                Doc {i+1}/{tot_num_documents}:
                                    ID: {document_id}
                                    filename: {filename}
                                    content material: {document_content}
                            """
        return output_string
        
      def keyword_search(question: str, url: str) -> listing[KeywordSearchResult]:
        """<docstring>"""
        outcomes = search_databse()
        return parse_results(outcomes)
    

    Parsing the output like this makes it a lot simpler for the agent to deal with the outputs of the key phrase search software. Keep in mind to make sure that the docstring of the keyword_search software describes the output format that the parse key phrase search software will present.

    Keep away from returning all outcomes

    When utilizing instruments equivalent to key phrase search, the instruments can generally return a whole bunch, if not 1000’s, of outcomes. This may instantly bloat the context of your agent. To stop this, it is best to add choices to type the outputs of the software and to solely return a most variety of gadgets, as I spotlight within the instance beneath:

    def keyword_search(question: str, url: str, sort_ascending=True, max_return_items=10) -> listing[KeywordSearchResult]:
        """<docstring>"""
        
        outcomes = search_databse()
        if sort_ascending:
            outcomes = type(outcomes, ascending=True)
        else:
            outcomes = type(outcomes, ascending=False)
    
        outcomes = parse_results(outcomes)
    
        if max_return_items < len(outcomes):
            return outcomes[:max_return_items]
        return outcomes

    Normally, it’s sufficient for the mannequin to see the highest 10 or 20 outcomes, to each fetch essentially the most helpful data (in key phrase searches the highest outcomes are normally essentially the most related ones), and to know the format of the output

    Informative error dealing with

    Informative error dealing with is a important failsafe to have in place when your brokers inevitably encounter points. This concern will be brought on by:

    • The agent incorrectly makes use of a software, through which case it is best to inform the agent why it used the software incorrectly, and doubtlessly additionally the way to repair it
    • An API fails due to a third-party supplier. During which case, you would possibly inform the mannequin to both wait or inform the consumer of the difficulty
    • Lacking packages, through which case it is best to inform your agent to put in the required packages
    def keyword_search(question: str, url: str) -> listing[KeywordSearchResult]:
        """<docstring>"""
        attempt:
            outcomes = search_database()
            return parse_results(outcomes)
        besides RatelimitError as e:
            elevate RuntimeError(
                f"Fee restrict error: {e}. "
                f"Wait earlier than retrying. If this error persists, contact assist."
            )
        besides APINotAvailableError as e:
            elevate RuntimeError(
                f"API not accessible: {e}. "
                f"Examine that the offered URL is right and the endpoint is operational."
            )
        besides Exception as e:
            elevate RuntimeError(
                f"Surprising error: {e}. Please attempt once more."
            )
    

    This informative error dealing with makes it a lot simpler on your agent to deal with the state of affairs the place a software fails. It is best to, basically, guarantee the next in your error dealing with:

    • You come a descriptive error message, together with each the error hint and a string describing the error
    • It is best to ideally inform the agent the way it ought to act after receiving this error. For instance, if the mannequin encounters the speed restrict error, it ought to run time.sleep() if it’s the primary time it’s encountering this error, else it ought to inform the consumer.

    Make instruments accessible to your brokers

    Now that you’ve got each purposeful and correctly outlined instruments, it’s time to make them accessible to your brokers. There are, nevertheless, nonetheless some concerns to make when offering your agent with instruments.

    • What number of instruments match into the context?
    • When to make instruments accessible?
    • Tips on how to make instruments accessible within the context?

    To the primary bullet level, I believe it’s vital to contemplate what number of instruments it is best to repair in your context. Offering the agent with too many instruments makes it laborious for the agent to know when to make use of which instruments, and thus, the mannequin will wrestle with successfully using the instruments. It is best to thus assessment your instruments and think about in the event that they’re all essential on your agent to carry out properly.

    Persevering with on this matter, you might also think about when to make instruments accessible. For instance, the keyword_search software may not be related when the agent is performing easy summarisation duties for the consumer. You may modify your agent’s context to make some instruments solely accessible when they’re related to make use of.

    Lastly, you must also think about the way you make instruments accessible. In your immediate, it is best to create a separate part on your instruments, both utilizing a markdown heading or a separate XML tag. It is best to then put all of your instruments and the descriptions for a way and when to make the most of your instruments on this part.

    Conclusion

    On this article, I’ve lined the way to work with instruments on your brokers. I’ve mentioned how instruments are crucial side for AI brokers, which permits them to be as efficient as they’re. Moreover, I additionally mentioned the way to create correct software definitions and the way to create specialised instruments. I consider working together with your instruments, bettering how they’re outlined and the way your agent makes use of them, is crucial side you possibly can spend time on when working in your AI agent.

    👉 Discover me on socials:

    🧑‍💻 Get in touch

    🔗 LinkedIn

    🐦 X / Twitter

    ✍️ Medium

    You may as well learn a few of my different articles:



    Source link

    Share. Facebook Twitter Pinterest LinkedIn Tumblr Email
    Previous ArticleRemembering Professor Emerita Jeanne Shapiro  Bamberger, a pioneer in music education | MIT News
    Next Article Beyond Requests: Why httpx is the Modern HTTP Client You Need (Sometimes)
    ProfitlyAI
    • Website

    Related Posts

    Artificial Intelligence

    Three OpenClaw Mistakes to Avoid and How to Fix Them

    March 9, 2026
    Artificial Intelligence

    I Stole a Wall Street Trick to Solve a Google Trends Data Problem

    March 9, 2026
    Artificial Intelligence

    Why Your AI Search Evaluation Is Probably Wrong (And How to Fix It)

    March 9, 2026
    Add A Comment
    Leave A Reply Cancel Reply

    Top Posts

    What is Facial Recognition? How does it works?

    April 5, 2025

    Vibe Coda AI-appar i Google AI Studio

    October 28, 2025

    Drift Detection in Robust Machine Learning Systems

    January 2, 2026

    OpenAI’s new LLM exposes the secrets of how AI really works

    November 13, 2025

    Dia en ny öppen källkods text till tal-modell

    April 24, 2025
    Categories
    • AI Technology
    • AI Tools & Technologies
    • Artificial Intelligence
    • Latest AI Innovations
    • Latest News
    Most Popular

    A Billion Dollar Partnership Signals New Era

    December 16, 2025

    GPTHuman vs HIX Bypass: AI Humanizer Showdown

    February 3, 2026

    China Unveils World’s First AI Hospital: 14 Virtual Doctors Ready to Treat Thousands Daily

    May 7, 2025
    Our Picks

    Three OpenClaw Mistakes to Avoid and How to Fix Them

    March 9, 2026

    I Stole a Wall Street Trick to Solve a Google Trends Data Problem

    March 9, 2026

    How AI is turning the Iran conflict into theater

    March 9, 2026
    Categories
    • AI Technology
    • AI Tools & Technologies
    • Artificial Intelligence
    • Latest AI Innovations
    • Latest News
    • Privacy Policy
    • Disclaimer
    • Terms and Conditions
    • About us
    • Contact us
    Copyright © 2025 ProfitlyAI All Rights Reserved.

    Type above and press Enter to search. Press Esc to cancel.