换个会话就忘了方案?我把项目约定写成了一个文件

昨天下午,我经历了一次堪称经典的「AI 协作翻车事故」。

手头有个复杂模块重构,我先在会话 A 里跟 AI 探讨了整整两小时:对齐了业务边界、排除了方案甲、敲定了方案乙,连状态机的异常回滚逻辑都对好了。

眼看差不多了,由于上下文太长有点卡,我顺手开了个新会话 B,把最初的需求丢进去:「帮我实现一下刚才讨论的用户注销流程。」

然后,精彩的来了。

新会话里的 AI 信心满满地给我吐出了一套极其详尽的代码------赫然采用的是我们在会话 A 里花了一个半小时明确否决掉的「方案甲」!

会话 A 经过推演的结论:「严禁物理删除关联订单,必须采用软删除并脱敏,否则财务审计无法对账。」 会话 B 另起炉灶的实现:「执行 DELETE FROM orders WHERE user_id = ?,一键清理干净,性能最优!」

那一刻我靠在工位椅背上,真的直接自闭。 这不就像你在工位跟同事 A 辛辛苦苦开了一下午方案会,结果第二天来了个同事 B,完全不看任何交接,上来就按最想当然的方式把代码写完了吗?

为什么 AI 换个会话就会「失忆」?

很多人会说:这还不简单,你把会话 A 的聊天记录全拷过去不就行了?或者把 Context Window 搞到 2M、10M。

相信我,作为从底层 Java 牛马一路滚到 AI PM 的过来人,我很清楚这根本不是上下文长度的问题。

  1. 垃圾信息淹没重点:长对话里充斥着大量的「你这儿写错了」「不是这个意思」「等一下我先看下日志」,把这些流水账硬塞给新会话,AI 会在无效噪点里反复「抽卡」,抓不住核心。
  2. 决策过程 ≠ 最终事实:会话里讨论过方案 A、B、C,甚至中途推翻过结论。新会话拿到全部讨论记录,极容易把中间被否决的草案当成已采纳的决定。
  3. 跨工具直接断层:今天你在 Cursor 里写代码,明天要在网页端或者另一个 Agent 里做评审,会话历史压根带不过去。

我们需要传递的不是「聊天的过程」,而是「已经确定的业务事实与约束边界」。

我把所有约定收敛成了 1 个 Markdown 文件

为了解决这种「换个会话就抓瞎」的折磨,我摸索出了一套极简的协作机制:在工作区根目录下,永远维护且只维护一份权威的约定文件(例如 AGENTS.md 或项目约定的上下文基线)。

无论换到哪个新窗口,第一件事不是从头讲故事,而是让新 Agent 先读这个文件。

这个文件的最小结构只有四块骨架,任何人 5 分钟就能写完:

markdown 复制代码
# 项目上下文与约束基线

## 1. 唯一事实信源 (Single Source of Truth)
- 业务事实以当前目录的 PRD、Prompt 或架构规范为准,不凭记忆猜测。
- 讨论稿、过期备份不作为有效信源。

## 2. 已确认的决策 (Decisions Made)
- 【2026-10-17 决议】注销流程严禁物理删除订单数据,必须采用软删除+字段脱敏(财务审计合规硬约束)。
- 【2026-10-16 决议】接口鉴权走网关层 Header 校验,业务服务内不再重复解密 Token。

## 3. 绝对禁区与红线 (Boundaries & Safety)
- 不动未明确授权的文件。
- 不引入外部未审核的第三方 SDK。

## 4. 交付与验证标准 (Done Criteria)
- 修改后必须通过本地自动化测试。
- 给出具体的变更 diff 与受影响入口核对清单。

当有了这份文件后,新会话的第一句指令变成了:

「阅读根目录的上下文约束文件,依据已确认的决议,继续实现注销流程。」

新 Agent 读完后,第一句话就是:

「已确认:依据 10-17 审计决议,采用软删除与字段脱敏方案。以下是数据脱敏与状态流转实现......」

一句话,工作瞬间接上了。没有重复扯皮,没有已否决方案的诈尸。

换个 Agent,工作接得上

顺着这个思路,我把这套上下文跨 Agent、跨会话平滑接续的规范做成了一个开源项目------Context Continuity。

它不依赖任何特定模型的私有存储,也不搞花哨的黑盒向量库,而是基于纯文本和明确的文件契约,规范 Agent 怎么建立上下文、怎么在换会话时做无缝接续、怎么在不同工具间传递已确认结论。

在 AI 时代,写代码的门槛越来越低,但工程的确定性和连贯性反而成了稀缺品。别让你的心血在每一次关闭窗口时,都变成重新开始的抓瞎。

相关推荐
isboyjc2 分钟前
Lomo Agent:面向创作型、持续协作 Agent 的架构设计与工程实践
人工智能·架构·agent
聪明的笨猪猪1 小时前
AI应用架构选型:架构师的核心决策困境与权衡
经验分享·面试·架构
疯华整猫3 小时前
被杀掉之后:我把 Android 的「唤起 + 常驻」重做了一遍
前端·面试·架构
Dawson Zhu3 小时前
【LLM推理与Serving⑤】Prefix Cache前缀缓存:让重复prompt不再重复计算
人工智能·语言模型·架构·aigc·agi
薛定谔的悦4 小时前
光储充一体机从主控到执行单元的双层架构
数据库·mongodb·架构
国科安芯19 小时前
83 倍:ASC0108S 在推挽和开漏之间,差的不是速度,是回程
单片机·嵌入式硬件·架构·电平转换·抗辐射
QXWZ_IA1 天前
横跨三网“只进不出”架构如何划分安全边界
安全·架构
ZENERGY-众壹1 天前
告警风暴怎么压?100MW 电站监控平台告警引擎架构复盘
数据库·架构·iot·电站监控
leo在掘金1 天前
25.5k Star 的 DeepInfer 怎么扛住3万亿参数
后端·架构
Linye1 天前
为什么让 AI 修个小 Bug 却把底层全重写了?聊聊 Coding Agent 的最小修改边界
人工智能·架构