跳到正文
RadarAI· Latent Space(RSS)·· 3 小时前AI 评分62

Claude Mods 实践:把 Claude Code 的 harness 变成可编程的注意力界面

AI 导读

Latent Space 作者 Dan McAteer 分享用 Claude Mods 定制 Claude Code 工作流的数周实践,mod 是运行在 Claude Code 内的 TypeScript/JavaScript 插件,可响应提示词、工具调用等事件并改写渲染与行为。

正文 · AI 翻译

Latent Space· Dan McAteer·2026-10-21 21:04· 56 分钟前AI 评分68

Claude Mods:把 Harness 翻个底朝天

AI 导读

作者分享用 Claude Mods 定制 Claude Code 工作流的数周实践,mod 是运行在 Claude Code 内的 TypeScript/JavaScript 插件,可响应提示词、工具调用等事件并改写渲染与行为。

正文 · 原文

过去几周,我一直用 Claude Mods 把 Claude Code 塑造成适合我 AI 工程工作流的样子。Claude Code 开箱即用就很出色,但每个工程工作流都各不相同。Claude Mods 让你按自己希望关注的方式,把 Claude Code 变成你自己的。

“关注”这部分如今才是最重要的。

在最近一篇 Latent Space 文章《The Evolution of the Agent Harness》中,我提出:随着模型把越来越多的 harness 吸收进权重,剩下的那部分就面向人类。它变成了注意力界面(Attention Interface):这一层决定智能体何时打断你、向你展示什么,以及需要你做哪些决策。Claude Mods 是注意力界面的早期版本,而且是一个你可以自己塑造的版本。

我的判断是:最终,harness 会成为一个供其他公司在其上构建的平台,模型则是引擎。正如浏览器成为 Web 应用的平台,harness 也可能成为人与智能体之间界面的平台。

Claude Mods:它是什么?

mod 是一个 Claude Code 插件,由运行在 Claude Code 内部的 TypeScript 或 JavaScript 函数组成。这些函数定制 CLI 和 Desktop 中界面的行为与外观。Mods 响应事件,例如提示词、工具调用或界面渲染。它们可以观察事件、修改其渲染方式,并代替默认行为来处理该事件。

Claude Mods 是智能体 harness 的中间件。它们注入代码,改变 Claude Code 的执行与渲染流程,从而改变应用在运行时的行为。

Claude Mods 让人与智能体共同构建 harness 中面向人类的部分。你现在可以和 Claude 一起设计 Claude 如何与你协作。这就是“注意力界面”的精髓。

harness 的反转

智能体 harness 最初是智能体与其运行机器之间的接口。它让你向智能体发出提示,智能体随后发送命令、编辑文件并调用工具。如今,它正逐渐变成智能体与人类交互的方式。

Claude Mods 让你反转 harness 的方向。harness 不再从智能体指向机器,而是由你让它从智能体指向人类操作者,harness 由此成为与人类注意力交互的方式。

Claude Mods 让人类层变得可编程,而且是由使用 Claude 的人来编程。

Claude 也可以为你构建 mod。Claude Code 有一个内置技能,教它如何构建 mod,因此你可以用自然语言说出想要的 mod,Claude 就会把它构建出来。

实践中的 Mods

Claude Code 自身的一些功能已经是 mod 了。Anthropic 已内置发布了六个。你可以运行 /plugin 并打开Installed 来查看,它们列在 Built-in 下:

  • agents-md:将 AGENTS.md 作为项目指令加载。

  • diff:接管 /diff 并绘制其面板。

  • plugin-authoring:赋予 Claude 为你编写 mod 所需的技能。

  • sec-default:保护你的组织所管理的内容,使其不受用户安装的 mod 影响。

  • telemetry:发送 Claude Code 及其内置 mod 记录的分析数据。

  • you-should-know:一个侧代理,当它发现你可能遗漏的内容时,会在提示框上方显示一条提示。它是唯一一个默认关闭的。

这些大多在后台运行,这很有意思,因为这意味着 Anthropic 正在把 Claude Code 的部分功能做成 mod——甚至包括你可能注意不到的部分。我自己开启的是 You Should Know。

以下是我在实践中发现最有用的两个 mod:一个是内置的,一个是我自己构建的。

1. You Should Know

这是 Anthropic 构建的原生 Claude Code 插件。它运行一个侧代理,在主代理工作时对其进行观察,并标记出你可能遗漏的重要信息。可以这样理解:那些对输出有实质性影响的工具调用和决策,但由于埋在代理轨迹中,不一定容易看到。它内置于 Claude Code,但需要你开启后才会生效。

这里有一个真实例子。我让 Claude Code 简化我某个个人项目中嘈杂的 UI 文本。主代理精简了 Compare 屏幕上的文案,安装了新构建,并拍摄了前后对比截图。一切看起来都完成了。

然后 You Should Know 为我标记了一些东西。代理正在编辑的文件 CompareView.swift 中已经有未提交的工作——另外大约 45 个文件也是如此。如果我之后丢弃演示编辑,我也会丢掉那些更早的未完成工作。它的建议是先提交或暂存更早的工作。

在这个例子中,You Should Know mod 让我避免了无意中丢弃工作。

2. Next Steps Supervisor

这个 mod 只在编辑了文件、运行了命令或进行了 8 次及以上工具调用的一轮之后运行。在下面的截图中,你会看到六条不同的信息被标记出来供你注意。Next Steps Supervisor 随后会建议下一步操作,以可点击按钮的形式呈现,点击后会将指令作为消息发送给 Claude Code。这个 mod 作为 ModSmith 的一部分提供——那是我构建的一个开源 Claude Code 插件,包含多个不同的内置 mod,以及一个 Claude 可用来构建可协同工作的新 mod 的模板。

其他地方的注意力界面

Anthropic 并不是唯一一家构建注意力界面的公司。最近的两个产品——一个来自 OpenAI,一个来自 Cursor——指向了同一个方向。以新的 ChatGPT Intelligent UI 和 Cursor 的 PR Routing & Approval 为参照,可以看出 Claude Mods 的独特之处。

ChatGPT 的 Intelligent UI

10 月 7 日,OpenAI 在 ChatGPT 中发布了 GPT-6,同时推出了一个名为 Intelligent UI 的新 ChatGPT 界面。ChatGPT 不再只用文本回答,现在它可以在回答时生成界面:图表、地图、清单、表单,以及账单分摊器或储蓄计算器之类的小工具。所有这些都由模型即时生成,作为一种生成式 UI。

来源:OpenAI 的 GPT-6 公告

在 OpenAI 的一个示例中,ChatGPT 会用多选题式的追问来回复,以缩小你正在寻找的范围。可以这样理解:模型决定何时需要你的判断,然后为你构建给出判断的界面。

这就是注意力界面(Attention Interface)。智能体设计了你与它的回复进行交互的方式。

但要注意 ChatGPT 的 Intelligent UI 与 Claude Mods 之间的区别。对于 Intelligent UI,模型会逐条答案地从 OpenAI 构建的组件库中选择界面。发布时提到的一个控制项是调低视觉效果。

Cursor 的 PR 路由与审批

Cursor 从另一端着手解决同一个问题:不是一个人和一个答案,而是一个团队和一连串拉取请求,其中越来越多的请求由智能体编写。必须有人来决定哪些变更值得人类介入者(human-in-the-loop)关注。

PR 路由与审批负责做出这一决定。它根据代码归属和提交历史分配审查者,并且可以自动批准低风险的 PR。它会将风险评分与你设定的阈值、Cursor 的 Bugbot 和安全审查者给出的发现,以及仓库中的策略文件进行权衡。

在研究过程中,有一条规则引起了我的注意。如果某个 PR 修改了审批策略,智能体不会使用修改后的版本来放宽对同一个 PR 的审查。它会改为从基础分支读取策略。这意味着智能体无法通过修改规则来让自己的 PR 获得批准。

Cursor 也明确说明了限制。其文档称该功能“不能替代完整的代码审查”。重点是把人工审查用在关键之处,而不是取消人工审查。

三个系统之间的差异

这三个系统都会塑造什么能引起你的注意以及如何引起注意。主要区别在于谁有权设计注意力界面。

  • ChatGPT Intelligent UI:模型在实验室构建的框架内为每条答案设计界面。零配置,但控制力很弱。(我认为目标用户不是工程师。)

  • Cursor PR 路由与审批:团队编写策略,固定的审查工作流负责执行。可配置,但交互流程由 Cursor 决定。你决定规则,而不是界面。

  • Claude Mods:你和智能体用代码构建界面本身。一个 mod 可以接入循环中的任意节点——从你提交的提示词,到智能体发起的工具调用,再到一轮对话结束的时刻——并决定在那里向你展示什么,以及你可以对此做什么。

我前面展示的 supervisor 就是一个很好的例子。Cursor 可以很容易地因为某个 PR 触及的文件而将其路由给我。ChatGPT 也可以很容易地把结论渲染成一张漂亮的卡片。但两者都不会让我在每一轮都决定:哪些文件编辑需要第二意见、该意见要列出所采取的捷径,并且每个建议的下一步都只需按一次键。那个界面之所以存在,是因为我更喜欢以这种方式投入注意力,而 Claude 和我一起构建了它。

ChatGPT 和 Cursor 给你的是别人设计好的注意力界面。Claude Mods 让你和 Claude 一起设计自己的界面,但代价是你要负责让它变得有用。

Mods 有什么问题

Mods 并非没有代价,我遇到了一些缺点。

第一个问题是噪音。Next Steps Supervisor 会在任何编辑文件、运行命令或进行 8 次及以上工具调用的回合后运行。实际上,几乎每个回合都是如此。自从我在 10 月 15 日安装它以来,我在 Claude Code 中的 111 个回合里有 99 个达到了这个标准。其中一些判定很有用,另一些则只是噪音。所以当一个 mod 几乎每个回合都发言时,我就会开始略过它——这恰恰违背了 Attention Interface 的初衷。

第二个问题是成本。每次 supervisor 检查都会分叉对话并重新读取它。其中大部分由提示缓存提供,但该 mod 自己的 README 估计,在 50k token 的会话中,每次检查约消耗 5–6k 输入等效 token,缓存过期时还会更多。

第三个问题是信任。mod 是以你的权限运行的代码。Anthropic 的文档对此说得很清楚:一旦加载,mod 就能读写你的文件、看到你发送的每一条提示,并消耗你的用量。此外,“mod 没有沙箱隔离。”内置 mod 在你以 --safe-mode 启动 Claude Code 时也会继续运行。对于我自己写的或随 Claude Code 一起提供的 mod,我很放心,但任何其他人的代码,我都会在安装前先读一遍。

好处在于,mod 可以以其他工具做不到的方式被修复。当 supervisor 在某个会话中只是噪音时,/supervisor off 就能把它关掉。因为这是我的 mod,我可以改变它运行的条件。

接下来会怎样

定制 harness 并不保证对每位工程师都是好事。我添加的每个 mod 都是另一份需要我投入注意力的信息。在我自己的一个会话中,我的 Next Steps Supervisor 把一个任务标记为“已解决”,却又列出了两个缺口和三条捷径。Agent 很聪明,但远非完美,而我的注意力也远非完美。

所以我用来衡量 mod 是否有用的测试很简单:它是否揭示了我本来会错过的东西、让决策更容易,或者让我能在不被更多输出分散注意力的情况下行动?如果不是,那它就只是装饰,而不是有用的工具。

目前,构建一个 mod 的流程是这样的:我注意到自己与 Claude 协作方式中的摩擦,描述我想要的 mod,然后 Claude 和我一起把它构建出来。仍然需要我个人的注意力去发现摩擦。

来源:Claude Code 关于创建 mod 的文档

下一步是让 harness 自己注意到摩擦。Claude Code 已经保存了我的会话记录。可以这样想:一个后台进程读取这些记录,找出我不断纠正 agent 或反复手动检查同一件事的地方,并为此建议一个 mod。然后它帮我测试这个 mod,并根据我的反馈加以改进。

对 AI 工程师来说,这是最好的情况:一个可塑的 harness,能从真实使用中建议改进自身的方法。Claude Mods 是朝着这个方向迈出的一步。

如果我在开头下的赌注是对的,几年后我们会谈论那些建立在 Claude Code、Codex 或某个尚不存在的 harness 之上的初创公司。

最后留给你一个问题,希望它的答案能给你带来实际价值:你在使用 Claude Code 时注意到了哪些摩擦,而本文能启发你今天就用一个 mod 去解决它?

来源:Latent Space · latent.space

来源:RadarAI · aihot.news