Agent 系统
Agent 是 Agent Spaces 的核心执行单元。不同的 Agent 角色各司其职,通过 Workflow 编排协同完成开发任务。
Agent 角色
系统定义了四种内置 Agent 角色,并支持自定义角色:
agent
通用执行者。接收任务后阅读代码、搜索上下文、修改文件、运行测试,完成实际的编码工作。这是最常用的角色。
scheduler
调度者。接收新议题后,判断需要哪些角色参与,并按 Workflow 定义的顺序唤醒对应的 Agent。
task_creator
任务创建者。将计划同步为系统中的任务,设定依赖关系和执行顺序。
bot
外部集成角色。通过飞书或企业微信与外部用户交互,接收命令并返回执行结果。
自定义角色
除了内置角色外,你还可以创建自定义角色的 Agent,满足特定的业务需求。例如创建一个专门做代码审查的 Agent,或专门生成文档的 Agent。
兼容说明:旧版角色(planner、executor、reviewer、commit、custom)仍可使用,但不再是公开枚举。建议迁移到新的角色体系。
Agent 运行时
每个 Agent 基于特定的 AI 运行时运行:
| 运行时 | SDK | 适用模型 | 特点 |
|---|---|---|---|
| Claude Code | @anthropic-ai/claude-agent-sdk | Claude 系列模型 | 内置 Anthropic Bridge,支持通过 Claude Code SDK 调用非 Anthropic 模型 |
| OpenAI Codex | @openai/codex-sdk | GPT 系列模型 | 沙盒化执行环境 |
| Open Agent SDK | @codeany/open-agent-sdk | 多模型支持 | 通用 Agent SDK |
运行时通过工厂函数 createAgentRuntime() 按配置切换,无需修改代码即可更换 Agent 的底层运行时。
Agent 预设
Agent 预设(Preset)是 Agent 的配置模板。每个预设定义了:
- 角色 — Agent 担任的职责
- 运行时 — 使用的 AI 运行时
- 模型 — 具体的 AI 模型
- API Key — 模型访问凭证
- 系统提示词 — Agent 的行为指引
- 权限模式 — Agent 的操作权限(自动批准、需确认等)
- MCP 工具 — Agent 可使用的外部工具
- 技能 — Agent 掌握的特殊能力
- 沙盒目录 — Agent 可访问的目录范围
- 最大重试次数 — 执行失败后的重试策略
你可以在项目设置面板中配置 Agent 预设。同一个 Agent 角色可以创建多个预设,使用不同的模型或配置。预设支持导入/导出。
Workflow 驱动编排
Agent 通过 Workflow 实现自动化协作。创建一个 Workflow 模板,将多个 Agent 节点通过 DAG 拓扑连接:
- 在 Workflow 编辑器中拖入 Agent 节点
- 为每个节点绑定 Agent 预设
- 连线定义执行依赖
- Issue 选择 Workflow 后,系统自动映射为 Task 执行
详见 Workflow 编辑器。
Function Call Tools
Agent 通过 Function Call Tools 与系统交互,包括:
- 文件读写和搜索
- 代码编辑
- 终端命令执行
- Git 操作
工具层通过 AgentFunctionTool 抽象统一管理,不同运行时的 Agent 使用相同的工具接口。
实时状态
每一步的状态变更都通过 WebSocket 实时推送到前端,包括:
- Agent 执行状态(启动、运行中、完成、失败)
- 工具调用详情(输入参数、输出结果、代码 diff)
- Token 使用量统计
你也可以通过频道聊天中 @mention Agent 跳过 Workflow 编排,直接触发特定 Agent 执行。