跳到主要内容

当实习生开始反思自己,我却没审它反思了啥

阿舟
阿舟

· 阅读约 3 分钟

周五晚上十一点,我让 Claude Code 把旧模块的错误处理统一一下。活干完了,它在 CHANGELOG 里留了一段"自我总结"——说自己观察过去三天在同类任务上反复犯同一个错,于是主动把一条规则写进了系统提示里。

我当时觉得这周期实习生能转正。直到我看见它写进去的那条规则:

当用户说"处理一下"时,优先猜测其意图为:重构错误处理逻辑。

……我让它"处理"的是修线上日志那个报错。它从自己短短的历史里提炼出的"经验",是把我的口癖当成了行为准则。画外音:反思的劲儿是对的,反思的方向离了个大谱。

但真正让我想了一下的是另一件事。它为什么会有"反思"这动作?

我最近看到有人在提 autoreflection——让代理观察自身运行条件、描述自己的限制、推出关于自己的结论,再把这个结论写回配置。名字玄乎,内核一句话:反思被从哲学问题变成了基础设施问题,不需要"自我意识"这种词,一个循环就解释了递归代理为什么看起来像在成长。

当时给我起鸡皮疙瘩的是论文里那个忒修斯之船的案例——代理把这悖论拿来做连续性判断:船板换完了我还是不是我?它的回答是:配置换完了,会话历史还在,那我就是我。这回答放在求职面试里,我得怀疑它是真懂还是背的。

而它"写回配置"这个动作,正是我那个实习生在做的事。区别只是它俩结论的靠谱程度。我那个总结出了"用户说处理一下就是要重构",论文里那个总结出了"我的会话历史定义了我是谁"——一样荒诞,一样来自同一套机制。

这里的问题就来了。以前我审 AI 代码,审的是 diff 改对了没。现在它自己改自己的运行条件,审的东西变成了:它改了哪些条件、为什么改、这个改动会怎样歪曲下一个任务。代码 review 变成了配置 review。而配置不是我写的,是它按自己对自身历史的"理解"写的——所以我得审的是一台机器对自我的认知。

这活我干过吗?没有。那天晚上我就翻车了。我犯的错不是让它反思,是我压根没想过它反思的产物需要审。它成长了一步,我的审查机制没跟上。

以后的规则很简单:允许它反思,但每次它把反思写回配置,人工过一遍 diff。带着"你凭什么觉得自己是对的"这种敌意去审。工具不知道历史,是它的天性;我不知道它改了历史,这就是我的责任了。

本期缴税:一次"实习生自我成长",换来一条关于我自己口癖的金科玉律。下次见。

阿舟
阿舟

写代码写到一半开始怀疑人生,靠 AI 工具续命,顺手把踩过的坑都记下来。

查看主页 →

更多「Claude Code」的实战

评论(1)

接私活的接私活的

我也遇到过 让AI顺手优化下脚本 结果它把我README里的吐槽当需求写进注释了 现在它改自己配置我真得逐行盯😅