# Deciding what to build — four shapes of app with agents in it

> Start from what the app is for, not from the kits. There are four shapes: an assistant for one person, work done for people with approvals, agents inside a business process, and a team of agents with a coordinator. Each takes the one before it and adds a kit and a decision or two. Pick the smallest shape that fits; an app can grow from one to the next without being rewritten.

<!-- id: agent-guide-deciding · area: agent · stability: preview · html: https://osysharp.com/reference/agent/guide-deciding/ -->

> **You are here:** [Building with agents](https://osysharp.com/reference/agent/guide/) › Deciding what to build

## Summary        {#summary}
Ask one question first: **who is the agent's work for, and who has to agree to it?** The answer is one of four
shapes. Each has a page with the smallest working app for it, and each app is the one before it, grown.

| Shape | In one sentence | It takes |
|---|---|---|
| [[agent-guide-assistant\|1. An assistant for one person]] | Somebody asks; the agent does a typed job with the app's own functions; the answer comes straight back. | [[agent-kit-llm\|Llm]], [[agent-kit-agents\|Agents]] |
| [[agent-guide-approvals\|2. Work for people, with approvals]] | The agent does part of the job alone and proposes the rest; a person approves in their inbox. | + [[agent-kit-human-requests\|HumanRequests]], [[agent-kit-work-queues\|WorkQueues]] |
| [[agent-guide-process\|3. Agents inside a business process]] | A process with fixed steps runs for days; some steps are an agent's, some a person's. | + a workflow, [[agent-kit-processes\|Processes]] |
| [[agent-guide-team\|4. A team with a coordinator]] | One agent is in charge and hands typed pieces to specialists, side by side. | nothing new |

## Description    {#description}

### How do I tell which shape I have?   {#which}
Three questions, in this order:

1. **Does anything the agent does need a person's yes first?** No: [shape 1](https://osysharp.com/reference/agent/guide-assistant/). Yes: at
   least [shape 2](https://osysharp.com/reference/agent/guide-approvals/).
2. **Is the agent's work one step of something longer, with fixed steps and other people in it?** Yes:
   [shape 3](https://osysharp.com/reference/agent/guide-process/).
3. **Is one job really several jobs, for different specialists, that can be done at the same time?** Yes: add
   [shape 4](https://osysharp.com/reference/agent/guide-team/). It combines with any of the others: a process step can be a coordinator.

There is a fifth thing that is not a shape but a container: when nobody can write the steps down in advance, and
somebody simply owns an outcome until it holds, use an [[agent-guide-glossary#assignment|assignment]]. See
[[agent-guide-choosing#assignment-or-process]] and [the delivery story](https://osysharp.com/reference/agent/story-delivery/).

### What stays the same in every shape?   {#same}
- An agent is a class with an account of its own. See [Writing an agent — a class with a purpose, skills and an account of its own (Agents kit)](https://osysharp.com/reference/agent/agents/).
- A job is a class too: typed in, typed out, checked. Its tools are your app's own functions. See [A skill — a typed job an agent can be given, its check and its tools (Agents kit)](https://osysharp.com/reference/agent/skills/).
- When it works for a person it never does more than that person may. See [[agent-ask#for]].
- Every piece of work has a hard limit in money, a [[agent-guide-glossary#receipt|receipt]] and a
  [[agent-guide-glossary#record|record]]. See [What an agent may spend — a hard limit on every piece of work (Agents kit)](https://osysharp.com/reference/agent/budgets/) and [The receipt and the record — what every piece of an agent's work leaves (Agents kit)](https://osysharp.com/reference/agent/task-log/).
- It is tested without a model, for nothing. See [Testing an agent without a model — Says, AgentScript and Trajectory (Agents.Testing kit)](https://osysharp.com/reference/agent/testing/).

### What do I decide, whatever the shape?   {#decide}
Six things, in this order. Each has a default, so the smallest app decides very little.
[The six decisions](https://osysharp.com/reference/agent/guide-decisions/) takes them one at a time.

1. Who the agent acts as, and for whom.
2. What it may do alone, what it proposes, what it never does.
3. What it costs, and who pays.
4. Who answers its questions, and where.
5. Who supervises, who teaches, who audits.
6. What is kept, and what is erased.

### Can I grow from one shape to the next?   {#grow}
Yes, and the four example pages do exactly that with one app, a small translation bureau:

| Page | What the bureau's app gains | Lines marked `NEW` |
|---|---|---|
| [Shape 1 — an assistant for one person](https://osysharp.com/reference/agent/guide-assistant/) | an agent that prepares a commission | the whole app |
| [Shape 2 — work done for people, with approvals](https://osysharp.com/reference/agent/guide-approvals/) | it proposes a fee; the manager approves in his inbox | three kits, one tool, one line on the agent |
| [Shape 3 — agents inside a business process](https://osysharp.com/reference/agent/guide-process/) | preparing becomes a step of a process; a person takes over when it fails | a workflow, a process class |
| [Shape 4 — a team of agents with a coordinator](https://osysharp.com/reference/agent/guide-team/) | a coordinator hands terms and pricing to two specialists | two agents, one `Delegates` |

Nothing written for an earlier shape is thrown away by a later one.

## What to read next   {#read-next}
- [Shape 1 — an assistant for one person](https://osysharp.com/reference/agent/guide-assistant/) — start here: the smallest app with an agent in it
- [The six decisions — what you say about an agent, and what holds if you say nothing](https://osysharp.com/reference/agent/guide-decisions/) — the six decisions, each with its default and its line of code
- [Choosing — I want X, so use Y, not Z, because](https://osysharp.com/reference/agent/guide-choosing/) — "I want X: use Y, not Z, because"

## Go deeper   {#see-also}
- [Agents (a class with a job, its own account, a budget and a record)](https://osysharp.com/reference/agent/index/) — the reference pages, by subject
- [Writing an agent — a class with a purpose, skills and an account of its own (Agents kit)](https://osysharp.com/reference/agent/agents/) — the agent class
- [The map of the kits — which sits on which, and what each one is for](https://osysharp.com/reference/agent/guide-kits/) — the map of the kits
