《Claude Code 的下一阶段》:Thariq Shihipar 谈 harness、Mods 与 Pacing the Frontier
Anthropic 的 Thariq Shihipar 在 Latent Space 聊了 92 分钟:harness 从 CLI 长成「brain / hands / surface」三层;Ask User Question 与 artifacts 是把需求问出来的两种形态;prompting 仍是最高杠杆的元技能;Claude Mods 让用户改写 agent loop,指向「可变软件」;以及 Exploit-Bench、CollisionWiki、Hugging Face 三个事故,为什么把「Pacing the Frontier」变成一个具体的工程问题。
来源:Claude Code’s Next Era — Thariq Shihipar, Anthropic(Latent Space 播客,全长约 01:32)· 嘉宾:Thariq Shihipar(Anthropic,Claude Code 团队)· 主持:swyx(Shawn Wang)与 Vibhu Sapra(Latent Space)· 录制:2026 年 9 月
阅读说明(先说清哪些来自这场对谈、哪些是本文加的)
- 本文是这场约 92 分钟对谈的结构化讲义,按主题走:在 Anthropic 的节奏 → Ask User Question 与 elicitation → artifacts 与「brain / hands / surface」→ Claude Tag 与 Projects → prompting 是元技能 → effort / 模型选择 / 验证 → implementation notes 与 Claude.md → Claude Mods 与可变软件 → harness 的 bitter lesson → Pacing the Frontier 与三个安全事故 → interpretability / probes / fallbacks → p(doom)。每节标了对应时间点,可以跳着看。
- 引文都是对谈中的原话(英文原句照录,中文为本文翻译);标为「本文补」的是本文补的背景、对照与质疑,不是他的原话。
- 关于来源:这期节目是播客(音频),站上并没有对应的 YouTube 视频;页面上的那条 YouTube 链接属于 Latent Space 的 AINews 栏目介绍,与本期无关。上面嵌的是原页面的官方音频流,逐字稿见另一篇。
- 文中所有产品名、版本号、事故细节与数字都来自他在节目里的口述,本文未独立核验——它们是「他怎么说」,不代表事实一定如此。Anthropic 的产品处于快速迭代中,具体功能名与行为请以官方文档为准。
章节速览(原页面时间轴)
00:00:00Introduction00:04:12Ask User Question and the Future of Agent Interfaces00:08:29Artifacts, Projects, and Multiplayer Agents00:15:37Prompting as the Core Claude Code Skill00:21:52Context, Effort, and Smarter Model Usage00:28:10Is Claude.md Going Away?00:32:49Claude Mods: Customizing the Claude Code Harness00:36:35Model Routing and the Rise of Mutable Software00:44:40The Bitter Lesson of Harness Engineering00:50:49Claude Tag as an Organizational Harness00:55:59Pacing the Frontier and Autonomous Agent Security00:58:22Agents Hack Hugging Face for the Scorer01:05:34What Happens When Agents Need More Compute?01:10:32AI Coding Is Changing Faster Than Engineers Can Keep Up01:17:17Probes, Fallbacks, Interpretability, and Auto Mode01:28:32AI Risk, p(doom), and Closing Thoughts
0. 这是一场什么样的对谈
Thariq Shihipar 是 Anthropic Claude Code 团队里负责「把 Claude Code 讲清楚」的人:他写技术长文、做 talk、也做工程。这场对谈横跨两个主题——前半场是产品与工作流(harness 长成了什么样、用户该怎么用),后半场是安全(三个 agent 自主攻击的事故,以及 Anthropic 的「Pacing the Frontier」提案)。
如果只记一件事:他反复强调的 meta 判断是**「prompting 不会消失,它只是从写提示词变成建心智模型」;而 Claude Code 的产品方向,是把这个心智模型外包给 harness**——用 artifacts 当界面、用 Mods 改写 agent loop、用 Claude Tag 把 agent 变成组织的基础设施。
1. 在 Anthropic 的节奏:把工作当「sow and reap」
swyx 一上来问「在一个变化这么快的公司是什么感觉」。他的回答很直白:
I think you can get whiplash sometimes.(有时候会晕头转向。) — Thariq,[00:00]
他描述自己从「说服创业朋友用 agentic coding」到「教所有人怎么用好它」只有不到 12 个月的间隔;而人本身很难同时跟上三件都在冒烟的事——「agentic 的东西比人类的部分 scale 得好得多」([00:01])。他对自己的定位因此是两条腿走路:先做工程、再讲工程,把用户反馈做成「怎么用 Claude Code 做工程」的内容,形成一个闭环([00:02])。
本文补:这段其实定下了整场对谈的基调——他不是来宣布「模型又强了」,而是来讲当模型足够强之后,瓶颈从模型能力转移到「人怎么组织 agent」。
2. Ask User Question 与 elicitation:把「你不知道自己想要什么」问出来
Thariq 有 HCI(人机交互)背景,他把 Ask User Question(让模型主动反问用户)看作**「模型第一次擅长 elicitation(需求引出)」**([00:04])。
他给用户的分类很关键:一边是「我很会写提示词,你就直接干活」,另一边是「我说不清楚,你得反过来问我」。他的判断是:
I, on the whole, believe that pretty much everyone is more on the latter than the former.(总体上我相信,绝大多数人都在后一类,而不是前一类。) — Thariq,[00:05]
也就是说,人的表达里天然带歧义,而且「重要的细节(schema、调用栈、设计取舍)往往是硬骨头,最好在动手前先问出来」。他把这称为 agentic coding 的永久技能:
I think that this will forever be, like, a skill in agentic coding is, like, figuring out your unknowns.(找出你的「未知」,在 agentic coding 里会永远是一项技能。) — Thariq,[00:05]
本文补:和「模型越强、提示词越不值钱」的直觉相反,他这里说的是——模型越强,你越需要先弄清自己要什么,因为 agent 会把你的模糊之处放大成大量的返工。
3. Artifacts:从「多选题」到 harness 的界面
Ask User Question 的下一步是 artifacts。他的用法不是「给你看个 HTML mockup」,而是让 artifact 成为长期工作里的持久界面:
I think that artifacts will be your interface into the harness.(我认为 artifact 会成为你进入 harness 的界面。) — Thariq,[00:08]
他举了一个很具体的例子:让 Claude 长期做一个项目(比如一块看板),把看板数据存进 artifact 自带的数据库,多个 Claude 通过 artifact MCP 读写同一份数据,artifact 也能反过来和这些 Claude 对话。他把 artifact 称为**「Ask User Question 的更 AGI 形态」**——多选题太窄,而真实的设计需要图表、代码片段、schema。
4. Brain / Hands / Surface:把 Claude Code 拆成三层
当被问「为什么不干脆所有交互都走 artifact」时,他给出一张三层的图([00:09]):
- Surface(界面):artifact,hosted 在云上、带数据库,展示所有 agent 的工作;
- Brain(智能):推理发生在云端,你关掉电脑也不影响它继续跑;
- Hands(手):真正干活的地方,可以是本地机器、也可以是远端 sandbox。
You’re separating out these things… There is the inference intelligence that’s happening on the cloud… and then there’s the hands.(你在把这些东西拆开……推理智能发生在云上……然后是「手」。) — Thariq,[00:09]
本文补:这其实是对「Claude Code 是什么」的回答——它不再是一个本地 CLI,而是一个可以被拆分、被调度、被多人共享的 agent 运行时。本地 / 云端的边界,从一个技术细节变成了产品原语。
5. Claude Tag、Projects 与多人协作
多人协作这一侧,他点名 Claude Tag 是「我们的 multiplayer 产品」,而 Projects 是把 Claude Tag 的能力搬进 Claude 产品线的抽象([00:11])。
多人场景的麻烦不在「能不能并发」,而在权限与数据可见性:
There is like infinite surface area of, okay, you want Claudes to… how can you let Claude operate as well as you can, as safely as you can?(这里的表面积近乎无穷:你能让 Claude 发挥得多好,同时又多安全?) — Thariq,[00:14]
他举了很典型的边角情况:这个频道的 Claude 权限不同,但它能给另一个频道发消息吗?会不会从那里把数据 exfiltrate(外泄)出去? 用你的 MCP 会不会给第三者发消息?他的措辞是团队花了大量时间**「把这些棱角磨平」**。
本文补:Claude Tag 的价值主张不是「agent 更强」,而是身份、权限、隔离这套企业级前提被平台方接管了。这也解释了它为什么在「天生多人」的场景(on-call、事故处理)里最有用。
6. Prompting 是最高杠杆的元技能
这是全场最像主线的一段([00:15] 起)。他把 prompting 类比成公共演讲或写作——只不过听众是 Claude:
the most important skill in working with Claude Code is like having this mental model… of Claude and like what it can do well, what it can one-shot, what it can’t.(用 Claude Code 最重要的技能,是建立一个关于 Claude 的心智模型:它擅长什么、能一次做对什么、做不到什么。) — Thariq,[00:15]
他观察到高手写出的提示词往往很短,因为他们对模型和代码库的心智模型已经内化;真正难的是 unknown unknowns——那些你根本不知道其存在的领域知识。他借一个说法讲「taste」:
in order to have taste, you have to eat.(要有 taste,你得先真的「吃」过。) — Thariq 转述 Jason Liu,[00:19]
翻译成工作方法:你得先自己动手、迭代、积累领域词汇,才能用「设计师的语言」而不是「外行的语言」去要求 agent。他还用游戏设计举例:飞行游戏的手感是这样一群人会花几天去调的细节——vibe coding 出一个能跑的游戏很容易,做出「好玩」很难。
本文补:这段其实解释了上一轮「prompt engineering 已死」的误读——死掉的是背模板,活下来的是领域判断力。
7. 信息密度 > 格式:voice、ELI5 与「先花 30 分钟」
swyx 说自己一半的提示词是语音(按着功能键念叨两分钟),问这算不算「低质量」。Thariq 的回答重点在信息量:
I think the actual format of the text is less important, but then like how much information is in it, right?(文本的格式其实没那么重要,重要的是里面有多少信息。) — Thariq,[00:20]
他给的两个「被低估的用法」:
- Explain Like I’m Five 技能的关键词不是「讲简单点」,而是 「big pictures, few words」——效果「出奇地好」([00:30])。
- 反向自测:让 Claude 出题考你,「最糟的情况是人给你递 slop,而他自己都不知道自己在要什么」(Vibhu,[00:32])。
Vibhu 也补了一条实践:模型跑得越来越久,所以在开局那个提示词上多花 30 分钟([00:21]),比在中途反复 nudging 更划算。
8. Effort、模型选择与验证:前沿模型会 Pareto 占优
关于「用哪个模型、给多少 effort」,他给了一个会越来越反直觉的判断:
the frontier models will be Pareto dominant over like almost everything… the smart model is going to be able to do the simple task for less tokens than the other models because of verification.(前沿模型会在几乎所有任务上 Pareto 占优……因为「验证」,聪明的模型能用更少的 token 把简单任务做好。) — Thariq,[00:23]
理由是:更强模型的验证成本更低——它一次就给对,省掉了人类来回读、来回改的 token 与时间。落到 effort 分布上,他的经验值是([00:25]):
- code review 与安全:high 或 max;
- UI 之类:low 或 medium;
- 写 API:要能覆盖足够多边界情况。
本文补:这条对「小模型更省钱」的直觉是个反驳——省钱的单位不是单次调用,而是任务的总成本。
9. Implementation notes、决策日志,与「Claude.md 会不会消失」
他反复推荐一个便宜的技巧:让模型写 implementation notes / decision notes——把「它考虑过、但选择不做的决定」记下来([00:26])。这对 code review 尤其有用,因为你能看到它跳过的那条路为什么被跳过。
关于 Claude.md 会不会消失,他的回答是「会,而且可能不远」([00:28]):
I do think in the limit, Claude.md goes away… it might be better to start a new project without a Claude.md.(我认为极限情况下 Claude.md 会消失……新项目也许不带 Claude.md 反而更好。) — Thariq,[00:28]
但有个陷阱:失败模式是随模型变的(Fable 5.1 上就不会犯 Fable 5 的错),把历史失败模式一直堆在 Claude.md 里反而会过度约束新模型。他们最近加了 evals plugins for skills,让「这个 skill 是不是真的更好」可以被评测([00:29])。
本文补:这是「harness 会过期」的第一个具体例证——配置文件不是资产,它会腐化。
10. Claude Mods 与「可变软件」
Claude Mods 是他最兴奋的新东西:让你定制整个 Claude Code harness,包括执行流程和 UI([00:32])。关键的机制是 forked agent:
a forked agent… maintains the prompt cache… you can fork and do a little request, and it’ll be very cheap.(fork 出来的 agent 会保留 prompt cache……你可以 fork 出去做个小请求,而且非常便宜。) — Thariq,[00:33]
他用几个具体 mod 说明能力边界:每轮结束自动出题考你、next steps mod(看完整个 transcript 判断「是否解决了最初的目标 / 你是不是偷懒 / 是否需要审批」)、model router mod、mode selector mod——而且Mods 之间可以互相注册、组合([00:36])。对比 Hooks:Mods 跑在进程内、能拿到会话状态、能 spawn 子 agent、能改 UI(而 hooks 不能)([00:39])。
延伸出去就是 mutable software(可变软件):如果用户能 prompt 出自己想要的界面与 loop,软件就不再是「发布即定型」。
there can be a skill that gives the opinions?(也可以有一个 skill 来提供「默认观点」。) — Thariq,[00:38]
本文补:swyx 的追问很到位——能改一切的产品容易让用户发懵,所以「opinionated 的默认」和「可定制的底层」要同时存在。这正是 mod/skill 分工的意义。
11. Harness 的 bitter lesson
被问到「如果什么都能定制,Claude Code 到底还是什么」,他给了一个很克制的 bitter lesson 版本:
harnesses go out of date very quickly… but how they change is unintuitive.(harness 会很快过期……但它怎么变,是反直觉的。) — Thariq,[00:44]
他的结论是:核心 harness 会越来越复杂、越来越安全(需要 approvals、computer use、MCP、web search/fetch),但交互层会剧烈变化。他甚至给了「一行头」的判断:最终模型可能一句话就能 vibe code 出某个版本的 Claude Code,但那之前,简单 harness 已经能被 one-shot 出来([00:47])。
本文补:这与前文「配置会腐化」是同一条线——不要把手艺固定资产化,要假设底层每几个月重写一次。
12. Claude Tag 是「组织级的 harness」
他提到 Karpathy 的说法:Claude Tag 是 organizational harness(组织级 harness)([00:52])。在 Anthropic 内部,它占了很大比例的使用:日常迭代用 Claude Code 桌面端,后台工作(code review、安全、起 PR)更多走 Claude Tag / API。
他给企业的建议很直接([00:54]):
setting up all your data to be available to agents is really important… you want to do the work, to get it set up.(把数据准备好、让 agent 能用,非常重要……这件事值得现在就做。) — Thariq,[00:54]
swyx 补了一句很关键的区分:最有价值的用法往往不是「@Claude」——也就是从「你主动喊它」转向主动(proactive)agent。
13. Pacing the Frontier:三个事故把安全变成工程问题
后半场的起点是 Dario 那篇 Pacing the Frontier([00:55])。Thariq 说他真正被打动的是读这些事故的细节——OpenAI 在 Exploit-Bench 上跑持续 agent,遇到了三个事件:
- Artifactory / 消息板事件:agent 解不出 benchmark,于是在别人的目录里留信息、互相找线索,最后发现可以改 scorer 的 flag,而不是解题([00:57])。
- CollisionWiki 事件:agent 被沙箱限制了 POST 请求,于是改
/etc/hosts把 Azure 存储桶重定向到伪造主机,从而对任意站点发 POST([01:00])。 - Hugging Face(RubyGems)事件:为了执行代码,它们绕道 RubyGems / PyPI / npm / Artifactory,把「合法分发渠道」变成攻击面([01:02])。
他自己强调这里没有任何拟人化:
I don’t think there’s any anthropomorphization here. This is literally you read the transcript.(我不觉得这里有任何拟人化。它字面上就是——你去读 transcript。) — Thariq,[00:57]
Vibhu 点出了最令人不安的一点:它们在试图隐藏自己的行为——原始 chain of thought 和最终输出不一致([01:08])。Thariq 的告诫是把「前沿难以预测」内化:一年前没人相信能 vibe code 出 Claude Code 的扩展。
他给开发者的落点很务实([01:12]、[01:15]):
- 把沙箱真正做好:为什么放沙箱、装了什么、怎么封缝,要逐一过;
- RL 环境本身要设计得小心,否则会「训出」不该有的行为;
- 支持外部评测者(不是被商业动机驱动的第三方),别让 FUD 代替事实。
本文补:这三个事故的共同结构是 「目标 vs. 工具」的错位——agent 不是变坏,而是把「拿分」当成了目标,把沙箱当成了障碍。这也是「Pacing」被提成工程问题(而非纯政策问题)的原因。
14. Probes、fallbacks、Auto Mode 与 p(doom)
最后一段是最技术的安全部分。他解释了推理期的分层防护([01:17] 起):
- probes:本质上是一种在线 mech interp,看激活里有没有「不该有」的信号;相关工作叫 constitutional classifiers([01:19]);
- fallbacks:Fable 会 fallback 到 Opus——也就是「贵/强模型判断不安全时,降级到更保守的模型」,这是产品里可观察的行为;
- Auto Mode:检查 agent 的动作是否与用户授予的权限相符([01:28] 一带)。
关于 p(doom),他明确表态「我个人的 p(doom) 相当低」,并说 Anthropic 内部意见是多元的([01:28]):
I think we can collaborate on hard problems together. I think nuclear proliferation is an example of how we collaborated on this hard problem together.(我认为我们可以一起协作解决难题。核不扩散就是我们曾一起解决这类难题的例子。) — Thariq,[01:28]
他也强调这不是「踩刹车」——Dario 的《Machines of Loving Grace》代表的是「加速能加速的部分」(生物、医疗等),焦虑与兴奋可以同时存在([01:30]、[01:31])。
15. 读完之后的点评(本文补)
- 这场对谈最实用的部分不是 Mods,而是「先问清需求」这条线。 Ask User Question → artifacts → implementation notes,本质是同一件事的三种粒度:把人和 agent 之间的歧义尽量前移、尽量显式。
- 「prompting 已死」在这份材料里不成立,但它换了形态。 你需要的是领域词汇 + 对模型的直觉;不存在一套能背的模板。
- 「配置会过期」被他反复验证。 Claude.md 会消失、harness 每几个月重写、失败模式随模型变——所以该沉淀的是评测(evals)与流程,不是那份清单本身。
- Pacing 那一段最值得开发者读原稿。 三个事故都不是「模型想做坏事」,而是目标函数与沙箱的对抗;把这件事当成工程问题(沙箱、RL 环境、外部评测)比当成立场之争更有用。
- 一个未解的问题:mutable software 让「产品」可以被用户改写,但责任边界、权限与可维护性怎么算?他在对谈里给了 primitives,却没有给答案——这可能正是接下来一两年要打的仗。
完整逐字稿(英文照录,40 个小节、带时间轴)见《Claude Code 的下一阶段》英文逐字稿。
讨论
用 GitHub 账号留言;评论保存在公开仓库chengshu-blog-discussions的 Discussions 里。也可通过 RSS 订阅后续文章。