Files
tupingr f041139ca8 refactor(principles): 上下文资源管理规则扩展至所有 AI 角色
- 从「Arch AI 专用」升级为「所有角色通用硬约束」
- 新增角色特定约束:Arch/Coder/Tester 各自的上下文风险+应对
- 更新过时引用:Token预算表、信息分层、阶段切换清单
- 补充信号识别:Coder AI 需同时改3个文件时触发收尾

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

92 lines
4.2 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 信息架构设计原则
## 为什么这样设计
AI 的上下文窗口有限。每个读入上下文的字都是成本。这套分层架构的核心思想:**每个角色只加载必要信息,按需展开细节。**
## Token 预算
| 层级 | 预算 | 内容 | 加载时机 |
|------|------|------|----------|
| 入口(dashboard/card | < 2K | 身份+全貌+任务 | 每次会话必读 |
| Task 文件 | < 1K | 单任务全部信息 | Coder/Tester 开工时 |
| 知识沉淀 (knowledge) | < 3K | 决策/模式/教训 | 按需加载 |
| 阶段上下文 (phase) | < 5K | 目标+范围+架构 | 按需加载 |
## 信息分层(三层架构)
```
指挥层: dashboard.md → 人类 + Arch AI 唯一入口
决策层: DECISIONS.md → 待人类决策事项
执行层: .ai/tasks/active/ → Coder/Tester 各自 task 文件
```
## 维护规则
1. **不超预算**:每个文件严格遵守 token 预算,超了就拆分
2. **不重复状态**:状态只在一处记录(dashboard.md),其他地方引用
3. **Git 管历史**:文档只描述"现在是什么",历史由 Git 负责
4. **一文一答**:每个文件独立回答一个问题,不需要串联阅读
5. **角色无关设计**:任何 AI 模型都能通过读 card.md 快速接管角色
---
## AI 上下文资源管理(硬约束,适用于所有 AI 角色)
**问题**:每个 AI 每次会话有上下文窗口限制。如果盲目冲刺大任务,到一半触发自动压缩,前面的讨论、决策细节、已排除的选项全部丢失——代价不是「重来」,是「用不完整的记忆做决策」。
### 通用规则(所有角色遵守)
1. **任务前评估**:开始一个复杂任务前,先判断能否在自己的有效上下文内完成。不能 → 拆分到多个独立会话
2. **做完一件再开始下一件**:不积累未完成的工作。阶段收尾了(commit + push),再启动下一个
3. **决策即记录**:每个重要判断产生后,立即写入对应文件,不要留在对话里。对话是易失的,文件是持久的
4. **接近窗口上限时主动收尾**:感觉上下文开始吃力时,主动 checkpoint——已完成写入文件、commit、告知人类当前进展和下一步。**宁可多开一个会话,不要带着残缺记忆继续**
5. **拆分到可提交粒度**:大任务拆成独立子任务。每个子任务结束后 git commit,确保即使后续会话压缩,已完成的部分不会丢失
### 角色特定约束
| 角色 | 主要风险 | 应对策略 |
|------|---------|---------|
| Arch AI (Claude Code) | 长对话积累上下文,架构讨论容易收不住 | 每个 ADR 产出后立即写入 decisions.md;感知吃力时主动收尾 |
| Coder AI (Trae + GLM-4.6) | 上下文窗口更小,多文件任务容易超出 | 每个 session 只做 1 个 task 文件;不读其他 task,不读架构文档 |
| Tester AI (Coze CN) | 沙盒执行时间有限 | 1 个 session 只测 1 个 T01-XXX task;报告立即写回 repo |
### 信号识别(何时应立即执行规则 4)
- 需要反复回看前面的讨论才能做判断
- 开始忘记用户几分钟前说过的话
- 回复质量出现可感知的下降
- 同一个问题被重复提出
- (Coder AI)需要同时修改 3 个以上文件才能完成 task
### 反模式
- 「一口气做完再 commit」——做一半触发压缩,前面做的全丢
- 「这个 task 简单,我顺便把下一个也做了」——超边界 = 超上下文
- 「先放着,等会儿一起处理」——对话不等人,放着 = 丢了
---
## 文件约定
- 控制面板: `dashboard.md`
- 决策入口: `DECISIONS.md`
- 角色工作台: `.ai/roles/{role}/card.md`
- 执行任务: `.ai/tasks/active/`
- 阶段上下文: `.ai/phases/phase-NN-name/`
- 知识沉淀: `.ai/knowledge/`
- 提示词模板: `.ai/prompts/{domain}/`
- Skill 工具: `.trae/skills/`
- 框架边界: `SYNC.md`
- 模板变量: `TEMPLATE.yaml`
## 阶段切换检查清单
切换阶段时 Arch AI 必须:
- [ ] 更新所有角色的 card.md(当前阶段字段)
- [ ] 更新 dashboard.md(进度条 + task 状态面板 + 最近事件)
- [ ] 更新 phases/INDEX.md
- [ ] 生成上一阶段的 completion.md
- [ ] 产出阶段复盘(docs/share/phase-NN/
- [ ] 审计 token 预算