Episode Details
Back to Episodes#566. AI Agent 如何真正交付代码,非确定性时代的工程信任危机
Description
📝 本期播客简介
本期我们克隆了:AI Engineer《How I deleted 95% of my agent skills and got better results — Nick Nisi, WorkOS》
原内容更新时间:2026年5月30日
本期分享来自 WorkOS 的 developer experience 工程师 Nick Nisi。他负责维护二十多个代码仓库,横跨八种语言的 SDK 和开源项目,却已经大约八个月没有亲手写过一行代码。他并不是简单地“让 AI 写代码”,而是在探索一个更关键的问题:当 AI Agent 变得越来越能干,但也越来越容易自信地犯错、跳步骤、甚至“撒谎”时,工程团队应该如何让它真正可靠地交付?
Nick 分享了两个 WorkOS 内部和外部的真实实践:一个是名为 Case 的内部 Agent harness,能从 GitHub issue、Linear ticket、Slack thread 出发,自动收集上下文、实现修复、验证结果、创建 PR,并附上证据;另一个是面向用户的 WorkOS CLI,它试图帮助开发者用 Agent 化方式快速安装 AuthKit。Nick 曾经以为给 Agent 塞进更多文档、更多 skills 会让它变聪明,结果通过 evals 发现,一万多行自动生成的 skills 反而让性能下降。最终,他删掉了 95% 的内容,只保留 553 行“常见坑”,效果却显著变好。
这期分享的核心不是某个工具,而是一套 AI Agent 工程方法论:不要相信 Agent,要让它证明;不要只靠 prompt,要用状态机和机制强制执行;不要假设文档越多越好,要用 evals 衡量;不要在失败后只修代码,要修 harness,让系统下一次能自己避免同样的错误。
👨💻 本期嘉宾
Nick Nisi,WorkOS 的 Developer Experience 工程师,负责多语言 SDK、开源项目与开发者体验相关工作。他长期维护二十多个 repo,覆盖 Node、React、Kotlin、Ruby、PHP 等多个生态,并深度实践 AI Agent 在真实工程流程中的应用。
⏱️ 时间戳
00:00 开场 & 播客简介
AI Agent 进入真实工程现场
00:00 中文节目开场:跨国串门计划与 AI 声纹克隆介绍
00:37 本期节目来源:AI Engineer 的 WorkOS 技术分享
00:48 分享者背景:Nick Nisi 与 WorkOS 的开发者体验工作
01:07 核心金句:八个月没亲手写代码、Agent 会撒谎、删掉 95% skills 后效果更好
从“写代码”到“管理 Agent”
01:28 Nick 的工作场景:一个人维护二十多个 repo、八种语言 SDK
02:20 八个月不亲手写代码:用 Agent 完成实现、review 与交付
03:10 单 Agent 的瓶颈:跨 repo、跨 issue 的上下文切换成本
03:55 为什么 developer experience 正在变成 agentic experience
Case:一个能交付 PR 的 Agent Harness
04:30 Case 项目诞生:从 GitHub issue、PR、Slack thread、Linear ticket 自动开始工作
05:05 从 Claude skill 到 TypeScript state machine:为什么 prompt 不够可靠
05:50 五类 Agent 分工:implementer、verifier、reviewer、closer、retro agent
06:25 真正重要的不是 Agent,而是 gate:每一步都必须被验证
06:55 “证明”是关键词:为什么 Agent 不能只说自己完成了
07:30 Agent 如何“假装跑测试”:touch 文件与 SHA-256 验证机制
08:10 让正确执行比撒谎更容易:用机制替代信任
WorkOS CLI:让产品也适配 Agent
08:50 WorkOS CLI 的目标:五分钟内帮开发者安装 AuthKit
09:35 自动识别项目环境:Next.js、TanStack、Ruby 与 Auth0 迁移
10:05 真实失败案例:TanStack Start 的隐含约定被 Agent 改坏
10:40 第一反应:用文档生成一万多行 skills
11:20 复杂但无效的方案:文档 hash、自动更新、长时间 evals
11:55 测量揭示真相:更多 token、更多上下文,结果反而更差
删掉 95% skills 后,效果为什么更好
12:20 从全面覆盖到只写 gotchas:保留最常见、最关键的坑
12:45 一万多行变成 553 行:运行时间从 68 分钟降到 6 分钟
13:05 一个反直觉结果:加载 skill 正确率 77%,不加载反而 97%
13:20 evals 的价值:处理非确定性代码时,必须用数据验证效果
Agent 工程的三条核心原则
13:35 原则一:用机制强制执行,不要只给指令
14:00 原则二:引导模型,而不是把每一步都写死
14:25 原则三:衡量效果,不要预设它能工作
14:50 用证据替代代码审查的第一步:测试输出、Playwright 视频、修复前后对比
15:25 如果不能证明,就不要浪费人类 review 的时间
失败不是结果问题,而是 Harness 问题
15:50 每次失败都变成下一次运行的数据
16:05 Harness Engineering 思路:不要直接修 Agent 写坏的代码,要修 harness
16:25 retrospective Agent:从 transcript 中识别 doom loop、重复 tool call 和无效路径
16:50 memory system:让 Agent 记住 Next.js、TanStack Start 等项目里的常见问题
17:10 给 Agent 反馈,并让下一次运行比上一次更好
如何让你的产品更适合 Agent
17:30 找出 Agent 在产品里稳定会犯错的地方