An AI tool is a skill or capability that the Thunk.AI platform gives an AI agent to extend what it can do, to bring in information it doesn't have, or for it to record its work. Instead of responding to an instruction with a message, an AI agent can respond by invoking an AI tool with appropriate parameters. You can think of a tool invocation as a structured response from the AI agent. Thunk.AI makes extensive use of tool invocations as the primary mechanism for AI agents to respond.
Usually, AI tools are used to connect an AI agent to the rest of the business work environment and the other applications and data in that environment. Some tools are used to fetch information (eg: search a company database) while other tools perform actions (eg: create new documents or update external systems).
Most designers of thunks do not have to build tools from scratch. Instead, many common tools are provided in out-of-the-box libraries, and others are automatically imported by setting up connections to other applications. Read more about AI Tool Libraries here.
β
In each thunk, the designer (with the help of their AI agent) can also create custom AI tools (eg: to connect to specific enterprise systems or databases). There are four categories of custom AI tools: API tools, database tools, code-based tools, and intelligent tools.
API Tools
API tools that can invoke any REST API using HTTPS. The API tools can utilize connection credentials that have been saved at the account level. This ensures that connection credentials do not have to be repeated in every tool.
API tools have completely deterministic behavior and act as an interface between the intelligent logic of a thunk and traditional software systems.
Database Tools
Database query and update tools that invoke any SQL commands with a database connection. A variety of database connection types are supported.
Database tools have completely deterministic behavior and act as an interface between the intelligent logic of a thunk and traditional database systems which hold a lot of enterprise data and context.
Code-based Tools
Code-based tools that implement logic using deterministic Typescript code. This code is hosted in a safe sandbox. Such code-based tools are useful for special-case modular logic that requires the complexity of traditional code. Often, these tools are used to parse a complex data payload coming from another system.
Intelligent Tools
Intelligent tools combine natural language instructions with existing tools to build nested AI logic wrapped into the form of a tool. This is a powerful and modular way to construct AI applications.
β
Each intelligent tool has its own AI instructions (prompts, tool configuration, etc) and runs as an independent AI agent on each invocation. Since the same tool can be used in different steps of a thunk, this becomes a mechanism to define and reuse modular AI logic. Since tools can also be exported from the thunk in the form of an exported tool library, it adds greater power to reuse modular AI logic across multiple thunks.