Meta 推出 Muse Code,面向大型代码库执行长时间任务
- Olivia Johnson

- 13小时前
- 讀畢需時 13 分鐘
Meta 于 8 月 5 日以测试版形式推出 Muse Code,承诺提供一个可自主工作长达 24 小时的 AI 智能体。Meta 的 TechCrunch 报道之所以值得关注,是因为该产品瞄准了大型代码库——这正是编程智能体最难以预测的领域。
Muse Code 是一款基于终端的智能体,由 Meta 新推出、专注于编程的模型 Muse Spark 1.2 驱动。Meta 表示,该系统能够在复杂软件项目中规划变更、编写代码、运行测试并验证结果。
这一定位让 Meta 与 Anthropic 的 Claude Code、OpenAI 的 Codex、Cursor 和 GitHub Copilot 展开竞争。这些产品已在争夺那些不满足于自动补全或孤立代码生成的开发者。
Meta 入场较晚,但它并非只是发布又一个模型。Muse Code 结合了长时间执行、持久化任务历史、并行子智能体和隔离的工作环境。
核心问题在于,这些机制能否带来可靠的工作成果,而不只是更长的会话。一个能持续运行 24 小时的智能体可以完成更多步骤,但也有更多时间让错误不断累积。
Meta 实际推出的 Muse Code 是什么
Muse Code 将 Meta 的编程战略从提供模型,转向掌控完整的智能体工作流程。
Muse Code 目前是一款可在开发者终端中运行的测试版产品。根据 Muse Code 发布公告,Meta 将其设计为可在大型代码库中处理完整的软件工程任务。
编程智能体不同于传统聊天机器人,因为它可以通过工具采取行动。它能够检查文件、编辑代码、执行命令、读取测试结果并调整处理方式。
Meta 表示,Muse Code 可持续运行最长 24 小时,并执行超过 1,000 次工具调用。这些限制将产品定位于迁移、调试排查以及跨越多个服务的功能开发。
该智能体还可以将工作委派给并行子智能体。每个子智能体都在隔离的 Git worktree 中运行,即附属于同一代码库的独立工作副本。
这种隔离很重要,因为同时运行的智能体否则可能会覆盖文件,或相互干扰尚未完成的改动。Worktree 使它们能够探索不同分支,再由主智能体评估其输出。
Meta 还描述了一种仅追加的本地事件日志。该记录会保存操作和结果,使系统能够重建先前的工作,而不是完全依赖模型当前的上下文。
持久化对于长任务至关重要,因为上下文窗口是有限的。即便是大型窗口,在智能体读取数千个文件、命令结果、测试和中间计划后也会变得拥挤。
因此,Muse Code 将记忆视为一个运行系统,而不是一个长提示词。其历史可在上下文压缩后保留,并且据 Meta 称,还能跨进程重启延续。
该产品运行在专注于编程的更新模型 Muse Spark 1.2 之上。Meta 正通过 Muse Code 及其开发者 API 分发该模型。
Meta 尚未公布足够的独立证据,证明这些功能在陌生的企业代码库中会如何表现。公告描述的是预期中的系统,而测试版将揭示其实际边界。
这一差别至关重要。规划、持久化和工具访问都是能力;可靠完成任务则要求在任务的每个阶段都作出正确决策。
Muse Code 为模型提供了更多检查和验证工作的机会,同时也让一个错误假设有更多机会在子智能体之间传播。
这种张力使此次发布的意义超过了又一次基准测试更新。Meta 正在检验,更好的编排是否能缩小令人印象深刻的编程演示与可靠软件维护之间的差距。
为什么大型代码库才是真正的考验
编程智能体工作的难点,在于找到正确的上下文,同时不丢失让一次变更保持安全的关系。
小型编程演示通常从一个自包含的请求开始。模型看到相关函数,编写补丁,并运行一项聚焦测试。
生产代码库很少提供如此清晰的条件。看似局部的改动可能会影响共享模式、构建规则、部署脚本、身份验证策略以及由不同团队维护的服务。
大型代码库还包含相互竞争的信息源。文档可能已经过时,测试可能并不完整,而两种实现可能反映迁移的不同阶段。
智能体必须决定哪些证据应当优先。它还必须识别何时现有证据不足,并向人类寻求指引。
Meta 此前发布的 Muse Spark 1.1 已经瞄准这些问题。该公司表示,该模型能够诊断复杂漏洞、实现企业级功能,并执行大型迁移。
Muse Spark 1.1 支持规划、子智能体委派、目标条件化和上下文压缩。上下文压缩会总结先前工作,让智能体无需保留每一次原始交互也能继续执行。
它还拥有 100 万 token 的上下文窗口。这一容量可以容纳大量代码和文档,但代码库规模本身并不是决定性指标。
模型仍然需要检索正确的文件。它必须理解依赖关系,区分生成代码与源代码,并避免将无关匹配视为相关证据。
Muse Code 围绕这一模型谱系增加了一个专门构建的 harness。Harness 是为模型提供工具、指令、权限、记忆和反馈的执行层。
这一设计反映了编程智能体竞争中的一个重要变化。模型智能仍然重要,但周边系统正日益决定这种智能能否在长工作流程中持续发挥作用。
置于薄弱 harness 中的强大模型可能会重复搜索、遗忘决策,或在未运行正确测试的情况下宣布成功。结构化 harness 可以约束这些失败模式,并将其暴露给审查者。
Muse Code 的事件日志解决了遗忘历史的问题。隔离 worktree 解决了并行编辑冲突。持久化智能体则应对超出单次交互会话的任务。
这些功能都不能保证智能体理解代码库的架构。它们改善了智能体尝试理解架构的条件。
一个现实的大型代码库任务,可能始于结账流程失败。表面错误可能源于前端组件、API 合约或数据库迁移。
Muse Code 需要跨越这些边界追踪故障。随后,它必须修改正确的层级、保持兼容性,并选择能够覆盖受影响行为的测试。
智能体可以生成语法正确的代码,却误解服务之间的合约。这类错误往往能通过狭窄的单元测试,却会在集成流量下失败。
因此,大型代码库更奖励严谨的上下文收集,而非单纯的代码生成能力。它们也会暴露自信但不完整推理的代价。
评估 Muse Code 的工程团队应衡量它找到真实依赖链的频率。它生成的代码量是一个弱得多的信号。
Meta 的 TechCrunch 报道揭示了谁将承受压力
Meta 瞄准的是由 Anthropic、OpenAI、Cursor 和 GitHub 主导的既有智能体工作流程,而不是传统自动补全市场。
所引用的 Meta TechCrunch 报道 将 Muse Code 描述为 Meta 对已能处理多步骤软件任务的产品的回应。
Anthropic 通过 Claude Code 帮助确立了终端智能体形态。OpenAI 的 Codex 同样能够在代码库中工作、执行工具,并生成供开发者审查的改动。
Cursor 则推动这一类别走向持久化自动化。其 异步智能体 旨在减少让开发者不得不监看每项任务的“提示—监控”循环。
GitHub 则拥有不同的优势。Copilot 已经贴近代码库、议题、拉取请求、Actions 工作流程和组织访问控制。
Meta 必须说服开发者在这条链路中引入另一个智能体。与现有工具的兼容性有所帮助,但信任和工作流程整合将决定采用情况。
Muse Code 最有力的竞争论点是模型与 harness 的结合。Meta 可以让 Muse Spark 针对 Muse Code 在生产中使用的相同运行模式进行训练。
这种对齐可以减少模型习得行为与运行时可用工具之间的摩擦。针对并行委派训练的模型,应当会比通用模型更有目的地使用子智能体。
Meta 还拥有运营大型软件系统的广泛内部经验。根据已发表的 CodeCompose 研究,其早期的 CodeCompose 助手曾为使用九种编程语言的数万名开发者提供服务。
内部经验并不会自动迁移到客户环境。Meta 控制着自身的基础设施、惯例、评估系统和开发者政策。
外部代码库包含不同的语言、构建工具、权限模型和未被记录的假设。Meta 内部的成功是支持性证据,而非独立验证。
该公司的晚入场仍可能通过两种方式向竞争对手施压。第一,另一家大型提供商让买方在选择编程模型或智能体平台时拥有更多议价空间。
第二,Meta 可以连接来自其模型 API 和 Muse Code 的反馈。这种连接可能加速工具使用、任务恢复和代码库导航方面的改进。
竞争对手仍保有重要防御优势。Anthropic 已通过 Claude Code 积累使用经验,而 OpenAI 可以通过自身的智能体工作流程改进 Codex。
Cursor 拥有一体化编辑器体验,GitHub 则掌握了许多代码改动变成可审查工作的协作界面。
因此,Muse Code 必须在任务完成能力上取胜,而不是功能数量。若并行子智能体的输出需要比一个受到仔细监督的智能体更多的审查,它们的意义就很有限。
开发者还会比较各产品如何处理任务中断。一个有用的智能体应说明它做了哪些改动、哪些部分仍不确定,以及审查者如何复现其验证过程。
竞争由此进入运营层面。获胜的系统不会是写出最多代码的那个。
它将是能够把模糊请求转化为可审查改动、同时保留证据的智能体。这包括计划、命令结果、测试、差异和未解决的风险。
24 小时承诺带来了可靠性权衡
更长的自主运行时间会提升成功工作的价值,也会增加未被发现错误的潜在代价。
Meta 的 24 小时运行窗口听起来很有用,因为大型迁移很少能塞进一次短聊天中。智能体可能需要检查依赖关系、更新许多软件包,并运行耗时很长的测试套件。
持久化还降低了在上下文压缩后重启任务的负担。事件日志为系统提供了可支持恢复的记录。
然而,时间并不等同于进展。智能体可能花费数小时追随错误假设,反复调整症状,却没有找出最初的缺陷。
并行执行会扩大这一问题。如果主代理基于有缺陷的计划进行委派,多个子代理可能会同时产生互不兼容的改动。
隔离的工作树可以防止直接的文件冲突,但无法解决概念层面的冲突,例如两个子代理针对同一接口采用了不同假设。
主代理必须协调这些假设。这需要理解每项改动存在的原因,而不只是合并那些能通过本地检查的补丁。
验证带来了另一项挑战。编程代理可以运行测试,但必须选择能够代表真正验收标准的测试。
现有测试套件可能遗漏安全边界、性能表现、无障碍要求或与外部服务的交互。测试通过应当提升信心,而不应自动终止调查。
Meta 表示 Muse Code 可以编写和验证代码,但在更广泛的测试证实之前,验证仍只是公司层面的说法。Beta 用户应审查每次完成任务所附的证据。
最有用的审查材料应包括原始计划、改动文件、执行过的命令、测试结果以及已知缺口。它还应指出代理无法验证的假设。
安全团队将需要围绕工具权限建立明确控制。终端代理可以读取本地文件、执行脚本、访问凭证,并与网络服务交互。
组织应根据任务要求限制这些能力。文档更新不需要生产环境凭证,测试修复也不应能够控制部署基础设施。
同样的谨慎也适用于数据治理。源代码可能包含专有逻辑、客户标识符、内部端点以及安全敏感配置。
团队需要明确了解哪些内容会离开机器、Meta 会保留哪些内容,以及活动是否会被用于模型改进。这些答案应来自适用条款和企业控制措施。
Muse Code 的本地事件日志可能提升可审计性,因为开发者可以查看持久化的操作历史。它的价值取决于记录的完整性,以及其抵御意外篡改的能力。
事件日志也会产生敏感数据。命令和输出可能暴露路径、密钥值、客户数据或漏洞细节。
组织必须决定这些日志的保留时长,以及谁可以访问它们。有用的可追溯性不应演变为对敏感工程信息的无控制复制。
长时间运行的代理也会改变开发者的行为。人们可能会在任务结束时审查一大批完成的差异,而不是在整个任务过程中引导较小的决策。
当代理工作正确时,这种方式可以节省注意力。当最终改动包含许多相互关联的错误时,它会增加审查负担。
团队应从边界明确的任务和清晰的审批关卡开始。在衡量自身仓库中的失败模式后,再扩大自主权限。
因此,Meta 的承诺最好理解为运营能力的提升。可靠性仍取决于权限、上下文质量、验证设计和人工审查。
基准测试无法回答 Muse Code 的问题
模型得分无法表明 Muse Code 是否会遵守公司仓库中隐藏的约束。
Meta 曾通过评测论证 Muse Spark 系列在编程和代理式工作方面有所提升。这些结果有助于在受控条件下比较模型版本。
但它们无法复现一个持续演变的代码库。公开基准通常会提供明确的问题、固定的仓库状态,以及用于评判补丁的自动化方法。
企业任务往往从不完整的描述开始。需求会在工作进行期间发生变化,而正确的行为可能只存在于对话或运营历史中。
代理还可能遇到与其代码无关的环境故障。依赖项可能消失,测试可能不稳定,凭证也可能过期。
代理必须区分这些故障与有缺陷的补丁。这一区分需要判断、文档记录,有时还需要人工决策。
基准污染增加了另一项不确定性。当训练数据与公开任务重叠时,模型可能显得更强,即使它没有直接复现答案。
独立评测会有所帮助,但测试框架的差异仍可能改变结果。工具设计、提示词、上下文检索和重试策略都会影响完成率。
因此,应将 Muse Code 作为一个系统来评估。在另一套框架中测试 Muse Spark 1.2,回答的是不同的问题。
一项有价值的内部试点应包含此前由人工工程师完成的、具有代表性的仓库任务。审查者可以将代理的过程与被接受的改动进行比较。
团队应纳入不同类别的任务。Bug 定位、依赖升级、迁移、功能实现、测试修复和文档编写,分别考验不同能力。
试点应记录的不只是通过率。重要指标包括不必要的文件改动、审查时间、被回滚的补丁、遗漏的需求以及人工干预。
首次生成补丁所需时间可能具有误导性。一个快速生成、却要消耗数小时审查时间的补丁,可能会降低整体工程吞吐量。
Token 使用量或工具调用次数也是如此。更多调用可能反映了谨慎调查,但也可能意味着反复陷入困惑。
一个强有力的结果应表明 Muse Code 在保持质量的同时缩短了总完成时间。它还应提供帮助审查者快速发现错误的证据。
开发者应测试代理在指令冲突时的行为。大型仓库通常会同时存在旧指南和较新的政策。
他们还应引入信息刻意缺失的任务。值得信赖的代理应暴露不确定性,而不是凭空编造需求。
故障恢复值得单独评估。团队应中断任务、重新启动代理,并检查其持久化历史是否能恢复正确计划。
应在具有共享依赖的改动上测试并行子代理。这样审查者就能看到主代理是否会在集成前发现不兼容的假设。
安全测试应包括仓库文件中的恶意或误导性文本。编程代理可能遇到提示注入,即不受信任的内容试图重定向其行为。
Meta 此前表示,在其评测中 Muse Spark 1.1 能抵御多种形式的提示攻击。这些由公司自行运行的结果,并不能免除针对特定仓库进行测试的必要性。
Muse Code 的 Beta 状态使谨慎态度更为合理。Beta 产品通常会更改接口、默认权限、日志行为和支持的环境。
正确的结论既不是 Muse Code 已经成功,也不是它已经失败。Meta 为困难任务展示了一种可信的架构,而独立的运营证据仍然有限。
开发者接下来应关注什么
接下来的三个信号将表明 Muse Code 会成为严肃的工程系统,还是仍将停留在雄心勃勃的 Beta 阶段。
第一个信号是在陌生仓库上的独立任务完成情况。公开试验应包括多服务改动、隐藏测试,以及熟悉代码的维护者所进行的审查。
成功的结果将强化 Meta 的论点:持久化上下文和子代理能够改善大型仓库工作。即使基准得分仍然很高,频繁出现的架构性错误也会削弱这一论点。
第二个信号是企业控制措施的质量。团队需要有关权限、代码保留、事件日志、审计访问和管理政策的详细文档。
清晰的控制措施将使 Muse Code 更容易在专有代码附近开展试点。缺失或不断变化的条款会让注重安全的组织继续留在成熟平台上。
第三个信号是竞争对手的回应。Anthropic、OpenAI、Cursor 和 GitHub 很可能会强调更长时长的任务、更好的记忆能力、并行代理或更强的审查工作流。
如果竞争对手采用类似的持久化架构,Meta 将为这一类别指出一个有意义的方向。如果它们转向其他重点,Muse Code 的设计可能反映的是一个更狭窄的使用场景。
开发者还应关注 Meta 如何在 Beta 期间更新 Muse Spark 1.2。模型的改进可以在不重新设计框架的情况下改变工具选择和调试行为。
这种模型与框架之间的连接,是 Meta 的核心战略资产。它让公司能够同时控制推理和执行。
然而,集成式控制也可能提高切换成本。团队可能会围绕在不同模型版本之间发生变化的行为,建立政策和评估数据。
工程负责人应保留自己的验收标准。供应商基准和演示应补充内部证据,而非取代它。
Meta 与 TechCrunch 的报道表明,编程代理正在超越交互式辅助。新的竞争焦点是跨仓库的持续、可审计工作,任何模型都不能草率地阅读这些仓库。
对于个人开发者,实际的应对方式是有纪律地进行实验。选择边界明确的任务,限制权限,保留差异,并审查每一个声称已完成的验证步骤。
对于工程团队而言,仓库知识变得越来越重要。当架构决策、运行手册和归属规则可搜索且保持最新时,代理的表现会更好。
一个可搜索的知识库可以帮助人们在分配工作前汇集这些上下文。它无法取代仓库原生的指令和可执行测试。
应根据 Meta 编程代理留下的工作成果来评判它。可审查的证据比自信的完成消息更重要。
Muse Code 拥有针对正确问题的架构。它将长期软件任务视为持续、并行的过程,而不是延长版的聊天会话。
现在 Meta 必须证明,更长时间的运行能够带来更好的决策。最有力的证明将来自真实仓库、独立审查者,以及系统能够诚实解释的失败。
在信任一次 24 小时运行之前,先问一个更狭窄的问题:Muse Code 能否完成一项具有代表性的任务,同时保留人工审查者需要的每一个决策?这项实验比发布基准更能说明问题。它将表明该代理是否理解你的代码库、尊重其约束,并产出你的团队能够安全负责的改动。


