Agent 与多代理
Agent 是什么
Agent 是平台中执行任务的基本单位。每个 Agent 具备:
- 角色与系统提示词 — 定义目标与行为约束
- 可调用的工具(Tools) — 内置原子工具 + 当前激活的 Skill
- 上下文(Context) — 会话历史、记忆检索、外部资料
- 模型后端(Model) — 按任务特性路由到不同 LLM 供应商
- Ledger(账本) — 逐步记录每一步的决策、工具调用、结果、置信度
两类 Agent
平台里同时跑着两类 Agent,各司其职:
| 类型 | 角色 | 机制 |
|---|---|---|
| Orchestrator(编排 Agent) | 看懂任务、拆分、调度子 Agent、判断完成 | 双循环(外循环 Epoch / Plan + 内循环 Round / Ledger) |
| Assistant(子 Agent) | 按分派的子任务独立执行 | 支持并行 Spawn,各自独立上下文,结果回传给 Orchestrator |
Orchestrator 双循环
Rendering diagram…
- 外循环 — 制定 / 调整 Plan,决定阶段性目标
- 内循环 — 在一个 Plan 阶段内多 Round 推进,每 Round 写 Ledger
- Ledger — 所有推进都落账,支持事后回放 / 审计 / 验证
Sub-agent 并行
复杂任务由 Orchestrator 并行 Spawn 多个 Assistant:
- 每个 Assistant 有独立上下文(节省主 Agent 的 token)
- 互相不可见(避免串扰)
- 结果通过结构化格式回传给 Orchestrator
典型场景:
- 10 个文档同时解析 → 10 个 Assistant 并行
- 大项目追溯:需求模块并行拉 → 各自建候选链接 → Orchestrator 汇总
Multi-Agent 协同机制
| 机制 | 说明 |
|---|---|
| Delegation 委派 | 自顶向下分发任务;Orchestrator → Assistant |
| Graft 嫁接 | 平行会话之间引用成果(详见 Graft 技能) |
| Hook 协同 | 通过 Hook 在关键节点注入共享约束 |
| Memory 共享 | 通过 MemoryOS 跨 Agent 共享 KB / LTM |
Ledger:可审计可回放
Ledger 是 Orchestrator 的"执行账本",每一步写一行:
用途:
- 事后审计 — 出问题时能精确还原每一步
- 成本核算 — 按 Round 看 token / 时长
- 自我校验 — 低置信度步骤自动触发回溯或请求用户确认
相关文档
- 📖 Session 会话 — Ledger 依附在 Session 上
- 📖 Skill 技能体系 — Agent 的可扩展能力
- 📖 Graft 跨会话嫁接
- 📖 Observability 可观测 — Ledger 如何被可视化
- 🧩 源码入口:
AgentFlow/src/orchestrator/、AgentFlow/src/assistant_agent/