经济研究
代理编程与专业知识的持续回报
Agentic coding and persistent returns to expertise
2026年6月16日 阅读PDF版
主要发现
Key findings
- 基于先前研究,我们引入了一个用于研究交互式代理编程(interactive agentic coding)的框架,该框架基于对2025年10月至2026年4月期间约40万个Claude Code会话的隐私保护分析。我们评估了任务构成、人机协作以及成功率。
- 在典型会话中,人类做出大部分规划决策(做什么),而Claude做出大部分执行决策(如何做)。一个人带入会话的领域专业知识(domain expertise)越多,Claude每条指令完成的工作就越多。在编程任务上,每个主要职业的成功率——即完成用户设定目标,并有可验证的证据(如通过测试或提交的代码)——平均而言与软件工程师几乎持平。
- 一个人拥有的领域专业知识越多,会话以成功告终的频率就越高——尽管中级用户与专家用户之间的差距并不大。在我们观察的七个月里,用于调试的会话比例下降了近一半,使用方式转向了更多端到端的代理式使用:部署和运行代码、分析数据以及编写非代码文档。
- 在这七个月中,通过与自由职业招聘信息对比估算出的典型任务价值,在几乎所有类型的工作中都有所上升——平均增长约25%。
引言
Introduction
代理编程已经蓬勃发展。自2025年底以来,涉及编程代理活动的GitHub项目比例翻了一倍多¹,Claude Code用户现在平均每周使用该工具20小时²。没有正式编程经验的人能否成功指导代理完成复杂的技术工作?这些工具的快速普及和改进对更广泛的知识工作意味着什么?虽然我们尚未完全回答这些问题,但我们通过Claude Code的使用数据来寻找早期信号。
本报告基于对2025年10月至2026年4月期间约23.5万名用户的约40万个交互式会话进行的隐私保护分析,提供了关于Claude Code实际使用方式的证据。它建立在先前研究的基础上,这些研究侧重于Claude Code会话中的自主性(autonomy)衡量指标,以及Claude Code如何改变Anthropic的工作方式³。在此,我们引入一个框架来描述交互式AI编程助手的使用方式:正在完成何种工作、由谁完成、以及是否成功。我们重点关注通过命令行界面(CLI)、Claude.ai或Claude Code桌面应用程序进行的Claude Code使用⁴。通过追踪代理编程使用方式如何随模型能力提升而变化,我们可以更好地理解这些工具对编程专业人士和知识工作者劳动力市场的影响。
Claude Code上发生的事情可能预示着知识工作的未来方向,因为代理正嵌入到非编程工作中。我们发现,Claude正在处理更复杂、更有价值的任务。同时,在代理编程中仍然存在明确的劳动分工:人类决定构建什么,代理决定如何构建。
我们还看到证据表明,是领域专业知识(而非编程熟练度)放大了工具的有效使用。特别是,领域专家更常成功,并且更容易从错误和误解中恢复。然而,专家与中级用户之间的差距并不大——这表明在某个领域达到熟练程度就足以几乎像深度掌握该领域的人一样有效地使用该工具。
这些发现让我们对劳动力市场可能的转变有了初步了解。在我们的数据中,成功取决于一个人对试图解决的问题的理解程度,而不是他们是否受过编程训练。如果这些模式在整个经济中成立,那么这表明,虽然代理编程工具可能正在吸收一些执行密集型工作,但它们也在奖励那些对自己工作中解决的问题有扎实理解的人。编程代理并没有取代领域专业知识——工作者带给代理的理解越多,代理能够完成的优质工作就越多。
劳动分工
The division of labor
人们使用Claude Code做什么
What people use Claude Code for
为了理解人们使用Claude Code做什么,我们将每个会话分类为九种工作模式(work modes)之一——即最能描述该会话试图完成的目标的单一活动⁵。四种模式涉及直接编写或维护代码:构建新内容、修复损坏内容、测试代码以及编排(orchestrating)其他代理或自动化流水线。另一类是运维(operating)软件——部署、配置、运行流水线、监控系统。两类模式更侧重于确定要做什么:理解现有系统如何工作,以及在做出更改之前进行规划。还有两类模式涉及与代码无关的操作,或者代码只是最终产品的附带部分:分析数据,以及通过演示文稿和其他基于散文的文档进行沟通。
大约56%的会话包括编写(25%)、修复(26%)或测试和编排代码(5%)。运维软件占17%,而14%的会话是规划或探索,13%的会话产生分析或散文(图1)。

我们通过让一个模型读取会话记录来对每个会话进行分类,然后使用我们的隐私保护分析工具,对照每个会话自动记录的遥测数据(包括是否添加或删除了任何代码行)进行检查。这两个来源具有高度一致性——例如,我们的分类器标记为创建或修改代码的会话中,超过90%在遥测数据中显示了代码更改。详见附录。
谁来决定什么
Who decides what
Claude Code的自主性有多高?能力评估表明其上限很高且仍在上升:在METR的时间跨度评估(time-horizon evaluations)等基准测试中,前沿模型现在可以完成人类需要数小时才能完成的软件任务,并在此过程中自主克服障碍。但实际使用情况如何呢?在这里,我们考察在实际会话中,人类和Claude各自进行了多少引导。
我们从两个角度研究这个问题。首先,我们关注人类在多大程度上将决策委托给Claude,其次,我们考察人类交给Claude的行动数量。为了理解会话中的决策分工,我们基于会话内容构建了一个隐私保护的决策归属分类器(decision attribution classifier)。我们让分类器列出会话中所有有意义的决策。我们将这些决策分为规划(做什么、采取哪种方法、什么算完成)和执行(更改哪些文件、编写什么代码、使用什么语言、运行哪些命令)。然后,分类器将每个决策归属于Claude或用户,为每个会话提供两个数字:用户的规划决策份额和用户的执行决策份额。
平均而言,人类做出约70%的规划决策,但仅做出约20%的执行决策(图2)。在实践中,代理编程中存在明确的劳动分工——人类决定构建什么,代理决定如何构建。
为了理解会话中行动的委派情况,我们考察会话的结构而非内容。一个Claude Code会话涉及Claude和用户在提示(来自用户)和行动(由Claude执行)之间来回交替——用户编写一个提示,Claude去完成一些工作,然后用户再编写另一个提示,依此类推。在一个典型会话中,大约有四个这样的轮次。在我们从10月到4月的历史数据中,用户发送的每个提示平均会触发Claude执行大约10个行动链——有时甚至超过100个⁶。在每个轮次中,Claude读取文件、编辑代码、运行命令,并平均输出2,400个单词。
Claude在两次检查之间完成的工作量,很大程度上与谁在做决策相关。当用户保持对执行的控制(即做出超过80%的执行决策)时,Claude每个轮次采取的行动较少(约8个行动)。而当Claude控制规划(即做出超过80%的规划决策)时,它承担的行动数量最多(约16个)。

专业水平
Level of expertise
根据每个会话记录,Claude将用户在任务上的明显专业水平按五级量表从新手到专家进行评分。专业水平分类器寻找三个信号:用户表述指令的精确程度、他们要求Claude验证的内容,以及用户倾向于纠正Claude还是Claude倾向于纠正用户。请注意,专业水平捕捉的是与职位头衔或一般能力截然不同的东西,而且至关重要的是,它是任务特定的。一位资深工程师第一次问关于Rust的问题,在Rust方面就是新手。一位从未使用过Python的会计师,但能准确告诉Claude一个Python脚本必须强制执行哪些对账规则,并在月末结账时捕捉到它处理错误的边缘情况,那么在该任务上就是专家。
下表显示了我们在分类器中如何定义每个专业水平,以及来自编程代理会话公共数据集SWE-chat的示例请求。被分类为新手(Novice)的对话给出了通用指令,没有隐含的领域特定知识。专家(Expert)对话则传达了对代码库和技术环境的深入了解。

我们量化了专业水平与Claude每个提示的输出和活动之间的关系。在典型的新手会话中,每个提示触发约5个Claude行动和约600个单词的输出,而专家会话触发的行动链长度是前者的两倍多(12个行动),输出量是前者的五倍(3,200个单词)(图3)。新手与专家会话之间的这种差距出现在每种工作类型和每个任务价值区间内。
这些衡量指标补充了我们之前关于Claude Code报告中的自主性衡量指标,后者追踪了代理运行的时间以及人们自动批准其操作的频率。相比之下,我们的决策归属衡量指标捕捉的是谁在整个会话中做出实质性决策,而我们衡量每个提示的输出和行动数量则衡量每个人类提示触发了多少来自Claude的自主活动。

谁在使用Claude Code,以及用于什么
Who uses Claude Code, and for what
用户
The users
为了了解谁在完成这些工作,我们从会话记录中推断每个用户的职业,将其映射到美国劳工统计局标准职业分类(SOC)体系中的23个主要组别之一。分类器被指示仅依赖以下信号:代理在会话开始时加载的项目上下文、其文件的名称和结构、他们引用的任何工件(例如,法律文件、临床数据、财务报告、课程等)以及他们使用的词汇⁷。它被明确指示不要将编程行为视为编程职业的证据。只有当有明确信号表明软件或数据工作是用户的工作时,会话才被分类到编程SOC代码(计算机和数学职业)。如果一个律师构建了一个脚本来自动标记整个合同文件夹中缺失的条款,那么该会话被映射到法律职业,即使该会话的工作主要是软件。当没有关于用户职业的信号时,会话被保留为未分类。
我们能够推断出约70%会话中的职业。在这个集合中,计算机和数学职业(该类别涵盖大多数与软件相关的工作)不出意外是最大的群体。其次是商业和金融运营;艺术、设计、媒体;管理;以及生命、物理和社会科学。在我们样本中增长最快的非软件职业群体是管理、销售和法律职业。
工作内容
The work
从2025年10月到2026年4月,使用Claude Code完成的工作构成发生了显著变化。最明显的变化是,用于修复损坏代码的会话比例从33%下降到19%(图4)。取而代之的是,我们看到围绕代码的工作份额增加。运维软件从会话的14%增长到21%。编写和数据分析大约翻了一番,从会话的约10%增长到20%。
任务本身也变得更加有价值。我们通过询问在自由职业市场上完成该工作需要多少成本来估算每个会话的经济价值,并对照真实招聘信息的公共数据集进行校准。根据这一衡量标准,平均会话的估计价值在10月到4月期间上升了27%。这种增长在许多类型的工作中都存在。构建、运维和修复类任务的价值都增长了大约三分之一或更多(分别约为43%、34%和32%)。这些价格估算比较粗略,因此我们主要将它们用于比较不同任务随时间的变化,而不是作为字面意义上的美元价值⁸。关于任务估算器构建的详细信息,请参见附录。

成功取决于用户带来的东西
Success depends on what the user brings
任务的估计价值是了解Claude Code如何帮助人们完成工作的一种方式。另一个角度是考察有多少会话是成功的,以及会话的哪些特征与成功相关。在我们所有的成功衡量指标中,我们看到了一个清晰的模式:一个人在会话中表现出的专业水平越高,成功的可能性就越高。大部分收益集中在专业水平量表的下端——新手会话与中级会话之间的差距大于中级与专家之间的差距。
在讨论成功会话的特征之前,我们需要精确说明我们如何衡量成功。我们无法观察到用户的真实世界结果,也无法直接询问他们是否从Claude中得到了他们想要的东西。相反,我们依赖两种互补的基于会话记录的衡量指标。第一个是判定成功(judged success),它来自一个分类器,该分类器读取完整的会话记录并判断用户是否成功完成了他们打算做的事情(选项:成功、部分成功、失败、无明确目标)。然后,两个配套分类器评估该判断的证据强度,以确定验证成功(verified success)。一个成功信号分类器寻找可验证的成功证据。具体来说,它寻找与工作匹配的git活动(如提交和拉取请求),以及通过的测试套件和用户的明确确认。它将会话从“无信号”评分到“弱信号”(1)再到“多个强信号”(5)。一个平行的失败信号分类器则对表明事情出错的证据进行评分——错误、失败的测试、重试、用户对输出提出异议。验证成功要求同时满足会话被判定为成功并且至少有一个可验证的强成功信号。对于以下侧重于会话成功或失败程度的分析,我们排除了被分类为“无明确目标”的会话,这些会话约占我们完整样本的7.7%。
专业知识的回报
The returns to expertise
那么,哪种会话最成功呢?事实证明,上述会话的专业水平评分对会话的成功至关重要。
有人可能会担心专业水平并非真正的驱动因素——也许专家只是选择了不同的任务,或者在其他方面有所不同。在本节中,我们通过比较在同一时间、同一主题、同一估计价值、从事同一类型工作、来自同一广泛职业群体的用户会话,并询问结果如何根据用户评定的专业水平而变化,来部分解决这一担忧。

在我们所有的成功衡量指标中,一个人在会话中表现出的专业水平越高,会话成功的可能性就越大。一个被评为新手的会话达到我们最严格的标准验证成功的概率为15%,至少部分成功的概率为77%。一个被评为中级或以上的会话达到验证成功的概率为28-33%,部分成功的概率为91-92%(图5)。
在每个衡量指标中,大部分收益来自从新手到中级的转变;在中级和专家之间,斜率下降。在附录中,我们提供了图5背后回归的详细信息。

在沿途遇到挑战的会话中也出现了类似的梯度。当失败信号记录了失败的验证证据时,我们说会话遇到麻烦。这可能是一个错误、一个失败的测试、多次尝试做同一件事,或者用户表达沮丧或不满。在遇到麻烦的会话中,验证成功的份额从新手评级的4%上升到专家评级的15%,同时考虑了上述所有控制因素(图5)。查看更宽松的衡量指标,我们发现至少部分成功的份额,新手为60%,中级到专家会话为80-81%。
我们还追踪了反向关系——专业水平与各种失败衡量指标。请注意,在此分析中,被判定为失败的会话是那些甚至没有部分成功的会话。我们说一个遇到麻烦的会话是放弃的,如果它被判定为失败并且零行代码被编写:用户似乎是新手的会话中,19%以放弃告终,而其他所有人则为5-7%。换句话说,经验最少的用户在难以获得他们想要的结果时更有可能放弃。专业知识的部分价值似乎在于能够将代理引导到正确的方向⁹。
职业可能不如专业水平重要
Occupation may matter less than expertise
从事软件相关职业的人在所有会话中达到验证成功的比例约为30%,而来自其他职业的用户达到验证成功的比例约为26%。在产生代码的会话中(即添加或修改了至少一行代码的会话),这两个数字分别为34%和29%(图6)。在我们较宽松的成功定义下,软件相关职业与其他职业之间的差距缩小了——在产生代码的会话中,两组分别有89%和88%的时间至少部分成功。这五个百分点的差距很小,并且在七个月内既没有扩大也没有缩小,尽管两组的成功率都有所提高。在产生代码的会话中,我们数据集中十大职业中的每一个在成功率方面都与软件工程师相差在七个百分点以内。管理职业在验证成功方面最高,略高于软件工程职业。他们更高的验证成功率可能反映了可迁移到指导代理的管理技能。但它们也可能部分反映了我们的衡量方式:验证部分依赖于会话记录中的明确确认,而管理者在得到他们要求的东西时可能更倾向于沟通¹⁰。

展望未来
Looking ahead
本报告的结果描绘了一幅新兴图景,展示了代理编程如何放大某些形式的知识和技能,同时替代其他形式。在产生代码的会话中,每个主要职业的成功率都与软件相关职业的用户相差无几。