Anthropic 工程师:我们日常如何使用 Claude Code
这期主讲人 Arno 是 Anthropic Applied AI 团队的架构师,他带来一场可跟做的 workshop:用一个真实 repo 演示怎样配置 Claude Code,怎样让它问问题、生成 HTML 规格稿、再把验证流程做进 React 组件和浏览器。这不是一份"小技巧"合集,更像一份内部工作习惯的公开样本。我认为这期最值钱的地方是 verification framework,也是六篇里唯一给出了具体可抄的实现细节的一篇——不是理念,是能直接搬进项目的做法。
Agent 变强后,工作习惯也要变
Arno 开场直入:模型越来越强,Agent 可以跑更久、接更复杂的任务,代价也随之变大。短任务跑偏浪费几分钟,长任务跑偏会烧掉大量 token 并生成一堆难以复盘的中间产物。
如果你让 Agent 跑更长时间,它做错事时会烧掉很多 token。
— Arno, Anthropic
进阶用法不在多记几个命令,而在任务开始前把方向、验证和反馈通道都布好,让 Agent 在更少人类 touchpoint 的情况下知道自己有没有走偏。
让 Claude 先采访你,再生成 HTML 规格稿
第一层工作流是需求提取。Arno 借 Sutton 的 bitter lesson 给出判断:模型能力越强,人越应抑制"提前硬编码一切"的冲动。好 prompt 不是把需求一次写完,而是让 Claude 使用 ask user question 工具反过来采访你。
Claude 可能比你更擅长提取你想要什么、需要什么。
— Arno, Anthropic
坏 prompt 是"make it better";好 prompt 给出领域、受众、开放式问题,并明确让 Claude 提问。设置上 fast/auto mode 开启、effort 推高——权限弹窗和低推理会打断节奏。
需求成型后,Markdown 一长就失效——超过两百行难以认真读、也难以给出具体反馈。demo 里 Arno 让 Claude 为分账应用生成四个 HTML 设计方向,人直接点击、比较、截图反馈。
Markdown 文件是 AI-native 软件开发生命周期的通用语。
— Anthropic
前端的"稍微有点歪""层级不对"很难只靠文字表达,把截图与 HTML 规格稿一起交给 Claude,反馈就从抽象意见变成可定位的改动。
我的看法:「让 Claude 反过来采访你」这条我完全认同,而且我觉得它比 workshop 里给的理由更重要——不只是「Claude 可能比你更懂你要什么」,更实际的是它把「需求不清楚」这个问题从事后返工提前到了事前拦截,返工的代价永远比多问几句话贵。唯一要注意的是这依赖 Claude 主动提问的意愿,如果 effort 没调高、模式没设对,它大概率会直接开始干活而不是先问——这一点 Arno 后面提到了,但很容易被忽略。
← 图片可左右拖动查看 →
验证前移到产物:DOM 合同 + 三条路径——这是全篇的核心,我完全站在 Arno 这边
视频最有价值的部分是 verification framework。Arno 区分 test 和 verify:测试关注代码能否通过,验证关注产物能否被人和 Agent 原生检查。在 React to-do app 里,组件把 total、done、active 发布到 DOM,Agent 直接读公开的 DOM contract 运行验证,不必 scrape 页面、不必猜内部状态。
test 和 verify 这个区分我认为讲透了一个长期被混用的概念:单测通过只证明代码逻辑符合你写的断言,不证明产物本身对不对。这也是为什么很多团队「测试全绿、上线出问题」——他们验证的是代码,没验证产物。Arno 给的解法很朴素,就是让产物自己暴露状态,这一点没有任何理论门槛,任何前端项目现在就能抄。
让验证原生存在于事物本身,这样 Agent 可以和人一起驱动它。
— Arno, Anthropic
每个组件带 schema、fixtures、known states 和 invariants。Arno 故意写一条"3 + 4 不等于 10"的 invariant:普通测试能通过,但 verification dashboard 会毫不留情把失败暴露出来。同一套验证给三个表面用:人看的 dashboard、Agent 从浏览器驱动的方式、CI 里 headless 跑的命令,三者围绕同一份 manifest、同一批 probes、同一组 invariants 工作。
可以用人类可读的方式验证,也可以用 Agent-first 的方式验证,还可以 headless 地跑。
— Arno, Anthropic
他强调 probes 要能推离 happy path:只验证顺利路径,Agent 很容易给出看似漂亮、实际脆弱的结果。边界、错误、不一致状态都要能运行验证。
证据自动留下,让多花 token 换少返工
验证只告诉 pass/fail 还不够。Arno 现场演示 recording:验证步骤可以被录成 clips,打包下载、放 S3、分享。当 Agent 提交越来越多代码,验证记录会变成团队信任它的基础设施。
你可以下载全部 clips,它们就是证明验证跑过的 bundle。
— Arno, Anthropic
HTML spec 单次生成可能更贵,但规格更丰富、更好读、更容易截图反馈,长期会少迭代很多轮。会用 Claude Code 的团队,差距会从"谁更会写 prompt"转向"谁更会设计 Agent 可以工作的环境"——context files、commands、hooks、subagents 共同组成这套环境。这个判断我认同,但想补一句:这个结论对个人开发者的适用性要打折扣,「设计 Agent 环境」本身需要工程投入,团队规模够大才能把这笔投入摊薄,独立开发者更现实的策略还是先把 test/verify 这条分清楚,再谈环境设计。