Project Code Name: EDF
让 Agent 不再漂移: 从兼容现有工作流, 到原生 agent repo 工作系统
这是一组关于人机协作的实验档案,记录了我如何打破工具壁垒,用代码重建产品研发的语义沟通协议。
从提效到失控:两个核心问题
问题一:文件维度的语义隔离
传统的画板工具和散文式需求文档是专为“人类视觉”设计的。Agent 无法直接读取结构化语义,依靠截图和文字转述导致了巨大的解释成本和意图损耗。
问题二:长上下文中的意图漂移
即使 AI 拥有了直接写代码的能力,在经过 20 轮的高频对话和反复修改后,最初敲定的业务规则、状态边界和兜底逻辑也极易丢失。局部生成的代码越快,系统级的偏航越严重。
为了解决以上问题,我通过 EDF 进行了两个阶段的实践探索:
Case 1
实验一:打通单点工作流,让一切文件 LLM-readable
就像蒸汽机最初只被用来抽水一样,AI 介入研发的第一步,是把散落的视觉与文本资产转化为大模型能看懂的结构化状态树。
Step 1: 视觉隔离
人类在设计工具中的画布与像素图
AI 只能看到像素
➔
Step 2: 语义树提取
通过 Pencil.dev 等工具提取出的 DOM Tree / JSON
转化为大模型可读格式
➔
Step 3: 完美编译
基于 JSON 语义精准推导的 React Component
代码与设计意图双向同步
Case 2
实验二:用系统性思维对抗漂移 (Repo SSOT)
单点工作流的提效是不够的,必须将产品意图作为 Single Source of Truth 沉淀进代码仓库中,形成跨层级的绝对钳制。
1. Data / Schema 层
定义核心字段的绝对类型(如 user.id 必须为 uuid)。
2. Contract / API 层
引用 Data,并强制规定前置条件(如必须携带 409 错误兜底)。
3. Interface / UI 层
禁止前端自己发明状态,所有的渲染逻辑和兜底必须派生自 Contract。
UI 不允许自己思考,一切状态派生自契约。
下一步演进
EDF 3:从静态规范到运行时守卫 (Runtime Guardrails)
文档最终会被遗忘,只有代码会被执行。EDF 的下一步不仅是把规格写在 Markdown 里,而是将其编译为真正的运行时守卫。只要运行时状态机建立起来,Agent 就能在有界自治的容器内安全地完成功能填充。