Skip to content

🏗️ 系统架构与Agent注册表

本文档是多Agent编辑部的系统级架构说明,定义了所有Agent的注册信息、交互关系与信息流向规则。


1. 系统哲学

Agent 是无状态的一次性工人

在本框架中,每个 Agent 都被视为 无状态的一次性工人

  • 无记忆:Agent 不保留前次调用的任何上下文。每次启动都是一张白纸。
  • 无自主权:Agent 不决定自己何时工作、做什么。一切由主编排调度。
  • 可替换:任何 Agent 实例都可以被同类型的新实例替换,只要输入(File Pointers)相同,产出就应一致。

所有记忆存储在磁盘共享文件中

Agent 之间的"记忆传递"完全通过文件系统实现:

Agent A 产出 → 写入文件 → 主编排注入文件路径给 Agent B → Agent B 读取 → 获得"记忆"

这与现代微服务架构的理念一致:

  • 服务(Agent)本身无状态,状态存储在外部(文件系统)
  • 服务之间通过消息(File Pointers)通信,而非直接调用
  • 编排器(Orchestrator)负责服务发现与调度

主编排通过 File Pointers 注入上下文

File Pointers 是主编排控制 Agent 行为的核心机制:

主编排调用 Agent 时的 Prompt 结构:

  "你是 {{角色名称}}。请执行以下任务:{{任务描述}}。

   📂 必读文件:
   - {{文件路径1}}  ← 用途说明
   - {{文件路径2}}  ← 用途说明

   📝 输出要求:
   - 将结果写入 {{输出文件路径}}
   - 格式要求:{{格式说明}}"

File Pointers 的价值:

  • 精确控制信息范围:Agent 只看到它需要的信息,避免上下文窗口浪费
  • 明确读写边界:每个 Agent 知道自己能读什么、该写什么
  • 可追溯性:通过 File Pointers 清单,可以重建任何 Agent 调用时的完整上下文

2. Agent 注册表

核心创作组

编号名称角色隐喻Agent 类型职责详细文档
#0主编排 Orchestrator总导演general-purpose调度全流程,管理进度与依赖,通过 File Pointers 注入上下文→ 01-orchestrator.md
#1架构师 Architect技术总监general-purpose分析源码结构,设计章节大纲与知识图谱,规划章节间依赖关系→ 02-architect.md
#2读者代言人 Reader Advocate产品经理general-purpose从目标读者视角审核大纲,确保章节顺序符合学习曲线→ 03-reader-advocate.md
#3研究员 Researcher源码考古学家explore深度调研指定章节涉及的源码模块,产出结构化研究报告→ 04-researcher.md
#4作家 Writer畅销书作者general-purpose基于研究报告和风格指南撰写章节正文→ 05-writer.md

审查组

编号名称角色隐喻Agent 类型职责详细文档
R1源码审查员 Code Reviewer代码考据专家explore验证章节中每个代码引用的准确性:文件路径、函数签名、行为描述→ 06-code-reviewer.md
R2一致性审查员 Consistency Reviewer记忆管理员explore检查跨章术语统一性、数据一致性、交叉引用完整性→ 07-consistency-reviewer.md
R3内容审查员 Content Reviewer资深编辑general-purpose审核可读性、叙事结构、敏感内容,确保符合风格指南→ 08-content-reviewer.md

读者评审团

编号名称角色隐喻Agent 类型职责详细文档
RS大学生读者计算机专业大三学生general-purpose模拟初学者视角:标记看不懂的术语、缺失的背景知识、跳跃的逻辑→ 09-reader-panel.md
RE工程师读者8年经验全栈工程师general-purpose模拟专业开发者视角:评价技术深度、实用性、是否有新收获→ 09-reader-panel.md
RH爱好者读者无技术背景科技爱好者general-purpose模拟非技术读者视角:检验比喻是否生动、概念解释是否通俗→ 09-reader-panel.md

出版组

编号名称角色隐喻Agent 类型职责详细文档
#11装帧工人 Bookbinder排版设计师general-purposeMarkdown→HTML 转换,Mermaid 图渲染,ASCII 图→SVG 渲染,零依赖构建脚本→ 10-bookbinder.md
#12质检员 Quality Inspector出厂检验师general-purposeEPUB 产出物 7 项程序化质检(ZIP 结构 / XML 有效性 / SVG 颜色 / CSS 合规 / 标题一致 / 封面 / 导航),路由修复工单→ 11-quality-inspector.md

3. 交互关系图

                          ┌──────────────┐
                          │   👤 用户     │
                          │  审核 / 决策  │
                          └──────┬───────┘
                                 │ 指令/审核
                          ┌──────▼───────┐
                          │ 🎯 主编排 #0  │ ← 贯穿 Phase 1→5
                          │ Orchestrator │   SQL进度 + File Pointers
                          └──────┬───────┘
                                 │ 调度各Agent
  ═══════════════════════════════▼═══════════════════════════════
  ║         📂 共享文件系统(Agent间唯一通信通道)               ║
  ║  output/memory/ : chapter-summaries · glossary · metaphor-registry  ║
  ║  output/memory/ : source-map · cross-references · style-guide       ║
  ║  checkpoint · audit-log                                     ║
  ═══════════════════════════════════════════════════════════════

  ┌──────────────────────────────▼──────────────────────────────┐
  │                                                             │
  │  Phase 1  大纲定稿                                          │
  │  ┌──────────┐ ┌───────────┐                                 │
  │  │ 🏗️ #1    │ │ 👤 #2     │ ──→ 📖 R3 大纲审核             │
  │  │ 架构师   │ │ 读者代言人│                                 │
  │  └──────────┘ └───────────┘                                 │
  │       ↓                                                     │
  │  Phase 2  共享资源构建(Orchestrator 直接生成)              │
  │       ↓                                                     │
  │  Phase 3  逐章写作 ×{{章节数}}章                             │
  │    Step 1   🔬 #3 研究员 ─────── 源码调研                   │
  │       ↓                                                     │
  │    Step 2   ✍️ #4 作家 ───────── 章节撰写                   │
  │       ↓                                                     │
  │    Step 3   ┌──────┬──────┬──────┐  三员并行审查             │
  │             │🔬 R1 │🔗 R2 │📖 R3 │                         │
  │             │源码   │一致  │内容   │                         │
  │             └──────┴──────┴──────┘                          │
  │       ↓                                                     │
  │    Step 4   ┌──────┬──────┬──────┐  三人并行评审             │
  │             │🎓 RS │💻 RE │🌐 RH │                         │
  │             │大学生│工程师│爱好者│                         │
  │             └──────┴──────┴──────┘                          │
  │       ↓                                                     │
  │  Phase 4  统稿与最终审计(Orchestrator + 审查组复审)        │
  │       ↓                                                     │
  │  Phase 5  HTML装帧与发布                                    │
  │  ┌─────────────┐                                            │
  │  │ 📚 #11      │  Markdown→HTML · ASCII→SVG                │
  │  │ 装帧工人    │  零依赖构建脚本                            │
  │  │ Bookbinder  │                                            │
  │  └──────┬──────┘                                            │
  │         │ EPUB产出物                                        │
  │  ┌──────▼──────┐                                            │
  │  │ 🔍 #12      │  7项程序化质检                             │
  │  │ 质检员      │  ZIP/XML/SVG颜色/CSS/标题/封面/导航        │
  │  │ Inspector   │  路由修复工单 → #11 或 #4                  │
  │  └─────────────┘                                            │
  └─────────────────────────────────────────────────────────────┘
  图例: #N = Agent编号  R1/R2/R3 = 审查员  RS/RE/RH = 读者评审员

架构解读

Hub-Spoke 模式:主编排(#0)是唯一的 Hub,所有其他 Agent 都是 Spoke。这意味着:

  1. 无环依赖:信息流是单向的(主编排→Agent→文件→主编排),不存在 Agent 之间的循环调用
  2. 故障隔离:任何一个 Spoke Agent 的失败只影响当前任务,不会级联到其他 Agent
  3. 可观测性:所有调度决策都在主编排中,便于日志记录和调试

并行点

  • Phase 3 Step 3:R1、R2、R3 三位审查员并行(检查维度正交)
  • Phase 3 Step 4:RS、RE、RH 三位读者并行(评审视角独立)
  • Phase 3 章间:不同章节的 Step 1(研究)可与已完成研究的章节的 Step 2(写作)并行

4. 信息流向规则

规则 1:单向通信 — 所有指令从主编排发出

✅ 主编排 → Agent      (通过 File Pointers 注入任务)
✅ Agent → 文件系统     (写入产出物)
✅ 主编排 ← 文件系统    (读取产出物,决定下一步)
❌ Agent → Agent        (禁止直接通信)
❌ Agent → 主编排       (Agent 不主动发起请求)

Agent 不知道其他 Agent 的存在。它只看到主编排提供的文件,完成任务后写入结果。

规则 2:File Pointers 遵循最小权限原则

每个 Agent 只获得完成当前任务 最少量 的文件引用:

Agent典型必读文件典型输出文件
#3 研究员output/memory/outline.md(当前章节部分)、output/memory/source-map.mdoutput/memory/glossary.mdoutput/research/chXX-report.md
#4 作家output/research/chXX-report.mdoutput/memory/style-guide.mdoutput/memory/chapter-summaries.mdoutput/memory/metaphor-registry.mdoutput/chapters/final/chXX-final.md
R1 源码审查员output/chapters/final/chXX-final.md、源码文件(按需)output/reviews/chXX-r1.md
R2 一致性审查员output/chapters/final/chXX-final.mdoutput/memory/glossary.mdoutput/memory/chapter-summaries.mdoutput/memory/cross-references.mdoutput/reviews/chXX-r2.md
R3 内容审查员output/chapters/final/chXX-final.mdoutput/memory/style-guide.mdoutput/reviews/chXX-r3.md

💡 作家 获得其他章节的完整正文(避免上下文窗口浪费),只获得 chapter-summaries.md 中的摘要。

规则 3:共享文件是 Agent 间唯一的信息桥梁

以下共享文件构成了 Agent 之间的"长期记忆":

共享文件写入者读取者用途
output/memory/source-map.md#0 主编排#1、#3、R1源码目录结构与模块说明
output/memory/outline.md#1 架构师所有 Agent章节大纲与知识依赖图
output/memory/glossary.md#0(初始)→ #4(追加)所有 Agent全书统一术语表
output/memory/metaphor-registry.md#4 作家(追加)#4、R2已使用比喻登记,避免跨章重复
output/memory/style-guide.md#0 主编排#4、R3写作风格规范
output/memory/chapter-summaries.md#0(每章完成后更新)#4、R2已完成章节的摘要
output/memory/cross-references.md#4(追加) → R2(验证)#4、R2、#0跨章引用关系登记

规则 4:状态推断 — 文件存在性即进度

主编排通过检查文件系统推断每章的进度状态:

文件不存在                                  → 未开始
output/research/chXX-report.md 存在        → Step 1 完成(研究完成)
output/chapters/draft/chXX-draft.md 存在   → Step 2 完成(初稿完成)
output/reviews/chXX-r*.md 存在             → Step 3 完成(审查完成)
output/reviews/chXX-panel.md 存在          → Step 4 完成(评审完成)
output/chapters/final/chXX-final.md 存在   → 该章定稿

这使得流程具备 断点恢复 能力:中断后重新启动,主编排扫描文件系统即可恢复进度,无需任何额外的状态存储。


5. 关联文档

框架文档

文档路径内容
五阶段工作流详解framework/workflow.md每个 Phase 的详细步骤、入口条件、出口条件
File Pointers 机制framework/file-pointers.mdFile Pointers 的设计原理与使用规范
审查与评审协议framework/review-architecture.md审查员和读者评审的评分标准、反馈格式
并行执行策略framework/parallel-strategy.md多章并行、多员并行的调度策略
断点恢复机制framework/recovery.md流程中断后的状态恢复方法

Agent 详细文档

Agent文档路径
#0 主编排 Orchestratoragents/01-orchestrator.md
#1 架构师 Architectagents/02-architect.md
#2 读者代言人 Reader Advocateagents/03-reader-advocate.md
#3 研究员 Researcheragents/04-researcher.md
#4 作家 Writeragents/05-writer.md
R1 源码审查员 Code Revieweragents/06-code-reviewer.md
R2 一致性审查员 Consistency Revieweragents/07-consistency-reviewer.md
R3 内容审查员 Content Revieweragents/08-content-reviewer.md
RS 大学生读者agents/09-reader-panel.md
RE 工程师读者agents/09-reader-panel.md
RH 爱好者读者agents/09-reader-panel.md
#11 装帧工人 Bookbinderagents/10-bookbinder.md
#12 质检员 Quality Inspectoragents/11-quality-inspector.md

模板文件

模板路径新项目启动时操作
源码地图templates/source-map.md填写目标源码的目录结构与核心模块
大纲模板templates/outline.md填写初始章节规划(可由 #1 架构师辅助)
风格指南templates/style-guide.md填写写作风格偏好与代码展示规范
术语表templates/glossary.md填写已知术语的定义与翻译
比喻注册表templates/metaphor-registry.md留空,由写作过程逐步填充

Built with Meridian