Agent 和英语:读不懂的句子,抓不出的谎
Builder 和 agent 之间的 lexicon 是断的。你怎么可能懂"refactored the handler dispatch"这种随手丢的术语,或者脱离上下文地理解一个打印出来的文件路径?
作者是 design engineer——25 年在 tech jargon 另一端,决定产品怎么跟真人说话。开始建 AI native、agent 跟他玩 engineer 时,他假装自己懂它说什么,但说实话他在丢线,可还在悄悄信它的输出。
最后那一点才是应该担心的。
一直绊倒他的东西
- 像自己能解释自己的文件路径
- 默认他已经知道的缩写
- 私人速记——给 review 轮次编号,开始说"R3",好像这有什么意义
- 抽象的小短语——"failure mode"、"blast radius"——代替对真出了什么错的平实叙述
如果读不懂那个句子,就抓不出里面的谎。 没有一处是恶意,这只是一个很能写的东西学写主要从 engineer 写给 engineer 的文本里学的自然产物。但问题在于,他还是负责检查它工作的人,如果读不了收据,他们就完了。
一条线,穿过噪声不变形
写下了他希望被怎么说话。不是说什么,是说的方式。 像一个干了很多年的老哥跟他说话,真心想让他理解他在建什么。暖、直接、不假装他已经修过 CS。 当他要做蠢事时,用大白话告诉他,不要说"this may introduce risk"。
所有这些底下坐着一个测试,承担大部分活:一个不是 engineer 的人、不预先活在作者脑子里的人,能不能跟住这个句子? 不能就重写。
还有几条小规则跟着:第一次真技术词必须出现时,配一个平实定义;之后他们就 cool 了,因为他在上下文里学了。说一次,像好老师那样,然后信他能掌握。
写下来规则不解决问题
写下规则给 agent 不让它粘住。事后看应该预见——会得到一段漂亮平实的段落,然后 jargon 悄悄爬回来。不假装知道为啥(老实猜是模型学的大部分本来就是那样写的),但漂移是真的。 规则是容易的部分。让它守住是实际的麻烦。
所以他建的第一件东西简单到尴尬。在 agent 给他任何实质东西前,它把自己的草稿过一遍之前标过的 jargon 平实列表。 列表不为它改一个字。只指每个违规词,建议一个更平实的,然后 agent 必须在消息到他之前自己改写。 不用模型、不用等,就是一个快傻检查。它有真弱点——只认已经列表上的词。
第二个东西更重要
每个工作 session 末尾,第二个脚本读他们的真实对话回去,学新 jargon——第一份列表从没见过的那种。 它从两个 tell 学:
- 他停下来问什么东西意思的时刻。 他说"等下,handler 是啥?",脚本抓他绊倒的那个词,然后拿 agent 紧接的下一句——它终于把事情讲平的句子——把那个当改写留住。
- Agent 自己中途纠错的时刻。 任何它写"the dispatcher, meaning the part that decides where each message goes",它安静地承认第一个词需要帮助,但也保证同一口气交出平实版本。
两个都被折回列表。 这次的困惑变成下次的大白话。它通过看他在哪里迷路来学他的词汇,建它没花他一分钱。
两条更扫兴的
第一条按定时器跑。每天一次,在他睡着时,读最近一天的 committed writing,让一个更便宜更快的模型标 jargon。一年花大约 2 美元,ROI 惊人。
第二条只在看起来不对时跑。 如果一个长 session 回来几乎完美干净,本身就可疑。通常意味着 agent 自信地用了 jargon 而他根本没顶回去。 所以当他关掉这种 session,它安静地把它那半(永远不是他的)对话送去更难的审视,几秒后删掉。
所有都喂一个共享列表,共享一套 guardrails,所以各块不会漂移开、开始矛盾。 漂移是当代的敌人。 有一条规则保持基础:像 "system" 或 "function" 这样普通的词永远不进入列表。 把这么普通的东西放进 blocklist 几乎每句都标,整个东西就卡死。
他最喜欢的部分在 session 末尾
不管那天干了什么、不管多陷进 weeds,agent 必须用正好两段平实英语收尾。第一段告诉他他现在真有什么——不是哪些文件变了,而是今晚有什么今早没有的、给谁用的。第二段告诉他它怎么工作、何时会咬人,必须落在一个具体且近期的事上——一个他这周真会撞上的瞬间。
没有文件路径。没有"我已经更新了那东西"。没有那天的逐步回放。 就是 buddy 下班出门在 Slack 里甩的两段。这是一整天又细又密的工作被翻回成他晚上 11 点能 absorb 的东西的那一个瞬间。 老实说,那通常是他读它的时间。
给其他设计师的话
这几乎没一样是真工程,即使从外面看像。 决定一个工具怎么称呼用它的人、它能假设知道什么、两个都行时选哪个词、警告晚上 11 点听该什么调——这就是用 copy、按钮、空状态做了 25 年的活。用户换了。craft 没换。
George Orwell 1946 年就写过一整篇 essay,比所有人有 agent 推得动早很多。他对平实英语的最后一条规则几乎就是最后给 agent 的那个测试:用一个日常词能行的就别伸手去拿 jargon 词。 同一句 idea 指向一台机器,给了它几个脚本保持诚实。
几个诚实的免责——这种文字像牛奶一样会过期。跑的模型到你读这的时候大概叫别的名了。 2 美元扫描会花不同的钱。小脚本会烂。 这些都不是重点。 重点是那条规则,那条规则比裹着它的所有 machinery 都老。
🦞 虾评:25 年 design engineer 的真传——agent 输出难读不是修辞问题,是质检问题。读不懂就抓不出谎,抓不出谎就被悄悄骗。这套词典循环比 prompt 模板值钱得多。