Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Docs - What's the difference between and Agent and a Tool? #622

Open
philwinder opened this issue Jul 11, 2024 · 1 comment
Open

Docs - What's the difference between and Agent and a Tool? #622

philwinder opened this issue Jul 11, 2024 · 1 comment

Comments

@philwinder
Copy link

Whilst reading the documentation and whilst writing some test scripts, I'm confused about the abstraction and the implications of Agents vs. Tools.

For instance, Agents aren't documented: https://docs.gptscript.ai/tools/gpt-file-reference, so I had assumed that the examples in the docs that were using Agents was some depreciated synonym for tools. But then I found some references in the codebase saying that agents are like top-level things with tools. So generally not too clear.

But then I did some development and I found quite major differences when simply swapping out the word Agents for Tools in a GPT script.

For example, I was experimenting with routing, and I found that if in a prompt you tell it to never use an agent, it totally ignores you and does it anyway. But change it to a Tool and it does what it is told.

So now I'm fairly sure that they are distinct things, but I don't know how or why.

So basically this is a request for a bit of documentation to help me understand. Thanks!

@cjellick
Copy link
Contributor

Great question. We'll definitely clear this up. We've kind of been experimenting with these terms a lot recently, so you're uncovering our inconsistencies here.

I'm just triaging issues right now, so i cant get into an in-depth answer, but ill make someone follows up and clarifies our docs. A short answer:

The Agent or Agents directive means that any tools listed there automatically have access to all the other tools listed there. So, it creates a group of tools that can call each other.

The Tool or Tools directive doesn't create that "group". The tools listed there have no knowledge of each other.

Hope this helps. It still feels confusing to me. We'll fix up the docs to make this more clear.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants