Claude Mods: Flipping the Harness Inside Out

TL;DR · AI 摘要
Claude Mods通过反转代理harness方向,使人类可编程控制AI交互界面,标志着Attention Interface的早期实践。
核心要点
- Claude Mods允许用户用TypeScript/JavaScript自定义AI交互逻辑
- Anthropic已内置6个官方mod作为示例
- Attention Interface将成为人机协作的新平台层
结构提纲
按章节快速跳转。
- §引言
Claude Mods是Attention Interface的早期实践,通过反转harness方向实现人机协作
- ·核心机制
Mod是运行在Claude Code中的插件,通过事件响应机制修改默认行为
传统harness连接代理与机器,现在转向连接代理与人类注意力
- ·实际应用
Anthropic内置6个官方mod,用户可要求Claude自动生成定制mod
思维导图
用一张图看清主题之间的关系。
查看大纲文本(无障碍 / 无 JS 友好)
- Claude Mods架构
- Attention Interface
- 人机协作层
- 注意力控制
- Harness反转
- 传统机器接口
- 现代人类接口
- Mod实现
- TypeScript/JS插件
- 事件响应机制
金句 / Highlights
值得收藏与分享的关键句。
Mod是运行在Claude Code中的TypeScript/JavaScript函数,可拦截事件并修改渲染流程
Harness正在从机器接口转变为人类注意力接口,这是AI工程的重大范式转移
用户可通过自然语言要求Claude生成mod,Anthropic已内置6个官方示例mod
Claude Mods:颠覆Harness的内部结构
Claude Mods是注意力接口的早期形式。它将代理Harness的范式从面向机器转变为面向人类。
Dan McAteer
2026年10月21日
过去几周,我一直在使用Claude Mods来将Claude Code适配到我的AI工程工作流中。Claude Code开箱即用非常出色,但每个工程工作流都有所不同。Claude Mods让你能够按照自己希望关注的方式,将Claude Code变成专属你的工具。
现在,“关注”的部分变得最为重要。
在最近的《Latent Space》文章《代理Harness的进化》中,我曾论述过:当模型将更多Harness功能内化到权重中时,剩余部分将面向人类。这部分就是注意力接口:决定代理何时打断你、展示什么内容以及需要你做出哪些决策的层级。Claude Mods是注意力接口的早期版本,而且你可以亲自塑造它。
我的预测是:最终,Harness将成为其他公司构建的平台,而模型则是引擎。正如浏览器成为网页应用的平台,Harness也可能成为人与代理之间接口的平台。
Claude Mods是什么?
Mod是运行在Claude Code内部的TypeScript或JavaScript函数组成的Claude Code插件。这些函数可以自定义CLI和桌面端界面的行为和外观。Mod会响应事件,如提示、工具调用或界面渲染。它们可以观察事件,修改渲染方式,并替代默认行为处理事件。
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将为你构建。
实际应用中的Mod
Claude Code的一些自有功能已经是Mod。Anthropic已经内置了六个Mod。你可以通过运行/plugin并打开“已安装”查看它们,在“内置”分类下可以看到:
- agents-md:加载AGENTS.md作为项目说明。
- diff:接管
/diff并绘制其面板。 - plugin-authoring:赋予Claude为你编写Mod所需的技能。
- sec-default:保护组织管理的内容免受用户安装的Mod影响。
- telemetry:发送Claude Code及其内置Mod记录的分析数据。
- you-should-know: 一个侧边代理,当发现你可能遗漏的内容时,会在提示上方显示一个注释。它是唯一一个默认关闭的模块。
这些功能大多在后台运行,这很有趣,因为这意味着Anthropic正在将Claude Code的部分功能构建为模块——甚至包括你可能没有注意到的部分。我自己启用的是You Should Know模块。
在实际使用中,我发现最有用的两个模块一个是内置的,另一个是我自己构建的。
1. You Should Know
这是Anthropic开发的Claude Code原生插件。它运行一个侧边代理,在主代理工作时观察其行为,并标记你可能遗漏的重要信息。可以将其理解为:那些对输出有重大影响但可能被埋藏在代理追踪日志中、不容易被注意到的工具调用和决策。该功能内置于Claude Code中,但需要手动开启才会生效。
这里有一个真实案例。我让Claude Code简化我某个个人项目中嘈杂的UI文本。主代理修剪了Compare界面的文案,安装了新版本并拍摄了前后对比截图。一切看起来都完成了。
这时You Should Know模块提醒了我。代理正在编辑的CompareView.swift文件中已经存在未提交的更改——另外约45个文件也是如此。如果之后我丢弃了演示编辑内容,这些早期未完成的工作也会被一并丢弃。它的建议是:先提交或暂存这些早期工作。
在这个案例中,You Should Know模块帮助我避免了无意中丢弃工作内容。
2. Next Steps Supervisor
该模块仅在发生文件编辑、运行命令或进行8次及以上工具调用后才会运行。在下图中,你会看到6个不同信息被标记出来供你注意。Next Steps Supervisor随后会建议下一步操作,以可点击按钮的形式将指令作为消息发送给Claude Code。该模块作为ModSmith的一部分提供——这是一个我构建的开源Claude Code插件,包含多个内置模块,同时也提供Claude可使用的模板来构建能够协同工作的新模块。
其他地方的注意力接口
Anthropic并不是唯一在构建注意力接口的公司。两个近期产品——一个来自OpenAI,一个来自Cursor——都指向了相同的方向。以ChatGPT的Intelligent UI和Cursor的PR Routing & Approval作为参考框架,可以发现Claude模块的独特之处。
ChatGPT的Intelligent UI
10月7日,OpenAI在ChatGPT中推出了GPT-6,并附带了一个名为Intelligent UI的新界面。ChatGPT不再仅以文本形式作答,现在可以在回答时生成界面:图表、地图、清单、表单以及小型工具(如账单分割器或储蓄计算器)。所有内容都由模型实时生成,属于一种生成式UI。
来源:OpenAI的GPT-6发布声明
在OpenAI的一个示例中,ChatGPT通过多选后续问题来缩小你的需求范围。可以理解为:模型决定何时需要你的判断,然后为你构建界面以接收输入。
这就是注意力接口。代理设计了你与响应的交互方式。
但请注意ChatGPT的Intelligent UI与Claude模块之间的区别。对于Intelligent UI,模型从OpenAI构建的组件库中,逐个回答选择界面。在发布时提到的唯一控制选项是降低视觉效果的显示。
Cursor 从另一端着手解决同样的问题:不是一个人和一个答案,而是一个团队和持续不断的拉取请求(PR)流,其中越来越多的请求由代理(agent)编写。必须有人决定哪些更改值得人工参与者的关注。
PR 路由与审批功能承担了这个决策。它根据代码所有权和提交历史分配审阅者,并能自动批准低风险的 PR。它会将风险评分与你设定的阈值进行权衡,结合 Cursor 的 Bugbot 和安全审阅者发现的问题,以及存储在代码库中的策略文件。
在研究过程中,有一条规则引起我的注意。如果一个 PR 修改了审批策略,代理不会使用修改后的版本来放松对该 PR 的审查。它会从主分支读取策略。这意味着代理无法更改规则来让自己 PR 获得批准。
Cursor 对该功能的局限性也表述得非常清晰。其文档指出该功能“不能替代完整的代码审查”。关键在于将人工审查集中在真正重要的地方,而不是将其移除。
三个系统之间的差异
这三个系统都在塑造你的注意力分配方式和交互方式。主要区别在于谁有权设计注意力界面(Attention Interface)。
- ChatGPT 智能 UI:模型为每个答案设计界面,界面被限制在实验室构建的框架内。零配置,但控制权极低。(我认为目标用户并非工程师。)
- Cursor PR 路由与审批:团队编写策略,固定审查流程强制执行策略。可配置,但交互流程由 Cursor 控制。你决定规则,但不决定界面。
- Claude Mods:你与代理通过代码共同构建界面本身。Mod 可以插入交互循环的任意节点——从你提交的提示到代理执行的工具调用,再到对话结束的瞬间——并决定在这些节点展示什么内容以及允许你执行哪些操作。
我之前展示的监督器就是一个典型案例。由于 Cursor 触发了我关注的文件,它很容易将 PR 路由给我。ChatGPT 也可以轻松地将裁决结果以卡片形式呈现。但两者都不会允许我决定:每次修改文件的对话都必须获得第二意见,意见列表需要显示采取的快捷方式,每个建议的下一步只需一个按键即可执行。这种界面之所以存在,是因为我更倾向于以这种方式关注问题,而 Claude 是与我共同构建的。
ChatGPT 和 Cursor 提供的是由他人设计的注意力界面。Claude Mods 则允许你与 Claude 一起设计自己的界面,但代价是你需要自己确保其可用性。
Mods 的问题
Mods 并非免费,我遇到了一些弊端。
第一个问题是噪音。Next Steps 监督器会在任何修改文件、执行命令或进行 8 次以上工具调用的对话后运行。实际上,这几乎涵盖了所有对话。自 10 月 15 日安装以来,我 111 次 Claude Code 对话中有 99 次触发了该条件。其中一些判断确实有用,但其他只是噪音。当 Mod 几乎在每次对话中都发出声音时,我会开始跳过它们——这反而违背了注意力界面的设计初衷。
第二个问题是成本。每次监督器检查都会分叉对话并重新阅读内容。虽然大部分内容来自提示缓存,但 Mod 自带的 README 估计,单次 5 万 token 会话的检查需要约 5-6 千 token 的输入等效量,缓存过期时成本会更高。
第三点是信任问题。模组是需要你授权才能运行的代码。Anthropic的文档对此有明确说明:一旦模组加载,它可以读写你的文件、查看你发送的每一条提示,并消耗你的使用额度。而且,“模组没有沙盒隔离”。即使启用Claude Code的--safe-mode参数,内置模组仍然会持续运行。我对亲自编写或随Claude Code附带的模组感到放心,但安装其他人的模组前,我会先仔细阅读代码。
优势在于模组的可修复性。当监督者在会话中产生干扰时,只需执行/supervisor off命令即可关闭。由于这是我的模组,我可以自行控制其运行时机。
这将如何发展
对每个工程师来说,定制化框架未必都能带来收益。每添加一个模组,就意味着我需要分配更多注意力去关注它。在某次自己的会话中,我的下一步监督者将一项任务标记为“已解决”,却同时列出了两个遗漏点和三个快捷方式。代理虽然智能,但远非完美,而我的注意力也远非完美。
我评估模组价值的测试标准很简单:它是否揭示了我原本会忽略的信息?是否让决策更容易?或者是否让我能够不受更多输出内容的干扰而直接行动?如果答案是否定的,那它只是华而不实的装饰,而非真正有用的工具。
目前构建模组的流程是这样的:我注意到与Claude协作时的摩擦点,描述想要的模组功能,然后Claude协助我共同构建。我仍需要亲自关注才能发现这些摩擦点。
来源:Claude Code关于创建模组的文档
下一步是让框架本身能够察觉摩擦点。Claude Code已经保存了我的会话记录。想象这样一个场景:后台进程会浏览这些记录,找到我反复纠正代理或手动检查相同内容的环节,并为这些场景建议模组。然后它会协助我测试该模组,并根据我的反馈进行优化。
这对AI工程师来说是最理想的情况:一个可塑性强的框架,能够根据实际使用情况提出改进建议。Claude Mods正是朝着这个方向迈出的一步。
如果我最初做出的判断正确,几年后我们将讨论那些建立在Claude Code、Codex或尚未出现的框架上的初创公司。
最后留一个问题给你,希望这个问题能为你带来实际价值:你在使用Claude Code时注意到哪些摩擦点?这篇文章能否激发你今天就用模组来解决这些问题?