Files
ai_soc_sw/.ai/knowledge/patterns.md
T
tupingr 6992f59cd2 refactor(arch): 信息架构升级 — 三层四角色控制面板 + 跨平台 task 交接协议
核心变化:
- dashboard.md 替代 DASHBOARD + ROADMAP,人类+Arch AI 唯一入口
- DECISIONS.md 人类决策入口,≤3 条待决策
- .ai/tasks/ 14 个独立 task 文件(Coder 8 + Tester 6),弱模型自包含可独立执行
- 旧 today/queue 归档,每个角色启动 ≤2 个文件
- ADR-012 跨平台「高模型指挥小模型」协作架构落地
- 知识库补全:L-002~005、P-004~005、ADR-011~012
- Arch AI 上下文资源管理硬约束写入 principles.md

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-26 15:17:06 +08:00

5.5 KiB
Raw Blame History

可复用模式

目的

记录开发过程中发现的可持续复用的模式和做法。 同样的模式出现 3 次以上时,应当记录在这里。


P-001: AI 任务交接 (review/active/)

上下文: AI 角色之间需要传递工作成果 问题: 如何结构化任务交接,让任何 AI 都能接手 方案: 标准化 review/active/{任务ID}/ 结构:

  • task.md — 任务描述(Arch AI 定义)
  • acceptance.md — 验收标准(Arch AI + Dev AI + QA AI 共同维护)
  • impact.md — 变更影响范围(Arch AI + Dev AI 评估)
  • feedback/ — 反馈记录(QA AI 提交)

何时用: 每个跨 AI 角色的任务 何时不用: 单角色任务(如纯文档更新、配置修改)


P-002: 角色工作台 (daily task board)

上下文: AI 每次会话需要快速进入工作状态 问题: 从头探索项目结构浪费时间 方案: .ai/roles/{role}/today.md 每日任务清单,AI 只需读 2 个文件(card + today 何时用: 每次 AI 会话 维护者: Arch AI 负责分配,各 AI 自己更新完成状态



P-003: 模板同步 (framework sync)

上下文: 项目框架层(AGENTS/权限/提示词/工作流)的变化需要传播到通用模板分支 问题: 手动同步耗时且容易遗漏,AI 重做去敏化消耗 ~100K tokens 方案:

  • 双分支:main(具体项目)+ ai_project(通用模板)
  • SYNC.md 明确定义框架层/项目层文件边界
  • sync-template.sh 自动 checkout 框架文件 + 重新应用 {{变量}}
  • 框架层 ~15 个文件自动同步,project 层永久隔离 何时用: main 分支框架有变化时 维护者: Arch AI 触发,脚本执行

P-004: 编排器-执行者模式 (Orchestrator-Worker)

上下文: AI Agent 协作中,不同任务需要不同能力的模型。高能力模型(Opus)做规划和判断,低成本模型(Sonnet/Haiku)做执行 来源: MegaAgent (NUS)、Claude Code Agent Swarm (Anthropic)、JiuwenSwarm (华为 openJiuwen)、Microsoft 多 Agent 参考架构 方案:

决策层 (Opus)    → 意图理解、方案设计、最终验收  (~10% Token, 最贵)
调度层 (代码)    → 任务路由、负载均衡、重试熔断  (确定性代码, 不用 LLM!)
执行层 (Haiku)   → 专注单一原子任务              (~60% Token, 最便宜)

核心原则:

  1. 按业务上下文划分 Agent(「认证流 Agent」),而非按角色(「数据库 Agent」)
  2. 调度层是确定性代码——用 LLM 做调度是反模式
  3. 子 Agent 的甜蜜点是只读研究/探索,并行编码效果不佳
  4. 写范围严格分离——并发写任务之间不能有重叠的文件所有权
  5. Agent 粒度围绕内聚能力组织——不要为「调用一个 API」建 Agent

何时用:

  • 团队规模 ≥ 3 个 AI Agent 并行工作
  • 任务可清晰分解为独立子任务,且协调成本 < 并行收益
  • 有明确的模型成本优化需求

何时不用:

  • 1 人项目——编排层就是人类 + Claude Code 本身
  • 编码任务的并行化——行业共识是效果不佳
  • 简单 bug 修复——分解成本 > 直接修复成本

本项目实例 (ErrLens):

Arch AI:  Claude Code + DeepSeek V4 Pro  → 架构推理、方案设计、任务分解
Coder AI: Trae CN + GLM-4.6              → 代码生成、文件操作(单文件粒度)
Tester AI: Coze CN                        → 沙盒执行、自动化测试报告

通信介质: Git 仓库(唯一集成总线)
交接粒度: 单次 commit = 一个交接单元

关键适配:

  • Coder AI 用的是 GLM-4.6,不能假设它有跨文件推理能力 → task 分解到单文件粒度
  • 跨模块协调在 Arch AI 设计阶段完成,不在 Coder AI 执行阶段
  • Tester AI 的 Coze 沙盒做真正的自动化闭环——不只是跑测试,是拉代码 → 执行 → 生成报告 → commit

P-005: 跨平台任务交接协议 (Cross-Platform Task Handoff)

上下文: 多个 AI Agent 运行在不同平台/IDE 上,零共享上下文,Git 是唯一通信介质 问题: 如何让 Trae + GLM-4.6 拿到 task 后能直接开工,不需要追问「这个是什么意思」 方案: 每个 task 必须自包含,包含四个必填字段:

## Task: {编号} {标题}

### 输入
- 读哪些文件(完整路径)
- 参考哪些 ADRADR-XXX
- 依赖哪些上游任务(P01-XXX,已完成/产出是 X)

### 输出
- 生成/修改哪些文件(完整路径)
- 输出格式(代码/文档/配置)
- 验收方式(跑什么命令看什么结果)

### 约束
- 不碰哪些目录
- 用什么库/版本
- 遵循什么规范(code-style.md / doc-template.md

### 参考
- ADR-XXX: 一句话说明关联性
- 相关文件: 一行说明

核心原则:

  1. 零隐含上下文:接收方不能依赖「上次聊过」,所有信息必须显式写在 task 里
  2. 适配接收方能力:给 GLM-4.6 的任务粒度 = 单文件;给 Claude 的任务可以跨 3-5 个文件
  3. Git commit 即消息:每次 commit 是发送一次消息,接收方 pull 即收到
  4. 任务与代码分离task 定义在 .ai/roles/{role}/queue.md,代码在 projects/,通过 Git 同步

何时用: 跨平台/跨模型协作 何时不用: 同一平台内的角色切换(直接对话即可)


反模式(避免)

  • 在多个文件中重复同一状态信息 → 只在 ROADMAP.md 记录
  • 决策讨论散落在任务 feedback 中 → 提炼到 knowledge/decisions.md
  • 大段文档内联而非链接 → 用链接 + 一句话摘要