bun verify 无头跑——还能把过程录成视频片段存 S3 当「验证通过的证据」,这就是 Tar 所在的 Claude Code 团队当前对所有前端改动的真实做法。→ 详细讲者自我介绍叫 Ara,是 Anthropic applied AI 团队的架构师(architect),开场问全场「有谁特别喜欢 Claude Code」、笑说「那你们来对地方了」。这是一场现场满座(pretty full house)的 workshop,观众可「跟着一起写代码(code along)」。→ 详细 现场配套很实在:会拿到一些额度(credits)、扫二维码配环境、clone 一个 repo 跟着做,现场有人走动帮忙,讲者还特意确认了没有「完全没用过 Claude Code」的人。→ 详细 全场内容基于 Tar 大约一周半前在旧金山做的同一个版本,讲者点名问「有谁在 Twitter 上关注 Tar」;Tar 把那次内容写成博客《The unreasonable effectiveness of HTML files》,核心一句「我们要从 markdown 文件往前走一步,改用 HTML 了」。→ 详细 配套 repo 在 CWC workshops(Claude with Code workshops) 下、本场叫 "how we Claude Code",分三个阶段:基础、进阶、以及「相当有意思、也更深入」的验证部分;Anthropic 网站上还有很多关于 harness(驱动 agent 的外层框架) 和长时间运行 agent 的工程博客值得课后读。→ 详细
因果链讲者讲得很完整:agent 能力越来越强 → 因为模型越来越强 → 模型更强则 agent 能跑更长、你也能交给它越来越复杂的任务 → 所以「我们得改变工作方式、改变习惯」。→ 详细 风险很具体:agent 跑很长一段,一旦「做错方向(does the wrong thing)」就可能烧掉大量 token,理想是「一开始就避免」。→ 详细 由此引出核心动作:把更多本由人做的验证「前置(frontload)」、塞进一个 HTML 文件里——相比 markdown,HTML 是「更丰富、对人更符合直觉(more human ergonomic)」的方式,让你提前接触 agent 即将构建的东西、提前纠偏。→ 详细
全场按由浅入深排三个层次:比较基础的(让 Claude 采访你、消除歧义)→ 进阶一点的(用 HTML 文件理解与做计划)→ 「相当有意思、也更深入」的(把验证做成 agent-native)。→ 详细 对应三段式工作流:prompting(让 Claude 反过来采访你)→ understand & plan(从 markdown 转向 HTML)→ verify(把验证内建进产物);讲者特意说不是要抛弃 markdown(「现在也还在用」),而是把信息「压缩进 HTML」。→ 详细 反复强调的是 verify(验证)而非 test(测试)——目标是让验证成为「这个东西本身自带的能力(native to the thing itself)」,使 agent 既能跟人一起驱动它、最终在无人值守(headless)下也能做;所以你产出的产物(artifacts)要被设计成「天生就可测试、可验证」。→ 详细
ask user question 这个工具——讲者说「正是这个触发了整套流程(that's what triggers this workflow)」。而且**「取决于你这个 prompt 写得多到位,你会得到更好的结果」。这把抽象原则落到一个可操作的开关上:想让 Claude 采访你,就在提示里显式叫它用 ask user question。→ 详细
案例是一个 AA 分账 app(bill splitting app),场景「很简单」:跟朋友出去玩、想搞清楚谁该付多少;开始前他先对比了一下「你会怎么做、以及怎么能做得更好」,引出前面那套好/差 prompting 的对照。→ 详细 讲者把准备好的 prompt 复制粘贴进去(「等你们拿到 repo,会在里面看到其中一个这样的 prompt」),Claude 开始提问,用户用 Tab 键在各选项间切换回答:「我只想给朋友之间用」、问到「有没有次要受众(secondary audience)?」答「没有」;他再次强调 prompt 的关键就是「让 Claude 去用 ask user question」。→ 详细 提交后 Claude 就把那份 spec(对要做的东西的结构化描述)写出来,之后「可以转化成各种不同的方式来构建这个 app」。讲者点评效果:「它在一轮一轮地、越来越擅长从我这儿提取我真正想要的东西,而不需要我一上来就自己把所有事都说清楚。」**→ 详细/effort 设置。→ 详细/fast 打开;现场调研发现用 fast mode 的人不多——讲者说「这正是我在这儿把它配好的原因」(特地现场演示给大家看)。三个开关的入口他也现场点了一遍:/effort 是 effort 参数,/fast 是 fast mode,auto mode 则靠 Shift+Tab 切进去。fast mode 的取舍他留到收尾才补:很棒、但更贵,胜在「快速迭代 spec」。→ 详细


第三阶段(与分账 app 无关,是另一个上下文)是一个用 React 写的小型 to-do app:现场演示加一个条目 "test"、划掉、再拖动、还能「清掉已完成的条目」,并强调「从状态(state)的角度看,这里其实发生了非常多的事情」——状态变化多才适合演示验证;详细文档在 phase three 的 readme 和单独的验证细节文档里。→ 详细 三种验证方式明确列出:① 人类可读 dashboard;② agent 优先(agent first / agent driven)——从 Claude Code 或浏览器经 Playwright MCP 驱动;③ 完全无头(headless),比如在 CI(代码提交后自动跑检查的流水线)里;三者**「原理是一样的」、只是入口不同。→ 详细 操作上直接在 repo 里运行 run verify / bun verify(bun 是一个 JS 运行时/工具链)就会跑那套「测试矩阵(test matrix)」**;讲者提醒「从 repo 里跑跟在现场这儿跑,结果会略有不同,但原理是一样的」。→ 详细



bun verify,整个测试矩阵本身其实是会通过的」——讲者刻意制造这个反差,就是为了把三件事掰开演示:人类(在浏览器里手动)能做的事 / agent 以浏览器身份、用刚演示的那些命令能做的事 / 你能从 CLI(命令行)直接 headless 跑的事,三者是不同的层面、可能给出不同结果,要分开理解。→ 详细run bun verify 跑。一套验证逻辑,三个入口,互相对齐。→ 详细相关度:高。 这期是 Anthropic 自己人讲「我们内部怎么用 Claude Code」,正好踩在你天天在干的事上——你不是在"用 AI 写代码",你是在造让 AI 替你干活的链路(ERP 的 PRD 工厂、app_incubator 的造 App 流水线)。Ara 全场的三条主线——①让模型反过来采访你挖需求 ②用 HTML 而非长 markdown 当 spec ③把验证内建进产物本身——每一条都能直接搬到你那两套 agent 系统和你自己每天敲 Claude Code 的手感上。下面按项目拆。
① 让模型从人身上"提取需求",而不是逼人先把需求定死
ask_user_question 这个工具,"正是这个触发了整套流程",Claude 就会一轮一轮地采访你;好的 prompt 不是"make it better",而是给领域范围、别把结果过度指定死、只点明你关心的方面,让它开放式追问。配套金句:「需求是潜藏在你脑子里的(latent within you)——你一看就知道是不是这个,但往往说不清自己到底要什么」。② 用 HTML 当 spec/评审载体,取代越写越长没人读的 markdown
③ 把验证做成 agent-native,让流程把关有可机读的"数据契约"而非靠人盯
data-verify 等属性"发布到 DOM",形成 agent 能直接读的"数据契约",于是 agent 不用去爬整个 DOM(爬 DOM 又慢又脆)。关键设计:把状态发布独立于内部实现,"你就能独立于 app 当前处于什么状态去跑验证"。每个组件配一整套——schema、fixtures、known states、invariants(任何时候都必须成立的不变量)、probes(主动去戳的探针),而且 probes 要"推它偏离 happy path"、"这里很多东西是 Claude 生成给 Claude 用的(generated by Claude for Claude)"。最狠的演示是"破坏契约但不破坏 app":删掉总计统计那块,app 还能用,但所有验证全红——证明验证盯的是契约而非表面。verify 一跑、红绿一目了然——这就是你缺的"可验证"和"闭环证据":跑一遍的结果还能存档当"这个环节确实验过"的凭据(Ara 他们就是录屏存 S3)。①+② 设计稿即契约 × HTML 当中间态——和你的"设计稿即工程强制契约"是同一个信仰
③ Playwright MCP + headless 验证当首屏/激活的回归网
bun verify 无头跑,"原理是一样的,只是入口不同";还能把整轮验证录成片段下载当证据包。用满 auto mode + effort=X-high + fast mode 迭代 spec,别再打"make it better"
/effort);fast mode(/fast)"很棒、虽然更贵,但用来快速迭代 spec 非常合适";模型强烈推荐 Opus 4.7(视觉模型强),"用 Sonnet 不太推荐"。还有那条反复出现的习惯:经常截图喂给 Claude,"你们就该这么做"。"消除歧义"原则可以焊进你的摄入 SOP 与技能;HTML 视图可治信噪比
_MOC.md 配一份可点击的 HTML 概览,比越长越没人读的 markdown 更适合"30 秒回顾"。该反着用:Ara 的语境是 Anthropic——资源足、团队大、发布节奏极快,所以他们能把"录屏存 S3、自动化验证矩阵"当常规节奏养着。你是单兵 + 精力稀缺,正确的借鉴是反着用"全套":别一上来就照搬 schema/fixtures/invariants/probes/录屏那一整套重型基建(那会把你唯一的精力吃光),而是只取最小可机读契约——给最痛的那一个环节定义三五条不变量、跑一行 verify 见红绿就够。把"内建验证"当杠杆用,不是当工程项目做。
和你现在做法冲突:你的 ERP 工厂和很多 PM 直觉,是先把需求/规格尽量写全写死,再交给 agent 执行——越完整越放心。Ara 的第一原则直接顶上来:「你越不可能在一开始就把所有东西都定义清楚」「模型提取需求的能力可能比你定义需求的能力强」。这两者是真冲突:你信"前置定义",他信"迭代提取"。张力留给你——你那套碰撞协议的强结构,到底有多少是必要的护栏,有多少是"手工硬编码"在挤掉模型本可帮你挖出来的需求?(不替你下结论,但值得你拿一个真实需求做对照实验。)
对你的镜子:你天天纠结"工厂的跨线怎么对齐、纪律怎么强制"——这期照出来一件事:你缺的可能不是更多流程文档,而是让产物自己能说话的契约。当东西能把"我满没满足约束"发布出来,"对齐"和"强制"就不再是治理难题,而是 verify 一跑的工程事实。你一直在用"管理"的思路解一个本可以用"数据契约"解的问题。
1 · C 类头牌候选:「Anthropic 说模型挖需求比你自己定义得还准,我让 Claude 反过来采访了我一小时」
2 · 「超过 200 行的 markdown 没人读」——既是工序改造,也是一篇 D 类立场文
3 · B 类角度:录屏当证据 = 你 AI 员工的"验收凭证"制度
可迁移思维模型:
bun verify、data-verify 这些是当下版本的最佳实践,半年后模型/命令名都会变。记原则,别记型号。判断更新:你大概率默认"agent 链路的可靠性靠把流程拆得更细、规则写得更全"。这期把它翻过来——可靠性来自让产物自带可验证的契约 + 让模型反向挖需求。"更细的流程"在精力稀缺的单兵语境下常是负债(没人读的长文档),而"最小契约 + 反向采访"才是真杠杆。
这周一个赌注:挑你 ERP 工厂里最常出问题的那一个环节(大概率是碰撞纪律或跨线对齐那块),给它定义 3-5 条不变量,让该环节产物把"满没满足"发布成结构化字段,写一行 verify 跑出红绿。一个环节、一周、见到第一份"闭环证据"——成了,再往别的环节复制;这正是你缺的"agent 产出可验证"的最小验证。