三亩地 三亩地SAN MU DI · CODE DIARY
ARTICLE DETAIL

日记详情

真实记录编程学习的某一天,欢迎挑你感兴趣的翻一翻。

Agent 改完代码,仓库里到底该多留下什么

Agent 改完代码,仓库里到底该多留下什么

以前一轮开发结束,仓库里多出来的东西很清楚:diff、测试,运气好还有一份设计说明。现在 Agent 也能交差,而且通常更快。真正麻烦的是另一面:会话一关,贵的判断跟着蒸发。为什么这么改、踩过什么坑、哪条红线不能碰、验收到底跑过哪些命令,聊天里都说过,仓库里常常没有。

代码还在。上下文没了。

Anthropic 后来把这个尴尬说透了。长任务要跨好几个上下文窗口,每个新窗口都像换班工程师,对上一班毫无记忆。他们不指望把聊天记全,而是要求每一班结束时留下下一位能立刻上手的东西:清楚的 commit、进度文件、能拉起环境的脚本、带状态的功能清单。

我现在看一个仓库,也不再只问「这波功能交了没」。更想问:Agent 跑完一轮后,有没有留下下一轮还能用的东西。

下面按这个标准,把官方文档、开源仓库和我自己踩过的坑收一收。

仓库续航资产分层:知识记忆决策技能按需加载,规则与验收每次会话必留

知识记忆决策技能按需加载,规则与验收每次会话必留

一、大家其实在说同一件事

名字五花八门,指向差不多:会话会断,仓库得接得住。

Anthropic 那篇《Effective harnesses for long-running agents》写得很具体。coding agent 要做增量,结束时工作区要接近可合主线:描述清楚的 git commit、进度文件、init.sh,再加一份带passes字段的功能清单。半成品丢给下一班去猜,不行;没做端到端验证就把功能标绿,也不行。配套例子在anthropics/claude-quickstarts

OpenAI Codex 拆得更直白:AGENTS.md管规则,Memories 管学到的上下文,Skills 管可复用流程。你纠正 Agent 一次,最好当场让它写回AGENTS.md。反馈环进仓库,别只活在对话里。

Claude Code 的记忆文档则分两层。你写的CLAUDE.md是指令;auto memory 是它根据纠正自己攒的偏好。多步流程别塞常驻文件,该进 Skill;真想拦住某类操作,用 Hook,别指望「它记住了就会听话」。

开源这边,AGENTS.md已经像默认约定(agents.md):README 给人看,AGENTS.md 给 Agent 看,内容通常是构建命令、怎么测、项目约定、安全注意事项。GitHub 扫了 2500 多个仓库,好用的文件几乎同款:命令靠前,给真实代码示例,写清边界和技术栈;常见六块是 commands、testing、structure、style、git、boundaries。Taiizor/agents-md-cookbookvltansky/agents-md-evals更狠一点:写短,只写代码里读不出来的;规则最好用 eval 验一下是不是真改变行为,别越写越长。

Agent Skills 标准(agentskills.io)则把「怎么做」拆成可加载包:SKILL.md,外加可选的scripts/references/assets/。用到再读,省得每次会话都吞一本手册。

我自己判断要不要沉淀,只剩一个问题:

关掉当前会话,换个模型,换个人接手。哪些信息还成立,而且还能约束下一次改动?

答得上,再写进仓库。答不上,归档就行,别占常驻上下文。

二、八类资产,比「知识 + 记忆 + E2E」多出来的那些

很多人已经会留三类:知识、记忆、端到端测试。这三类对,但还不够。Agent 最容易弄丢的,是中间那些「为什么」和「怎么验」。

类型

回答的问题

常见落点

知识

是什么

docs/

、模块说明;AGENTS 里只留不可推断事实

记忆

谁 / 偏好 / 不变量

Claude auto memory、Codex Memories

决策

为何如此

短 ADR;功能清单里的取舍与否决项

规则

必须 / 禁止

AGENTS.md

/CLAUDE.md、目录级覆盖、Hook

技能

怎么做

SKILL.md

、Playbook、scripts

契约

边界在哪

模块边界、Never touch、接口与目录约定

测试与 Eval

怎样算对

单测/契约/E2E;features.json;规则 A/B eval

状态与承诺

现在卡在哪

progress 文件、git log、未完成 feature 列表

几条细则我反复撞上,也在上述材料里反复出现。

规则要短,而且尽量写「代码读不出来」的东西。ETH Zurich 的 AGENTbench 和不少 AGENTS 实践都警告过:LLM 自动生成的超长指令,可能把成功率打下去,还抬成本。栈和风格代码里看得见,就少写;耦合关系、工作流硬要求、领域红线,才值得占位置。

验收别靠自称完成。Anthropic 观察到,单元测试或curl绿了,端到端照样可能坏。做 Web 时,他们甚至要求浏览器自动化像真人一样点一遍。开源 eval 仓库把同一逻辑用到规则本身:这条AGENTS.md有没有改变行为,要测,不要猜。

Skill 和规则别混。每次都要遵守的,放常驻文件;多步、局部、能脚本化的,进 Skill。OpenAI、Anthropic、agentskills.io 在这点上差不多。

真硬的约束进 Hook 或 CI。Claude 文档写得很清楚:memory 是上下文,不是强制配置。想做到「无论模型怎么想都不能碰」,靠 PreToolUse Hook 或流水线,别只写进 Markdown 自我安慰。

如果只能先补一类,我会补可执行规则和可重跑验收。官方材料里这两样出现最多,也最容易在聊天里说完就丢。

一轮结束后的留痕闭环:纠正写入规则,补验收,更新进度,留给下一班

纠正写入规则,补验收,更新进度,留给下一班

三、一轮结束,至少留下这个最小包

八类不用一次建齐。更接近 Anthropic 实验的做法是:有价值的会话结束时,强制留下一个最小包。

进度和 git 先写清楚。progress 文件加描述性 commit,下一班先读这两样,别猜半成品。

口头纠正过、而且还会再发生的,写进最近的AGENTS.md,或目录级覆盖。Codex 的说法很实用:同一类 PR 反馈出现第二次,就该成文。

再留至少一条机器能判定的验收。测试、脚本、类型检查、浏览器 E2E 都行。换会话后还能重跑,对错不靠嘴辩。

未完成项也要看得见。哪些功能还是passes: false,哪些假设没验证,哪些 workaround 有过期日。Anthropic 用 JSON feature list,就是为了压「过早宣布胜利」。

最后看一眼工作区干不干净。他们说的 clean state,大致等于接近可合主线:没有明显烂尾,文档跟得上,下一个人能直接开新功能。这比生成一份很长的NOTES.md有用得多。

我现在会贴这么一张卡:

Agent 任务收工检查(最小包) □ Why:决策/取舍/不做项(短笔记即可) □ Rule:本次纠正是否写入 AGENTS.md / Hook □ Proof:至少一条可重跑验收(涉及 UI 就补 E2E) □ Scar:若翻车,失败样本或禁令已落盘 □ Next:progress / feature 状态 / 未验证假设 □ Clean:工作区接近可合入,不留半截工程

比例还是要克制。改一行文案不必写 ADR;动了共享模块却只留一句update,那是在欠下一位的债。

四、同样改完,仓库里差很多

先说糟糕的那种。Agent 改完packages/payment,PR 写着「支持新折扣字段」,测试全绿。第二天packages/checkout编译挂了。聊天里其实说过要同步改调用方,结束前还要跑跨包 typecheck。会话一关,这些话全没了。

再看留得住的那种。同一轮结束后多了几样不显眼的东西:短决策说明字段为什么放在 payment,以及明确不做顺手重构;AGENTS.md加一条,触及 payment 导出就要跑 payment 和 checkout 的 typecheck;一条契约测试锁住字段形状;若已经翻过车,Hook 在相关 diff 上强制检查。

下一班不必靠记性。它读规则,跑闸门,撞测试。人审 PR 时也能看见取舍,而不只看见一片绿色 diff。

还有一种空忙我见得最多:把整段对话摘要塞进常驻NOTES.md。文件很大,检索很吵,错总结还会被当成事实。更干净的拆法是:偏好进记忆,红线进规则,流程进 Skill,过程进可搜索历史。摘要若要留,得能指回 commit 或 issue,并且允许删。

别追求沉淀体积。密度够用就行。

五、今天就能动手的顺序

先写短AGENTS.md。命令、边界、测试怎么跑,对照 GitHub 说的那六块,百行量级差不多;只写代码读不出来的。

再加收工约定。Agent 声称完成前,对照上面的最小包勾选;勾不上就明说缺什么。

然后补验证。老模块至少写清验收命令;UI 路径补一条真人视角检查;有余力再拿agents-md-evals这类工具给规则瘦身。

Skill 放最后。同一条路径成功走通几次,再抽成SKILL.md。太早技能化,容易把偶然 workaround 焊成标准。

优先级

先留什么

为什么先做

P0

命令 + 红线 + 可重跑验收

立刻减少假完成和越界

P1

进度/状态 + 规则反馈环

下一班不用猜,同类错少交第二次学费

P2

窄 Skill + 模块边界

提高跨会话起点

P3

记忆治理与规则 eval

长期有用,但先防污染

六、收工时多问一句就够

Agent coding 有没有做完,别只盯着「功能有了吗」。再问一句:

如果现在清空会话,只留这个仓库,下一个 Agent 还会不会再踩这次的坑?

会少踩,说明你留下了续航物。不会,多半只是把生产 diff 的速度加快了。

今天就能做的最小动作:翻开最近一个由 Agent 主导的 PR,补三行 Why,补一条验收命令,再往AGENTS.md里加一条禁令或必跑检查。八类资产不用一次建齐,先让教训离开聊天框。

学习资源推荐

如果你想更深入地学习大模型,以下是一些非常有价值的学习资源,这些资源将帮助你从不同角度学习大模型,提升你的实践能力。

一、全套AGI大模型学习路线

AI大模型时代的学习之旅:从基础到前沿,掌握人工智能的核心技能!​

因篇幅有限,仅展示部分资料,需要点击文章最下方名片即可前往获取

二、640套AI大模型报告合集

这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示

​因篇幅有限,仅展示部分资料,需要点击文章最下方名片即可前往获取

三、AI大模型经典PDF籍

随着人工智能技术的飞速发展,AI大模型已经成为了当今科技领域的一大热点。这些大型预训练模型,如GPT-3、BERT、XLNet等,以其强大的语言理解和生成能力,正在改变我们对人工智能的认识。 那以下这些PDF籍就是非常不错的学习资源。

因篇幅有限,仅展示部分资料,需要点击文章最下方名片即可前往获取

四、AI大模型商业化落地方案

作为普通人,入局大模型时代需要持续学习和实践,不断提高自己的技能和认知水平,同时也需要有责任感和伦理意识,为人工智能的健康发展贡献力量。

← 返回列表