> For the complete documentation index, see [llms.txt](https://seekspeed.gitbook.io/seekspeed-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://seekspeed.gitbook.io/seekspeed-docs/agents/profiles.md).

# Agent Profiles

An **agent profile** is the unit under test. It bundles every variable that influences performance so you can change one at a time and measure the delta.

```ts
type AgentProfile = {
  id: string;
  name: string;
  systemPrompt: string;
  connectorId: string;     // which endpoint + model
  tools: ToolRef[];        // tool descriptors (count + complexity affect tokens)
  memory: "ephemeral" | "rolling" | "vector";
  tokenBudget: number;     // max_tokens cap for output
  tags: string[];          // free-form, for filtering
};
```

## Why profiles, not raw config

Two reasons:

1. **Reproducibility**. A run records `agentId`, not a snapshot of the prompt. Re-running with a tweaked prompt requires a *new variant agent*, which the optimization engine can synthesise automatically. You always know exactly which configuration produced which numbers.
2. **A/B fairness**. To compare `gpt-4o-mini` vs `deepseek-v3` on the same task, clone the agent, swap the connector, run both, then ask SeekSpeed for a Welch's *t*-test. The framework makes the cloning explicit.

## Variants

When you click **Apply** on a recommendation, the engine creates a child agent:

```ts
const variant: AgentProfile = {
  ...base,
  id: crypto.randomUUID(),
  name: `${base.name} (slim prompt)`,
  systemPrompt: rec.apply(base.systemPrompt),
  tags: [...base.tags, "variant", `from:${base.id}`],
};
```

Variants live alongside their parent in the agents list with a `variant` tag chip so you can filter to "show me only the experimental forks".


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://seekspeed.gitbook.io/seekspeed-docs/agents/profiles.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
