# Agents

> Write an agent, give it input, get a typed answer, choose its model, hold a conversation, give it memory and cap what a turn may spend.

These guides write an agent, give it its input and its model, hold a conversation with it, give it memory, and cap what it spends.

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, and calls tools until it has an answer. Then 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](https://docs.kindgi.com/v0.1.8/guides/agents/write-an-agent.md): the agent file, its instructions, tools and guardrails.
- [Give an agent its input](https://docs.kindgi.com/v0.1.8/guides/agents/give-an-agent-input.md): the user message, parameters for its instructions, and the input of a flow step.
- [Give an agent a typed answer](https://docs.kindgi.com/v0.1.8/guides/agents/typed-answer.md): an answer your code can read as fields, checked against a schema.
- [Choose the model an agent uses](https://docs.kindgi.com/v0.1.8/guides/agents/choose-a-model.md): capabilities, preferences, and the `dev-echo` fallback.
- [Hold a conversation](https://docs.kindgi.com/v0.1.8/guides/agents/conversations.md): continue a conversation turn by turn, read its history, close it.
- [Give an agent memory](https://docs.kindgi.com/v0.1.8/guides/agents/give-an-agent-memory.md): facts it reads before each turn, what it remembers, and its earlier conversations.
- [Memory reference](https://docs.kindgi.com/v0.1.8/guides/agents/memory-reference.md): what a fact holds, how memory reaches the model, search by meaning, who sees what, and the errors.
- [Erase a person's data](https://docs.kindgi.com/v0.1.8/guides/agents/erase-a-persons-data.md): clear an end user's words on request, and keep the erasure through a backup restore.
- [Set an agent's budget](https://docs.kindgi.com/v0.1.8/guides/agents/budgets.md): 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](https://docs.kindgi.com/v0.1.8/guides/agents/write-an-agent.md). Where a real model matters, the output is from Claude Sonnet 5.5, or on older captures Claude Haiku 4.5. Outputs on newer models differ in wording, not shape. The model is registered with `kindgi providers register --preset=anthropic`, as [Connect Anthropic](https://docs.kindgi.com/v0.1.8/guides/models/anthropic.md) shows. Without a model, `dev-echo` answers.
