6992f59cd2
核心变化: - 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>
3.4 KiB
3.4 KiB
信息架构设计原则
为什么这样设计
AI 的上下文窗口有限(~200K tokens)。当前架构按人类认知模式设计——详尽文档、全局视角——但 AI 每个读入上下文的字都是成本。这套分层架构的核心思想:每个角色只加载必要信息,按需展开细节。
Token 预算
| 层级 | 预算 | 内容 | 加载时机 |
|---|---|---|---|
| 角色工作台 (card + today) | < 2K | 身份+今日任务 | 每次会话必读 |
| 阶段上下文 (phase) | < 5K | 目标+范围+架构 | 按需加载 |
| 专题文档 (knowledge) | < 3K | 决策/模式/教训 | 按需加载 |
| 路线图 (ROADMAP) | < 2K | 全局进度 | 需要全局视野时 |
信息分层
Layer 0: 角色工作台 → AI 每天进来只读这个
Layer 1: 路线图看板 → 人类 + AI 共享进度
Layer 2: 阶段上下文 → 按当前阶段按需加载
Layer 3: 知识沉淀 → 自动积累,永久沉淀
维护规则
- 不超预算:每个文件严格遵守 token 预算,超了就拆分
- 不重复状态:状态只在一处记录(dashboard.md),其他地方引用
- Git 管历史:文档只描述"现在是什么",历史由 Git 负责
- 一文一答:每个文件独立回答一个问题,不需要串联阅读
- 角色无关设计:任何 AI 模型都能通过读 card.md 快速接管角色
Arch AI 上下文资源管理(硬约束)
问题:Arch AI 每次会话有上下文窗口限制。如果盲目冲刺大任务,到一半触发自动压缩,前面的讨论、决策细节、已排除的选项全部丢失——代价不是「重来」,是「用不完整的记忆做决策」。
规则:
- 任务前评估:开始一个复杂任务前,先判断能否在自己的有效上下文内完成。如果不能,拆分到多个独立会话
- 做完一件再开始下一件:不积累未完成的工作。一个阶段收尾了(commit + push),再启动下一个
- 决策即记录:每个重要判断产生后,立即写入对应的 knowledge/ 文件,不要留在对话里。对话是易失的,knowledge 是持久的
- 接近窗口上限时主动收尾:感觉上下文开始吃力时,主动做 checkpoint——把已完成的写入文件、commit、告知人类当前进展和下一步。宁可多开一个会话,不要带着残缺记忆继续
- 拆分策略:大任务(如「重构整个架构」)拆成独立可提交的子任务。每个子任务结束后 git commit,确保即使后续会话压缩,已完成的部分不会丢失
信号识别:当出现以下情况时,说明接近上下文上限,应立即执行规则 4:
- 需要反复回看前面的讨论才能做判断
- 开始忘记用户几分钟前说过的话
- Token 用量接近已知窗口限制
- 回复质量出现可感知的下降
反模式:「一口气做完再 commit」——做一半触发压缩,前面做的全丢。
文件约定
- 角色工作台:
.ai/roles/{role}/ - 阶段上下文:
.ai/phases/phase-NN-name/ - 知识沉淀:
.ai/knowledge/ - 提示词模板:
.ai/prompts/{domain}/
阶段切换检查清单
切换阶段时 Arch AI 必须:
- 更新所有角色的 card.md(当前阶段字段)
- 更新 ROADMAP.md(阶段进度条)
- 生成上一阶段的 completion.md
- 产出阶段复盘(docs/share/phase-NN/)
- 审计 token 预算