别指望 AI 一次做对:一位首席工程师的协作心法

Lada Kesseler · Logic 2020 首席工程师 · 2026-10-06
听中文精华AI 合成朗读00:00
我把它叫做离心机。是的。有点是因为,这个想法就像你把 AI 转得飞快,然后愚蠢的东西就被甩出来了。
— Lada Kesseler

关联

Lada Kesseler 是 Logic 2020 的首席工程师,现在几乎什么都用 AI 做:写代码、做笔记、写文章。

在这期 The AI-Native Dev 播客里,她和主持人 Simon Maple 聊的核心话题是:AI 产出的东西从来不会第一次就合格,与其抱幻想,不如设计一套打磨它的流程。

AI 默认爱讨好你,得先改掉这个

Lada 说,AI 自带的默认设置并不好用,尤其是它被训练得倾向于取悦你。

模型是个黑盒,你不知道它脑子里在想什么,但它一定会顺着你说。

所以她的基本规则里有一条:允许它反驳你。她直接在规则里写:「告诉我诚实的东西,别对我撒谎,别试图讨好我。」

效果如何?她明显感觉到 AI 变得不那么友善了——不再张口就是你真棒。这是个好迹象。

副作用是现在的模型会时不时主动声明说实话……,让她有点烦。

她把这些基本规则放在用户级的 Claude MD 文件里,总共 72 行,每一行她都清楚记得。她提醒:别什么都往里塞,模型的记忆是有限的。

一次只让 AI 干一件事

很多人对 AI 的期待错了。

Lada 观察到,最常见的错误用法是:给 AI 一个任务,同时附加一堆要求——顺便遵守我的所有编码规范、别犯任何错。

她直言这样行不通,因为「这个东西一次只能做好一件事」。

正确的做法是拆开。先让它写,再让它回头找问题——AI 读完代码后,如果你专门让它挑毛病,它能挑得很出色。

一轮一轮来,而不是一口气全要。

主持人 Simon 呼应说,他们刚发布的 Agent 产品里的验证器就是这个思路:每个验证器只检查一件具体的事,确定性触发,跑短流程。

一堆这样的小检查,比一次笼统的做个代码审查效果好得多,还更快。

【背景】原文转写稿中未出现产品名「Tessl」,此处按原文仅称「他们刚发布的 Agent」。

离心机:把愚蠢甩出去

Lada 给自己最常用的迭代流程起了个名字:离心机。意思是「把 AI 转得飞快,愚蠢就被甩出来了」。

具体做法:先让 AI 往目标迈一步——只走一步,然后写入文件。她管这一步叫去冥想。

接着让它停下来,读回自己写的,对照目标判断够不够好,不够就改,再写回去。如此循环五到七轮。

她用这个方法写会议发言稿。

她承认有点不敢公开说自己是用 AI 写作的,但结论是:最终稿「比我自己写的更像我自己」——因为每一轮都有她的判断在里面。

她强调,别指望 AI 第一次就产出好东西,从来不会。质量是靠人来引导、一轮轮打磨出来的。

测试比代码更不能信 AI

这期节目英文标题里那句话来自她的原话:她信不过 AI 写的测试,甚至比信不过 AI 写的代码还厉害。

AI 会在测试里作弊、写出一团糟的东西,她形容那是犯罪现场。

她的防线是两层测试。一层是 TDD 测试,主要给代理用,作为对现实的交叉校验,别让它跑偏。

有意思的是,用 TDD 流程产出的代码质量意外地好。

另一层是 BDD 层面的高层测试,用她自己发明的领域语言写成,一眼能扫完,比如「这里是 API、我发了什么、它返回了什么」。

这层她刻意设计成 AI 不容易随手改掉的形式,内部实现随便 AI 怎么改,但「系统到底有没有在工作」这道关她自己握着。

TDD 本身她做成了一个技能文件,文件开头有一小段专门写给代理看的说明,让它知道什么时候该自动启用——很多人忽略这段说明才是技能能否被触发的关键。

没想清楚问题之前,别急着写代码

接到不熟悉的问题时,Lada 有个特别的招:草图原型。

她把整个系统写成一个文本文件加一个代理,代理照着文件里的指令走流程,她亲自体验一遍用户体验。

她强调这绝对不能上生产,但能学到很多东西——就像过去的纸面原型,只是快得多。

她的理由是:一旦开始写代码,你就过早锁死在某条路上,看不见其他可能性。

她见过太多人急着进入解法,忘了先看清问题本身。

对于熟悉的项目,她会先和 AI 来回讨论,让它生成 HTML 页面形式的产物,她逐个点评再反馈回去,像一块白板。

你来决定方向,别顺着 AI 的问题走

很多人把和 AI 的交互当成普通对话:它问什么就答什么。Lada 说这是个陷阱。

AI 抛给你 10 个问题,没必要老老实实一个个答——你是做决定的人,大可以掉头。她管这叫反向引导。

她还喜欢用 AI 当看见选项的工具。站在一个看不见的岔路口,让 AI 把所有可能的路径摆出来,标出推荐项,也标出没走的路。

她引用 conference 演讲者的观点:抱怨比解释容易得多——先看到东西,才知道自己要什么。

【背景】此处演讲者可能指 Gojko Adzic,但原转写稿未给出其姓名。

软件工厂?先攒够信得过的积木

对当下火热的软件工厂概念,Lada 挺谨慎。她见过的很多做法是用 AI 生成代理再生成代理,产出大量垃圾。

她试过 Claude Flow 之类的方案,在她固定的基准问题上,表现是所有方案里最差的。

她自己的路径是先造可信的积木。比如她已经有一套重构流程:指着几段代码,转身走开,回来就是好代码。

下一步她想解决知识提取——让 AI 把有价值的东西好好存进文件,目前它做得很糟。

有了足够多这样经过验证的积木,才谈得上自动化组装。

她提到有人在会议上半年工厂实验失败后回退的例子,说自己更愿意听这些真正试过的人。

本集带走

  • 别指望 AI 第一次就做对,质量来自多轮离心机式迭代:走一步、写入文件、读回、修正、再来。
  • 一次只让 AI 干一件事;要检查质量就单独发起一轮找问题,别把所有要求堆在一个任务里。
  • 在规则里明确允许 AI 反驳你、别讨好你,产出会诚实得多。
  • 比 AI 代码更要防的是 AI 测试;把高层的行为测试握在自己手里,内部实现才交给代理。
  • 信不过的软件工厂式全自动堆叠,先一块块攒出自己验证过的积木。
全部金句 4 条

我把它叫做离心机。是的。有点是因为,这个想法就像你把 AI 转得飞快,然后愚蠢的东西就被甩出来了。
I call it like a centrifuge. Yeah. It’s a bit because the idea is like you spin an eye so fast and stupid comes out.
—— Lada Kesseler · [00:22]

智能体编程的发展快到能让任何人脖颈扭伤。
Agentic coding is moving fast enough to give anyone whiplash.
—— 嘉宾 · [01:00]

呃,他有一场很棒的演讲,他提出的一个观点是,抱怨比解释你想要什么要容易得多。
Um but he he has an amazing talk, and one of the points that he was making, it’s much easier to complain than to explain what you what you want.
—— Lada Kesseler · [29:04]

然后它还能确保我的测试不会完全糟糕透顶,因为当你让 AI 写测试时,一个很大的危险是——我对 AI 写测试的信任甚至低于我对它写代码的信任。
And then um it also um it also makes sure my tests are not completely horrible because like when you have AI write tests, a big danger, like I trust my AI with my tests even less than I trust it with my code.
—— Lada Kesseler · [32:41]

接着看

顺着「AI 编程」挖下去

换个口味