Agents
An agent is data: instructions, the tools it may call, the guardrails on its answer, what its model must support, and a budget. Each run of an agent is one turn: the model reads the instructions and the user's message, calls tools until it has an answer, and the answer is checked and stored. A turn is a run like any other, with a journal of every model call and tool call.
- Write an agent: the agent file, its instructions, tools and guardrails.
- Give an agent its input: the user message, parameters for its instructions, and the input of a flow step.
- Give an agent a typed answer: an answer your code can read as fields, checked against a schema.
- Choose the model an agent uses: capabilities,
preferences, and the
dev-echofallback. - Hold a conversation: continue a conversation turn by turn, read its history, close it.
- Set an agent's budget: steps, cost and time per turn, and what happens when a turn runs out.
The examples use a pack named acme (from the sample template) with one more
tool, acme.lookup-order, shown on Write an agent. Where a
real model matters, the output is from Claude Haiku 4.5, registered with
kindgi providers register --preset=anthropic (see
Connect Anthropic). Without a model, dev-echo
answers.