Latent Space

Claude Mods: Flipping the Harness Inside Out

8.5内容质量
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将成为人机协作的新平台层

结构提纲

按章节快速跳转。

  1. Claude Mods是Attention Interface的早期实践,通过反转harness方向实现人机协作

  2. Mod是运行在Claude Code中的插件,通过事件响应机制修改默认行为

  3. 传统harness连接代理与机器,现在转向连接代理与人类注意力

  4. Anthropic内置6个官方mod,用户可要求Claude自动生成定制mod

思维导图

用一张图看清主题之间的关系。

查看大纲文本(无障碍 / 无 JS 友好)
  • Claude Mods架构
    • Attention Interface
      • 人机协作层
      • 注意力控制
    • Harness反转
      • 传统机器接口
      • 现代人类接口
    • Mod实现
      • TypeScript/JS插件
      • 事件响应机制

金句 / Highlights

值得收藏与分享的关键句。

#Claude Mods#Attention Interface#Agent Harness#TypeScript#AI工程
打开原文

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时注意到哪些摩擦点?这篇文章能否激发你今天就用模组来解决这些问题?