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」。→ 详细

痛点:做前端时常撞到语言表达的天花板——讲者原话「你很难用语言准确说清楚,比如这东西有点不对劲、这里有点没对齐,你会发现你很快就撞到语言表达能力的天花板了(run into the limits of what you can express)」。→ 详细 解法:Opus 4.7 的视觉模型(vision model,即模型「看图」的能力)比以前强多了,所以更适合「让它主动(proactively)从你这儿、从截图里把问题抽取出来」,而不是逼你用文字硬描述。→ 详细 讲者把这条当成该养成的习惯反复强调——「你们就该这么做」,尤其在前端场景;这也和第九节「截图喂回 Claude」连成一气:截图不只是给设计方向反馈,也是诊断前端 bug 的高效输入。→ 详细

第三阶段(与分账 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 跑。一套验证逻辑,三个入口,互相对齐。→ 详细模型选择:强烈推荐 Opus 4.7——「Opus 4.7 之所以特别好用,是因为它的视觉模型更强,这正是它真正出彩的地方」,并明确「如果你用 Sonnet,我不太推荐」,再配 fast mode 来「快速迭代 spec」。→ 详细 回应一个常见质疑:「HTML 形式的 spec 不是更费 token、更不划算吗?答案往往是否定的」——理由是「从长远看,如果你有一份好的、内容丰富的 HTML spec,你迭代的次数会更少,哪怕单次生成它会多花一些 token」,一次性多花换长期少返工,总账更省;fast mode 的取舍也补全:「很棒,虽然更贵,但用来快速迭代 spec 非常合适。」→ 详细 收尾行动号召落到 repo 上:去看 repo(那里有「很棒的文档」)、自己跑几个例子和测试、改代码看哪里会坏、再重新跑,配合 Opus 4.7「你能从里面挖出很多东西」。→ 详细
(本场为单人演讲/workshop,无正式 Q&A 或闪电问答环节。)
过程中有少量现场互动、举手调研与收尾要点,一并记录: