A Tool Framework for AI Agents
Project description
Toolshop
A Tool Framework for AI Agents
Description
Toolshop is a general framework for developing tools used by LLM Agents. The
library ships with a standard set of tools that can be used by agents that
support tool-calling. Additionally, build your own custom tools by extending the
Tool
class. By developing your tools with Toolshop, your tools inherit several
helpful features.
- Configuration: Toolshop tools are classes, not functions. This enables users to configure their tools for a particular session before passing them to the agent.
- Confirmations: Toolshop makes it easy to add required user confirmations to tool calls. Examples might include an agent editing sensitive files or provisioning cloud resources.
- Constraints: Tools can share state. This allows users to enforce constraints that require more context than the tool call arguments alone. Examples might include prevention of multiple parallel edits to the same file, requiring file reads before file edits, and cost-based limits on tool usage.
Quick Start
Toolshop ships with a text-based assistant equipped with all of Toolshop's tools and designed for developer productivity.
To install and chat, run:
pip install toolshop
ts chat
Python Usage
from toolshop import all_tools
from marvin.beta import Application
app = Application(
tools=all_tools()
)
app.say("Write mergesort.py")
app.say("Test mergesort.py")
Motivation
Toolshop seeks to provide a tool development platform for AI engineers. The motivation for this project is the belief that tool development is the best place for AI developers to invest their time. Conversely, time spent augmenting the reasoning and planning of existing assistant services is a risky area to invest as a 3rd party developer. This is simply because the reasoning and planning capabilities of agentic AI, offered "out of the box" by companies such as OpenAI and Anthropic, will continue to improve over time. Focusing development time on enhancing these capabilities is potentially risky, as improvements to the base assistant services themselves will quickly render this work obsolete.
The shift of companies like OpenAI and Anthropic away from simple text-completion models towards tool-enabled chat assistants abstracts more from the user, thereby increasing the surface area for AI R&D. We should expect these companies to continually improve their flagship assistant services, with enhancements in reasoning and planning being obvious avenues for development.
In contrast, tool development seems like a safe area for investment, and Toolshop provides a solid foundation for this purpose. An agent will always require a means to affect its environment or access information it was not trained on. The tool-calling paradigm has emerged as a simple and effective pattern to support these needs. Smarter models are able to use tools more correctly and efficiently, so investments in solid tools will pay dividends as models improve. Additionally, by enforcing guardrails in the tools rather than in the process, the planning and reasoning process native to the underlying agent remains unhindered.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file toolshop-0.1.4.tar.gz
.
File metadata
- Download URL: toolshop-0.1.4.tar.gz
- Upload date:
- Size: 14.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.2 CPython/3.11.8 Darwin/23.5.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ffe8ccbd38399545f33e7cb70933289ee82a09f8adb36ce1f39aa34a2a07a596 |
|
MD5 | 1bfdda0cf3ed0a6b8afac75f7961c6dc |
|
BLAKE2b-256 | 1881a7a1744ec71603b266252341ebd437458521af8d8adc55df1e7aaebcf20e |
File details
Details for the file toolshop-0.1.4-py3-none-any.whl
.
File metadata
- Download URL: toolshop-0.1.4-py3-none-any.whl
- Upload date:
- Size: 16.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.2 CPython/3.11.8 Darwin/23.5.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4d0d5f28f5fc95526b906b554e62b4f0e605a0d60ff94714918eefbbb2fb4a67 |
|
MD5 | 6bfaba2464830d0631dc9fc0c6506488 |
|
BLAKE2b-256 | 99bda426881bf3713b128786d20446f7aceaf51c7acdc32203d403fcd61e1c5b |