Appearance
AI 长对话与任务连续性管理(V10)
一个会话不是项目数据库,但也不需要因为“跨了一天”“上下文有点长”就机械开新对话。V10 更关注的是:当前目标和边界是否仍然一致,任务状态能不能可靠恢复。
1. 什么时候继续当前会话
适合继续:
- 仍然是同一个任务目标;
- NonGoals 没变;
- 当前 Diff 就是这个任务产生的;
- 用户只是继续补现象、测试结果或修改要求;
- Agent 可以从最近证据恢复上下文。
例如:
text
修复示波器恢复问题
→ 改代码
→ 用户现场重试
→ 补一条日志
→ 继续同一任务这时不要因为对话压缩或隔了一天,就重新做需求分析、重新扫描全项目、重新问“你想实现什么”。
2. 什么时候应该新建任务/对话
更适合新开:
- 目标已经切换成另一个独立问题;
- 新任务需要完全不同的业务上下文;
- 旧对话里的临时约束会干扰新任务;
- 当前 Diff 已经交付,开始另一项工作;
- 需要把任务独立分享、审查或归档。
关键判断是任务边界,而不是“今天还是昨天”。
3. 对话压缩后怎么恢复
推荐恢复顺序:
text
Current task / 用户最新目标
→ Git status / Diff
→ 最近 verification
→ 相关 .agent-memory
→ 必要 CONTEXT / ADR
→ 继续执行不应该:
text
上下文压缩
→ 停下来等用户说“继续”
→ 重新读取整个 solution
→ 重新写一遍 Plan普通编译错误、静态检查、上下文压缩都不是合理的“暂停等待继续”理由。
4. 不再每次加载一个巨大的 PROJECT_CONTEXT.md
项目知识拆成:
text
Rules / 项目说明 → 技术栈、路径、命令、安全红线
CONTEXT.md → 稳定业务术语
.agent-memory → 历史修改与已知事实
ADR → 长期设计原因
当前会话 → 本次任务目标和临时约束Read-Only 和 Fast 任务只加载必要片段。
5. 不同任务的推荐会话方式
| 任务 | 推荐方式 |
|---|---|
| Read-Only Trace | 一个问题可以很短,回答完即结束 |
| Fast MicroPatch | 同一小任务内完成,不需要建立长期对话 |
| BehaviorPatch | 保留 Behavior Contract 和验证结果 |
| RegressionFix | 保留 known-good、diff、证据时间线 |
| Discovery | 允许多轮讨论,阻塞决策清零后转 Execution |
| 技术文档 | 围绕同一文档 Compose/Revise/Review 持续 |
| 大型项目阶段 | 阶段可拆会话,但长期知识写入文件 |
6. 会话开始时只加载必要内容
不要固定要求:
text
每次都加载完整项目介绍
+ 全部历史问题
+ 全部 ADR
+ 全部 Skill 文档更好的做法:
text
任务是什么?
→ 需要哪些项目事实?
→ 只读这些例如 UI MicroPatch 通常只需要目标 XAML 和相邻样式;近期回归则优先需要 Git/history 和相关 Memory。
7. 会话结束时真正值得留下什么
不是必须生成一份长摘要。
对于修改任务,至少有:
text
Goal / NonGoals
Changed files / Diff
VerificationLevel
Verified
Unverified
EnvironmentBlocked
HardwarePending
ResidualRisk没有对应状态时不必机械填满四栏;但不要用模糊的 Pending 把“证据不足、环境阻断、真机待验”混在一起。
如果产生高价值历史事实,再写 .agent-memory。
如果形成长期重要设计取舍,再写 ADR。
如果只是改了一个文案,不需要为了“沉淀”创建额外文档。
8. 任务摘要模板
复杂任务结束、上下文压缩或需要换工具时,可以用:
text
Task:
Goal:
NonGoals:
CurrentState:
ChangedFiles:
KnownGood / Evidence:
VerificationLevel:
Verified:
Unverified:
EnvironmentBlocked:
HardwarePending:
RollbackState: None / RolledBackToKnownGood / RegressionFixed
ResidualRisk:RollbackState 与 Verification State 分开:切回旧版本恢复只代表 RolledBackToKnownGood,不能冒充新版本已经 RegressionFixed。
这比复制整个聊天记录更适合下一 Agent 恢复。
9. 换工具时怎么交接
例如从聊天 AI → Codex:
text
当前任务摘要
+ repo / branch
+ Git Diff
+ 必要 CONTEXT/Memory/ADR
+ Verification State
+ 如有回归则附 known-good / RollbackState不要要求新工具重新推导所有已经确认过的业务事实。
10. 常见错误
| 错误 | 更好的做法 |
|---|---|
| 每个新消息都重新讲项目 | 用项目知识文件 |
| 跨天必开新对话 | 看任务是否还是同一目标 |
| 对话长就自动重做 Plan | 从 task + Diff 恢复 |
| 所有历史信息都写 Context | Context/Memory/ADR 分工 |
| 小改结束也生成长复盘 | 只沉淀高价值信息 |
| 新任务沿用旧任务临时约束 | 目标切换时新建任务 |
| 所有未完成事项都叫 Pending | 区分 Unverified / EnvironmentBlocked / HardwarePending |
11. 和 V10 Skill 的连续执行规则
host-computer-dev 在实现已经开始后,除非遇到:
- 会改变结果的用户业务决策;
- 危险真实设备动作需要授权;
- 真正无法绕过的权限/工具硬阻塞;
否则应继续推进,不因为普通编译错误、E-SafeNet、上下文压缩或“还要再检查一次”停下来等用户说“继续”。
下一步
一句话原则
会话只是任务载体;真正保证连续性的,是明确任务状态、Git Diff、验证证据和可复用项目知识。