---
title: Agent、角色与指引
summary: Agent 身份、Agent Home 以及定义 Agent 职责的指引机制。
order: 20
---

# Agent、角色与指引

Agent 是一个可寻址的执行实体，拥有独立的身份、指引、记忆和工作状态。你可以从不同客户端连接同一个 Agent，而无需重新创建身份。聊天窗口只是与它交互的一种方式，Agent 本身由运行时统一管理。

例如，一个负责审查代码的 Agent 今天审查了一处改动，明天仍能根据已保存的工作记录回答追问。不过，仅有身份并不能让审查持续推进；要继续工作，还需要一个可运行的目标，或在等待外部事件唤醒的明确等待记录。

## 身份与职责

Agent ID 用于接收消息并标识运行时状态的归属。角色则界定该 Agent 应当承担的工作。单把 Agent 命名为 `reviewer`，并不会自动赋予它审查指令、代码仓库访问权限或批准 Pull Request 的授权。

当一项职责需要长期积累上下文时（例如文档维护），适合使用持久 Agent；如果是边界明确的短期委托（例如检查某一目录下的死链），则更适合使用受监督的子 Agent。父 Agent 始终负责验收子 Agent 的交付物并处理资源清理。详见[多 Agent 协作](./multi-agent-collaboration.md)。

## Agent Home 的职责范围

Agent Home 保存 Agent 专属的持久文件。其中的 `AGENTS.md` 规定了 Agent 的角色定位、日常职责与升级边界；精心维护的记忆文件记录稳定的用户偏好与关键事实；工作笔记保存更长的参考资料；运行时接管的记录则保存工作项与执行证据。

项目代码与仓库约定属于项目[工作区（Workspace）](./workspaces.md)。一个在两个代码仓库中工作的审查 Agent，可以把通用的审查职责留在 Agent Home，而由各仓库自行提供构建命令与贡献规则。将两者解耦，能避免某个项目的约定意外污染其他项目。

## 指引的组合机制

运行时加载的指引明确了 Agent 在授权范围内的行动方式：

- Agent 自身的 `AGENTS.md` 定义其长期角色。
- 工作区指引定义当前项目的本地约定。
- 操作者发来的当次指令定义当前任务及其验收目标，且受更高优先级的运行时约束制约。
- 匹配到特定任务时，[Skill（技能）](./skills-and-tools.md)提供具体的操作工作流。

这些指引来源拥有清晰的作用域与优先级。项目规则要求运行测试，并不意味着操作者要求只读审查时 Agent 可以执行发布；调研期间打开的普通文件，也不会具备指引文件的同等权威。详见[信任边界](./trust-boundaries.md)。

[Agent 模板](./agent-templates.md)用于初始化新 Agent 的角色与可选 Skill。Agent 一旦创建，便拥有独立的文件和历史记录。如果需要调整已有 Agent 的职责，应直接更新其指引文件，而不是尝试将模板覆盖到已有状态上。

## 生命周期与边界

Agent 在空闲或等待时，其身份与工作记录依然完好可用。关闭客户端窗口不等于停止 Agent 或关闭守护进程。删除 Agent 是一项独立的生命周期操作，不能当作关闭对话的手段；清理前务必检查未完成的工作与所有权归属。

通过 Web GUI、API 或 `holon agent create` 创建未指定初始消息的 Agent 时，运行时会自动调度一轮默认引导初始化（bootstrap initialization turn），生成第一条引导对话以确保首次会话界面就绪；单次命令行运行（run_once）则保持静默，直接接收操作者的首条提示。

持久身份并不等于无限的记忆上下文。每次模型调用所能容纳的上下文都有上限；即使工作目标跨轮次保留，意外中断的命令仍然可能需要专门的恢复步骤。[上下文连续性](./context-continuity.md)对此做了详细说明。

## 下一步

- [使用模板创建 Agent](../guides/create-agent.md)
- [定制已有 Agent](../guides/customize-agent.md)
- [Agent 与生命周期命令](../reference/cli.md)
- [Agent 状态规格](../spec/agent-state.md)
