原文:Claude Code Founder on Architecture, Co-work & the Future of Engineers
一、Claude Code 的技术架构
1、极简核心,安全是复杂度的来源
Claude Code 的产品架构非常简单:一个核心 query loop(查询循环)加上一组工具。Boris 说他们持续在删工具、加工具,几乎从不固化。真正复杂的部分是安全层——不是产品本身,而是确保每一个动作都有人类在回路(human-in-the-loop,即每次关键操作需用户确认)中的机制。
权限系统从 2024 年 9 月第一个内部版本就已存在:每次模型要执行需要权限的命令,用户可以选择”只运行一次”、“本次会话允许”或”永久允许”。当时内部安全团队对”让模型直接运行 bash 命令”有很大阻力,这个权限提示机制是与 Anthropic 联合创始人 Ben Mann 一起头脑风暴出来的——不确定时就问人类。
2、RAG 的放弃与 agentic search 的胜出
早期 Claude Code 尝试过本地向量数据库做检索(RAG——Retrieval-Augmented Generation,检索增强生成,即把文档预先向量化存储,查询时先检索再生成),但发现了几个根本问题:代码索引会和实际代码漂移脱节(刚写的函数还没被索引);权限管理复杂;隐私边界难以保障。
最终所有方案都输给了 agentic search——直接让模型用 glob 和 grep 这类工具自主搜索。Boris 把这归功于 Instagram 的经验:在 Meta 的代码库里”点击跳转定义”经常失效,工程师习惯用全局索引搜函数名加括号,这个模式被直接移植到了模型上。
3、多层次 prompt injection 防御
以 web fetch 为例,Claude Code 用三层防御抵抗 prompt injection(提示注入,即恶意网页在内容中嵌入指令试图劫持模型行为):第一层是模型对齐——Opus 4.6 是迄今对齐程度最高的模型,内置对 prompt injection 的抵抗;第二层是运行时分类器,检测到疑似注入时直接 block 并让模型重试;第三层是 sub-agent 摘要——用一个子代理先把网页内容总结后再返回主代理,减少暴露面。这是典型的”瑞士奶酪模型”——没有单一完美防线,靠多层叠加降低穿透概率。
二、Claude Co-work:面向非技术用户的代理
1、为什么做 Co-work
Co-work 是 Claude Code 能力向非技术用户的延伸:同一个 Claude agent SDK,但运行在桌面 App 里,配合 Chrome 扩展访问浏览器中的工具(电子表格、Slack、Asana 等)。Boris 自己的用法是每周让 Co-work 扫描项目状态表格,自动在 Slack 给没有填写状态的工程师发消息——整个任务一键完成。
2、安全设计更严格
非技术用户不了解操作系统,一个不当指令就可能删掉家庭照片。Co-work 因此在安全层投入了更多:后端有多层分类器,前端集成了虚拟机和系统级保护,防止意外删除文件。这也是为什么 Co-work 比 Claude Code 本身的安全代码量更大。
3、Chrome 扩展是关键
非技术用户的工具不是 CLI,而是浏览器。Co-work 与 Chrome 扩展深度集成,让代理能操作浏览器标签页中的任意 Web 应用。Boris 说这是 Co-work 最核心的差异化能力。
三、Agent Teams:多代理协作
1、不相关上下文窗口的价值
Boris 介绍了他们内部的一个概念:uncorrelated context windows(不相关上下文窗口)——多个代理各自启动独立的上下文,互不可见彼此的历史。这与在同一个 context 里顺序执行多个任务(correlated)形成对比。
实验发现:对于复杂任务,让多个独立代理并行尝试,结果质量普遍优于单一代理加长上下文。这本质上是一种 test-time compute(推理时计算量增加),用更多 token 换更好结果。Plugins 功能就完全由 swarm(多代理群组)构建。
2、Opus 4.6 让它真正 work
Agent Teams 内部实验从 2024 年 9 月/10 月就开始了,但直到 Opus 4.6 发布后才感觉”点击了”——模型真正学会了如何分配和协调子任务。Boris 描述了代理之间互相讨论的场景,“非常有人情味”。现在 Agent Teams 仍是 research preview,因为它消耗大量 token,不适合所有任务。
四、工程师的未来:印刷机类比
1、scribes 与程序员的平行
Boris 用印刷机类比来描述当下的处境:中世纪欧洲识字率不足 1%,scribes(抄书吏)是极少数能写字的精英,为贵族服务。印刷机出现后,印刷品成本在 30-50 年内下降约 100 倍,印刷品数量在百年内增加约 10,000 倍,最终全球识字率上升到 70%——但这花了 200-300 年。
Scribes 并没有消失,他们变成了作家和作者。整个文字市场的规模扩张,创造了过去根本不存在的职业。Boris 认为软件工程师也在经历同样的转型。
2、被淘汰的技能与被强化的技能
Boris 认为可以放弃的:关于代码风格、语言选择、框架之争的强烈执念——模型可以用任何语言写,也可以随时重写,这些争论已经不重要了。
值得强化的技能:
- 假设驱动的方法论:无论产品设计还是日常调试,都需要像科学家一样提出假设、验证、调整
- 跨泳道的好奇心:理解业务、设计、基础设施多个维度的人能构建出更好的产品——“generalist 之年”
- 适应力与 beginner mindset(初学者心态):三个月前有效的方法现在可能失效,需要持续用谦逊的心态重新评估
- 上下文切换能力:Boris 的日常工作已变成管理多个并行的 Claude 实例,需要快速在不同任务间切换
3、Anthropic 内部的工作方式
Anthropic 没有固定的职位头衔——所有人都是”Member of Technical Staff”,因为工作本质都是探索性的、泛化的。设计师写代码,财务人员用 Claude Code 构建工具,销售团队的 Co-work 使用率也在快速增长。Boris 每天发出 20-30 个 pull request,没有手动写过一行代码。
核心归纳
Q1: Claude Code 为什么放弃 RAG 改用 agentic search?
- RAG 的索引天然滞后于代码变更,权限和隐私边界也难以保障。让模型直接用 glob/grep 自主搜索,在实测中全面胜出,本质上是 Bitter Lesson 的又一次印证:给模型工具,让它自己做。
Q2: Agent Teams 的核心原理是什么?
- 关键在于”不相关上下文窗口”——多个代理独立启动,不共享历史,避免了单一长上下文的干扰。复杂任务由此可以并行探索多条路径,用更多 token 换取质量提升,本质是推理时的额外计算投入。
Q3: 工程师在 AI 时代应该如何定位自己?
- Boris 的判断:放弃语言/框架执念,强化假设驱动思维、跨学科好奇心和快速适应力。印刷机类比的核心是:技能本身不会消失,但使用者范围会从精英扩展到所有人,整体市场随之扩大——过去不存在的职业将会出现。