Turn any LLM into a Powerful Assistant™ (Part 1: All About Tools)
From Gordon Ramsay to computers with hammers: discovering how LLMs are so damn smart (non-technical).
Have you ever heard of Eliza? It was probably the first version of something resembling an LLM: a pattern-matching simulation of a psychotherapist.

If you look at LLMs today, they’re so much more capable, it almost seems unfair to even compare something like GPT-5 to Eliza. GPT-5 can search the web, access your files, write and understand code across multiple codebases & much more; while Eliza just gave responses that were… generic and mundane.
The underlying architecture, from a bird’s eye view, is pretty much the same. Both Eliza and GPT-5:
Convert text into numbers
Perform some sort of pattern recognition
Return an output based on message history
…except GPT-5 is approximately the size of a planet, while Eliza would fit on the equivalent of a strand of hair.
Then what’s changed? (except size)
What’s the difference between a professional and novice? A professional knows the right tool for the job, and how to use it.
Similarly, GPT-5 has access to the right tools: functions that can browse the web, or read your Google Drive contents, or search across codebases. Based on your question, the model decides what tools to use (or whether to use tools at all).
Tools either provide models with the right context, or help the model perform actions in the real world. For example, a tool called Get Events could provide the model with a user’s scheduled calendar events, and a tool Create Event could let the model add an event to the user’s calendar.
Models know how to use hammers?
How do models use tools? Not like they can just use a mouse and keyboard, open up Chrome or Firefox and search for what they need.
The solution the community came up with was:
Give each tool a name (eg.
get_football_score
)Tell the model that this tool exists
If the model wants to use the tool, tell it to wrap it in some special character and include it in it’s response
Parse the model’s response and find & execute any tool calls
The model doesn’t need to know how the tool works, or what language it’s written in, or even whether the tool does what it’s supposed to do. All the models knows is: if i include get_football_score
in my response, I get the current football score.
Context is King
Imagine locking Gordon Ramsay in an empty room: no beds, no sofas, no kitchen equipment. You slip him a note through a door:
Despite being possibly the best chef in the world, Ramsay couldn’t possibly make the a sandwich in an empty room. He needs ingredients, pots, pans, and some junior chefs to yell at.
Context plays a similar role in the world of LLMs. You could take the smartest, most powerful model, that costs a billion dollars per minute to use, and it would be absolutely useless without the right context.
Conclusion
In essence, tools allow models to taste the sweet elixir of context. They allow the model to pick and choose the best context available, customized to the user. Tools connect different applications, and unify them for use by LLMs.
…And that’s all for part 1! If you enjoyed, make sure to do whatever it is you do on Substack: like (maybe), share (definitely) and subscribe (duh). The next part is going to be a more technical post on how I built a browser extension to give almost any LLM the power of tools. Stay tuned for that!