周三下午,产品过来丢给我一个活了三年多的老模块,说这个月要加个功能,让我先重构一下再动刀。我扫了一眼那堆乱麻似的代码,第一反应就是打开 Claude Code,把整个目录丢给它,命令行里敲了一句"帮我看看这块怎么拆最合理"。结果五分钟之后我回头看,它不光把模块拆了,还顺手改了两个对外接口的签名,连文档都给我重写了。我当场愣住——我压根没让它动接口。
这就是我最近大半年天天泡在 AI 编程工具里的真实日常。从 Copilot 自动补全,到 Cursor 的 Composer,再到现在一上来就能操盘整个项目的 Claude Code,这两年代码工具的形态进化快得离谱。Copilot 还停留在"你敲一半我补后半句"的辅助位,Cursor 开始帮你改整个文件,到 Agent 化之后,工具已经变成一个能自己读仓库、自己跑测试、自己改文件的"隐形同事"了。听起来是不是特别省心?
省心是真的省心,但边界感也是真没长出来。我前面那个翻车不是个例,它暴露了 Agent 式编程最核心的一个问题:你到底是让它"帮忙",还是让它"做主"。我复盘了好几次,发现大部分翻车,根子都在我自己的提示词上——我给了它一个开放的指令,却没给它画清楚"哪些能动、哪些别碰"。这就像你把车钥匙扔给代驾,却忘了说"去加油站,别上高速",人家自然按自己理解的路线开了。
那是不是提示词写清楚了就没事?也不全是。我后来专门试过把边界写得明明白白,比如"只重构 module_a.py,禁止改 api/ 目录下任何文件"。老实说,单纯重构这种活儿,它做得比我想象中靠谱,能给你拆出一套挺像样的目录结构,函数也帮你归拢好了。可一旦任务里藏着"语义判断"——比如"这个接口虽然没人调,但可能有外部系统依赖,你别动"——它就抓瞎了。它看不到你脑子里那些隐形的业务约束,也读不出那些"没有注释但绝不能删"的祖传代码。这个坑,光靠提示词是填不平的。
我慢慢想明白一个道理:AI 编程工具真正的价值,不是替你"做决定",而是替你"省体力"。决定还是得你来做。Copilot 时代补全行代码,它是你的"输入法";Agent 时代改整个文件,它是你的"实习生"——实习生能帮你把脏活累活干了,但项目怎么走、哪块不能碰,还是得你这个负责人把方向拿死。所以我现在用 Claude Code,边界反而画得比以前更死了,每一条大改动前都会先跟它"对一下方案再动手",而不是一上来就"你看着办"。
我还给它立了几条不成文的规矩,算是摸出来的土办法。一个是凡是会动到仓库结构、接口签名这种"牵一发动全身"的改动,我绝对不让它直接落盘,先让它把改动计划用 diff 形式列出来给我过目,我拍板了它才能改。另一个是上下文窗口这种东西得盯紧,任务一大它就会"失忆",前脚刚跟它说的约束,后脚就给你忘干净,所以重要的边界条件我会在每一步的命令里重新强调一遍,而不是指望它记住。还有跑测试这关,它经常"自己补一个测试然后自己过了",那种自证清白式的通过,我从来不当真,关键的逻辑我都是自己上手再验一遍。这几条听着挺笨,但真的给我挡掉了不少幺蛾子。
我知道很多人会担心:这玩意儿会不会哪天把我饭碗端了?我的体感恰恰相反。Agent 越强,工程师的"判断力"反而越值钱。以前写代码是体力活,谁手速快谁吃香;现在 Agent 把体力那部分全包了,剩下的就全是"你要什么、边界在哪、哪个方案更靠谱"这些判断——而这恰恰是机器最不擅长、人类最该守住的东西。工具越强,反而越逼着你从"代码工人"往"系统设计师"走。
写到最后,我自己也在反复想这件事。Claude Code 那天下班前,我把它改坏的那个接口,花了我两个小时回滚、恢复、跟同事解释,最后一个没忍住,还是在命令行里问它了一句:"下次这种结构性的改动,你是不是应该先问我一句?"它回我"你说得对,是我考虑不周"。那一刻我有点哭笑不得——它是真会认错,也是真不长记性。
你在用 Agent 式编程工具吗?你把它当"输入法"还是"实习生",还是干脆让它全程自己跑?它有没有在哪次替你做过一个你根本没想到的决定?评论区聊聊,我很想听听你们是怎么跟这些"隐形同事"划清边界的。
网硕互联帮助中心


评论前必须登录!
注册