Remix.run Logo
tptacek 7 days ago

Ordinarily:

   you> what's going on?
   > It's going great --- how can I help you today?
Tool calls:

   you> [json blob of available "tools": "ls", "grep", "cat"]
   you> what's going on?
   > [json blob selecting "ls"]
   (you) presumably run "ls"
   you> [json blob of "ls" output]
   > [json blob selecting "cat foo.c"]
   (you) dump "foo.c"
   you> [json blob of "cat foo.c"]
   > I can see that we're in a C project that does XYZ...
The key thing is just: tools are just a message/conversation abstraction LLMs are trained to adhere to: they know to spit out a standardized "tool call" JSON, and they know to have multi-round conversations with sets of different "tools" (whichever ones are made available to them) to build up context to answer questions with.

That's the whole thing.