A coding agent is just a tool-calling loop with the right tools. Give the modelDocumentation Index
Fetch the complete documentation index at: https://docs.opper.ai/llms.txt
Use this file to discover all available pages before exploring further.
read_file, write_file, and run_command, then keep calling it: as long as it returns tool calls, you run them and feed the results back. It writes code, runs it, reads the error, fixes it, and goes again until the task is done. Conversation state persists, so follow-up requests build on what it already did.
Notice the loop adapting: python wasn’t found, so it retried with python3; on the follow-up it read the existing file before writing the test. You don’t script either move, the model reacts to what the tools return.
The agent
How it works
- The model drives the loop. Each turn it either calls tools or returns a final answer. You run the tools, feed the results back, and loop while it keeps calling tools, no fixed step count.
- It recovers on its own. Tool output (including errors) goes straight back to the model, so it adapts: a failed command, a syntax error, a missing file. You don’t script the recovery.
- State persists.
messagesholds the whole history, so a follow-up like “now add a test” builds on the code the agent already wrote. - Three tools go a long way.
read_file,write_file, andrun_commandare enough to edit and test a project. Add more (search, git, HTTP) and the agent gets more capable. Swapmodelfor any of the 300+ models without touching the loop.
What’s next
Tool calling
The tool-use round trip this loop is built on.
Agents SDK
A batteries-included agent framework with tools, streaming, and multi-agent.
Conversations
Message history and multi-turn patterns.
Observe
Score the agent’s runs and catch regressions.