Coding Agents like Claude Code have improved a lot in the last 3 to 6 months.
While doing that, I started to wonder how this system actually works.
How does this thing work?
So I wrote down some notes from what I found.
Until recently, using AI for development mostly meant things like:
LLMs have become much smarter too.
Then things started to change with the release of Opus 4.5.
Coding Agents like Claude Code can read code, make plan, and implement changes by themselves when you give instructions in the CLI.
If there is an error in test or lint, they can read the logs and fix it.
Now many companies have their own Coding Agents, such as Claude Code, Codex, GitHub Copilot, Cursor, and OpenCode.

So how do these agents work by themselves?
It is usually a loop like this:
👩🏻💻 The agent -> 🤖 The LLM:
🤖 The LLM -> 👩🏻💻 The Agent:
This loop continues until the task is done.
So what kind of tools can Coding Agents use?
In general, many agents have tools like these:
For example, Claude Code Agent SDK defines the following tools:
https://platform.claude.com/docs/en/agent-sdk/typescript#tool-input-schemas
One of the most important parts is search.
For example, imagine you ask the agent to add a description feature to a todo app.
In that case, the agent needs to find which files are related to the todo feature and give them to the LLM.
If the codebase is very small, you can pass everything to the LLM.
But if it is not small, the choice of which files to include as context can greatly change the result.
There are a few common ways to do this:
glob and grepIn many cases, this already works very well.
Keyword search is all you need:
https://www.amazon.science/publications/keyword-search-is-all-you-need-achieving-rag-level-performance-without-vector-databases-using-agentic-tool-use
Cursor also probably uses extra features like these, especially to make tab completion faster:
To learn how Coding Agents work, I made a mini mini (about 1000 lines of code) it by myself.
https://github.com/andraindrops/micoli
I would be happy if you give me feedback 💌