[程序员] 我做了个工具防止 AI agent 在不熟悉的代码里乱改 — 找几个内测

[程序员] 我做了个工具防止 AI agent 在不熟悉的代码里乱改 — 找几个内测

当AI Agent“合理”地改错代码:一个Staff Engineer的痛与解药

当AI编程工具能写出一段“看起来完全合理”的代码,却基于一个已被团队放弃的错误前提——这种“优雅的错误”正成为资深工程师们的新噩梦。一位来自某科技公司的Staff Engineer,在内部推广AI编程并编写使用指南时,反复遭遇这一现象,并为此亲手打造了一个名为mainline的内测工具。它的核心主张激进却直指痛点:让团队的决策记忆成为Git仓库的“一等公民”

AI的“合理”幻觉:代码看得见,决定看不见

该工程师在V2EX上分享了一个典型场景:团队仓库中存在一个半成品的Redis队列文件(redis.go),附带TODO注释,甚至docker-compose里也配好了Redis。当Claude Code之类的AI Agent扫描代码库时,会“合理地”认为应该将其实现完成。但真相是,这个团队早在三周前就因Redis的replication延迟导致billing事件重复而放弃了这一方案。这个关键决定散落在一个PR的评论里、几条Slack消息中、以及几个工程师的脑子里。

代码搜索能看到redis文件——但看不到那个决定。”这句话精准地揭示了当前AI编程工具在理解“上下文”时的结构性缺陷。Agent知道代码的“当前状态”,却不知道团队为何走到了这里。它看到的代码库是静态的,而团队的开发史是动态的、充满权衡与转向的。每个Agent在孤立场景下都能work,但都未能解决“agent改不熟悉的代码前能拿到团队的真实决策”这一根本问题。

mainline的解法:让历史决定像代码一样可被查询

这位工程师创立的mainline,其核心thesis是:决策记忆应该是git一等公民。区别于传统的代码注释或文档,mainline试图将那些散落在Slack、PR评论和工程师大脑中的关键决策,以一种结构化的方式与代码版本捆绑。这并非一个辅助写代码的工具,而是一个试图为AI Agent提供“代码上下文之外,决策上下文”的基础设施。

目前,mainline处于极早期的内测阶段。作者并非急于售卖,而是真诚地在技术社区寻找“深度用户”——他承诺提供安装包、文档,甚至每周一次30分钟的一对一同步,并优先修复内测用户遇到的bug。这种“dogfood”(自己先吃狗粮)的态度,以及对社区反馈的开放姿态——他想听“有没有更好的现有解决方案我没想到的?有没有觉得这个方向不对的?”——让这个项目显得尤为务实。

我的看法:一个值得关注的“元问题”解决方案

在AI编码工具竞争日趋白热化的当下,大多数产品都在比拼代码生成速度、多文件编辑能力或对特定框架的支持。但mainline切入的是一个更底层、更隐蔽的问题:AI如何理解代码库背后的“人”的逻辑?现有方案如代码注释、架构文档或更精妙的prompt工程,都无法完美解决“隐性知识”的传递问题。如果mainline能够成功地将团队决策历史变成一种可被Agent索引和推理的结构化数据,它可能为整个AI编程领域提供一种全新的“上下文范式”。

尽管它目前只是一个内测工具,但这个方向——让AI“看到”那些代码之外、却决定了代码面貌的沉默因素——无疑击中了所有深度使用AI编程的团队最真实的痛点。这或许不是一个更聪明的代码生成器,而是一个让AI变得更“懂行”的底层思维框架。

celebrityanime
celebrityanime
文章: 869

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注