Skip to content

AI 长对话与任务连续性管理(V10)

内容类型:方法说明难度:基础适合:长期用 AI / Agent 维护项目的人阅读时间:约 8 分钟

一个会话不是项目数据库,但也不需要因为“跨了一天”“上下文有点长”就机械开新对话。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 恢复
所有历史信息都写 ContextContext/Memory/ADR 分工
小改结束也生成长复盘只沉淀高价值信息
新任务沿用旧任务临时约束目标切换时新建任务
所有未完成事项都叫 Pending区分 Unverified / EnvironmentBlocked / HardwarePending

11. 和 V10 Skill 的连续执行规则

host-computer-dev 在实现已经开始后,除非遇到:

  1. 会改变结果的用户业务决策;
  2. 危险真实设备动作需要授权;
  3. 真正无法绕过的权限/工具硬阻塞;

否则应继续推进,不因为普通编译错误、E-SafeNet、上下文压缩或“还要再检查一次”停下来等用户说“继续”。

下一步

一句话原则

会话只是任务载体;真正保证连续性的,是明确任务状态、Git Diff、验证证据和可复用项目知识。

别来无恙 · C# 上位机 AI 实战站 · 从零到交付 · QQ 群:1016188499