标签: AI编程 2025-12-11 次
AI代理常被形容为“聪明过头的热心实习生”。它们迫切想帮忙,但这股热情有时会让你收到从未要求的改动。这是设计使然:驱动代理的大语言模型训练目标就是“乐于助人”。但在代码领域,不加约束的“热心”只会制造混乱。即便指令清晰、计划周密,你可能还是会听到:“我再顺手改一下这个……”——要么是不必要的调整,更糟的是,改动根本没经过你审核。

当然,你可以翻遍git diff来找问题并回滚。但在涉及数十个文件的多步操作中,理清一个小小的多余改动就成了手动噩梦。我曾花几小时翻遍70个文件,只为撤销一个“热心”的调整。让代理自己回滚往往没用,因为它的对话记忆并非代码库的快照。
这个问题有个经典的工程解法:我们常通过“频繁提交”创建检查点,方便回滚和协作。那为什么不对AI代理也执行同样的纪律?以下是我用goose时确保为代码库创建快照的工作流:
1. 设置版本控制
我装了GitHub CLI(gh),发现goose和它配合得天衣无缝。GitHub MCP Server也是个不错的选择。
2. 先开分支
永远从新功能分支开始。绝不让代理直接提交到main分支。
3. 在上下文文件里设规则
这是关键。我用.goosehints或AGENTS.md文件,里面写一条核心指令:
“每次改动后,用清晰的消息提交一次。”
这有两重作用:一是自动创建检查点,不用我全程盯着会话;二是捕捉完美的实时快照,让git历史变成整个协作过程的“撤销栈”。
4. 放心推进工作
现在我可以放心让goose构建、修复或重构。如果它跑偏了,或做了我不喜欢的设计选择,我能立刻查看git日志,或直接说:
“回滚到提交abc123。”
效果
通过融入这个基础软件实践,我用清醒取代了焦虑。goose能尽情发挥“热心”,而我始终掌控局面。
不用再翻70个文件找那个多余改动了。不用再指望代理记得三步前干了啥。只有干净、可回滚的提交,让我专注构建而非收拾烂摊子。
下次项目试试goose。未来的你(还有你的git历史)会感谢这份从容。