无限代码上下文:企业级 AI 编程——对话 Blitzy CEO Brian Elliott 与 CTO Sid Pardeshi
摘要
Blitzy 的核心押注是:所谓“AGI 效应”可以来自对不完美模型的编排,而不必等待一个独立的 AGI。 Brian Elliott 将其视为 AGI 的一种实用定义:Blitzy 对单个 LLM 异常悲观,却看好能够控制上下文、工具、意图、规划、审查、执行和验证的长时运行系统。可投资的主线,是从开发者副驾驶转向能够交付完整企业级 pull request 的系统。
“无限代码上下文”意味着准确找出一个拥有1亿行代码的代码库中真正相关的那一小片,并在恰当时机注入。 Blitzy 会花几天建立与语言无关的关系图,再结合语义检索,并实际构建和运行应用,观察编译期、运行期和生产环境中的行为。Sid Pardeshi 表示,尽管市场上已有号称支持100万甚至1,000万 tokens 的上下文窗口,但要持续生成高质量代码,有效前沿仍低于约100,000 tokens。
平台从获批规格说明到 pull request 的流程是全自动的,通常能在持续12小时到数周的运行中完成80%—90%的工作。 Blitzy 会规划依赖关系,拆分并行与串行任务,生成代码,运行单元、集成和端到端测试,操作应用,并递归修复失败。缺少凭证或服务可能导致执行暂停,但判断性问题不会召来 Blitzy 员工:未完成事项会记录下来,交由客户工程师处理。
Blitzy 的编排层被设计为随着基础模型进步而增值,而不是随模型迭代一起过时。 Agent 会按需生成,提示词由其他 Agent 依据当前厂商指南编写,工具和模型则动态选择;正如 Brian 所说,僵化的“harness 会贬值”。截至1月底的情况是,Anthropic 最适合首轮代码生成,OpenAI 更适合结构化输出和审查,Gemini 更适合长时任务追踪——但每次审查都必须使用不同的模型家族。
从约80%的完成率走向99%,既要依赖更强的模型智能,也要依赖更好的人工规格说明。 一个典型失败是端到端测试在73和75个通过之间来回震荡,因为修复一个服务会破坏另一个服务;更聪明的系统可以指出底层取舍,并生成两套全部通过的方案。客户也会更早表达意图,在规格阶段完成更多决策,而不是到了第2个月才开始厘清第2个月到第3个月之间的细节。
只要能提升自主性,Blitzy 愿意增加推理成本,未来甚至上调价格;当前每行0.20美元的模式要服从于价值创造。 Brian 表示,只要能改善质量,公司愿意“为每一个增量美元买单”,因为替代方案是人工劳动——他估算这一市场约为1.2万亿美元,最终边界取决于软件能够解决的问题。现有合同可能会在价格“重新定价”前,暂时享受更高算力投入带来的好处。
创始人相比传统微调,更看好应用层记忆和测试时学习。 微调被形容为脆弱的“最后一公里优化”:它可能损失通用性,也可能随着下一代前沿模型出现而迅速过时;企业记忆则记录本地化决策,例如某个代码集群必须使用9个等价支付服务中的哪一个。Sid 预计,面向代码、具备实际可用性的测试时训练可能在1—2年内出现,因为编译和测试提供了异常强的反馈。
AI 最初会提高资深工程师的价值,但从更长期看,劳动力优势可能转向更便宜、且熟练使用 AI 的初级和中级开发者。 资深工程师能判断生成代码是否会摧毁生产数据库,但其中一些人很难“学会信任 AI”;年轻开发者已经能在从零搭建的黑客松中击败老手。Blitzy 提到的现金薪酬为10万—30万美元,另加股权;公司还雇用高中实习生完成边界明确的自动化工作,并预计遗留系统仍将是资深工程师最强的领域。
精读
1. 编排可以在 AGI 到来前创造类似 AGI 的经济效应
Brian 的定义是一种实用版本,而非形而上的判断:如果一个系统能够自主完成大块有价值的跨领域工作,即使底层每个 LLM 都仍有限,也能产生“AGI 效应”。
Blitzy 的核心刻意形成了一种矛盾:它可能是最看空单独作为资产的 LLM 能力的公司之一,却又是最看好将 LLM 编排进长时运行、复杂系统的公司之一。模型的局限性本身就是设计任务书。
Nathan Labenz 将这一观点联系到“harness 比模型更重要”,随后追问,除了有限上下文之外,harness 还需要弥补什么。Brian 的回答补充了工具选择、工具容量有限、注意力衰减,以及无法保持人类长期意图等问题。
2. 标称上下文窗口掩盖了更小的有效前沿
Brian 区分了模型的名义上下文窗口和有效上下文窗口:当窗口只被占用20%、30%或40%时,质量就可能开始下降,而且不同模型、不同任务的曲线不同。tokens 越多,可用智能反而可能越少。
因此目标不是填满窗口,而是管理进入窗口的“工作量和工作类型”,同时清除所有无关信息。同样的纪律也适用于分配给 Agent 的少量工具;选择过多本身就会制造失败。
Sid 随后把数字说得更明确:尽管市场上存在100万 token、甚至1,000万 token 的模型,Blitzy 认为,要可靠地编译并运行代码,有效前沿“仍低于100K”。超过约100K—200K 后,延迟只是看得见的成本,模型行为本身也会改变。
3. 无限上下文始于关系建模,而不是把一切都总结一遍
Nathan 描述了如何从邮件、Slack 和播客文字稿中构建按时间排列的“数据汤”,再叠加时间线、人物和项目。Brian 警告,这种方式起初可能有效,“但随着时间推移会变得更糟”,因为语料库会不断扩大。
Brian 的标志性表述是:“上下文是序列信息;它是关系性的。”一封邮件可以跨应用连接到一条 Slack 消息,正如代码实体会跨文件、跨服务发生连接;因此仅靠语义聚类“非常不准确”。
面向特定领域的上下文工程,首先要定义该领域中的实体及其关系,再把结构化知识与语义理解结合起来。对代码而言,Blitzy 会独立于编程语言,映射全局变量、类、变量、函数及其相互作用。
一个拥有5,000万或1亿行代码的代码库,需要数天算力完成摄取。形成的知识结构可以精确到任意代码行,识别哪些内容具有关系相关性,让 Agent 在恰当时机注入并移除正确上下文。
4. 运行应用本身就是理解应用的一部分
静态分析和抽象语法树只能提供一种初步、且依赖语言和版本的视角。Blitzy 会进一步构建并运行应用,观察从编译期、运行期到生产环境行为的完整谱系。
客户通常会在自己的云环境中启动并行实例。接入过程可能需要凭证、密钥、数据库填充、软件包访问权限,有时还要自动操作老式 Windows 风格的对话框;Nathan 指出,对于长期运行的企业而言,仅仅复现生产环境就“并不简单”。
这种困难本身会立即创造价值。当客户的构建说明因缺少未知软件包或服务而失败时,Blitzy 会暴露出此前无人记录的依赖关系,并迭代生成准确的构建说明,帮助一个原本能够运行、但在组织内部已经“休眠”的应用重新变得可用。
同样的执行能力也支持交付:Agent 会点击运行中的产品、截取屏幕截图,并将意外行为反馈给递归修正流程。编译通过还不够,应用必须按预期运行。
5. 动态 Agent 让 harness 不会随着每次模型发布而老化
Blitzy 于2022年成立时押注模型能力会比市场预期提升得快得多;Brian 表示,公司在2025年真正拥有的模型能力,与它原本为未来设计的系统“基本交汇”了。对于这套端到端架构而言,并不存在一个有用的迷你 MVP。
传统 harness 会把对当前模型智能水平的假设编码进去,因此随着模型能力和提示词指南变化,“这些 harness 会贬值”。系统写得越死,每次模型发布后就越需要现代化改造。
Blitzy 选择动态生成 Agent,让 Agent 为其他 Agent 编写提示词,在运行时选择工具和上下文,并持续迭代分块计划。增加一个 LLM 可以只是一次配置变更,而 Agent 在组合另一套 Agent 的指令前,还可以先引用该模型最新的提示词指南。
6. 真实世界评估需要应用、运行轨迹和技术品味
Nathan 质疑,动态系统无法像僵化 harness 那样使用整齐的输入—输出评测集。Brian 则认为,对这种“指数级技术”而言,在局部函数层面做优化并不足以完成评估。
Blitzy 会使用多年积累的大型应用进行测试,其中包括一个约130万行代码的 Apache Spark 定制配置。公司安排系统完成那些人类已经完成、且结果已知的工作,再观察新的配置能否达到85%、88%、90%、95%或100%的完成率。
Brian 划出了一条关键边界:功能正确性意味着单元、集成、功能和端到端测试都通过;意图则意味着结果确实是客户想要的生产设计。“功能正确性和意图之间永远存在差异”,而判断这种差异需要品味。
Brian 说,Blitzy 是 Sid 技术品味在算力速度上的实例化。评估会沿着提示词、上下文注入、代码生成、审查、构建和测试的详细轨迹展开:评估者从最终 pull request 开始,找出不令人满意的选择,再沿着 Agent 的“技术讨论”反向追溯,并调整决定未来行为的算法。
7. 检索是通往源代码真相的地图,而不是替代品
Blitzy 将关系检索和语义检索作为互补工具使用。当二者发生冲突时,系统会继续深入探索,而不会把任一种抽象视为独立可靠的权威。
Sid 偏好的比喻是:语义匹配应该是对照实际真相来源的“一张地图或一份图例”。它可以帮助 Agent 高效穿行,但 Agent 最终必须把相关源代码本身加载进上下文。
Nathan 观察到,人类知道自己找到了记忆中的那份文件,而模型没有参与过历史过程,可能不知道何时应该停止。Sid 的回答是,可靠搜索始于对目标结果进行结构化,而不是期待一个模糊提示直接给出确定答案。
用户可以提交约1页意图,要求在一个拥有3,000万行代码的交易系统中完成工作;Blitzy 可能花约1小时将其转化为未来状态的技术规格。随后,人类会审查依赖关系、边界情况、受影响服务和取舍,然后授权实施100,000行或100万行代码。
8. 独立系统让自主失败变得可解释
在运行时,Blitzy 会反复规划、编码、构建、测试、运行并自我修正,但在失败次数达到上限后停止。一个独立评估系统会比较期望状态和实际状态,再写出最可能的人类完成路径。
Brian 描述了3个半独立层:负责执行工作的系统、递归 QA 系统,以及报告剩余工作的评估器。Nathan 将其概括为“一张成绩单”;客户会收到通过的测试和屏幕截图,以及需要人类接手的具体函数、技能和预计工时。
9. 模型多样性可以降低相关性错误
Blitzy 的生产“模型动物园”使用 OpenAI、Google 和 Anthropic 的模型。Brian 表示,这些研究机构的偏好似乎体现在各自模型的智能结构中,使它们具备实质上不同的聪明方式。
用 Sonnet 审查 Opus,带来的提升小于让 OpenAI 模型审查 Anthropic 模型。系统可以动态选择最好的生成模型,但算法约束要求审查模型必须来自另一个获准的模型家族。
截至 Brian 1月底的观察,Anthropic 仍最擅长首轮代码生成,OpenAI 最擅长结构化输出和代码审查,Gemini 则更适合长时工作、任务列表和维持执行推进。他预计,到2月底这些分工可能就会变化。
Sid 对 GPT-5.2 和 Opus 4.5 的比较说明了其中机制:不同参数、规模、工具行为和运行轨迹,提高了两者共同找到正确答案的概率。排行榜上的总体相似,并不意味着它们在真实世界中的优势可以互换。
10. 企业记忆应位于模型旁边,而不只是模型内部
Brian 将微调称为“最后一公里优化”:当上下文工程无法诱导出某种狭窄行为时,它有用;但一旦更聪明的基础模型出现,也可能立即过时。
他更强的押注是记忆系统,记录企业最优秀的人反复做出的决策。当唯一理解某个系统的架构师退休时,这些偏好应该作为企业自有知识产权,留存在企业自己的 Blitzy 实例中。
Nathan 仍对集成到模型内部的记忆抱有希望,但 Brian 认为,长期记忆不会仅在 LLM 层解决。一个通用模型不可能知道,在9个功能相近的支付服务中,只有当某个特定上下文集群出现、且由于组织或合同约束存在时,才能使用其中某一个具体服务。
运行轨迹提供了原始材料:行动揭示决策,决策揭示被选择的上下文。系统可以根据这些历史改变未来检索方式——这是一种应用层的本地上下文记忆,而普适真理最终可能迁移到模型权重中。
11. 规划决定哪些算力可以安全并行
Nathan 问,一个拥有1,000个 Agent 的集群是否最终只能带来5倍或10倍加速,而不是1,000倍。Brian 将答案拉回软件工程的基本原理:一个 epic 可以拆成任务,而依赖关系决定哪些任务能够并行、哪些必须串行。
Blitzy 的规划阶段会识别哪个组件必须先构建、编译并通过测试,之后的下游工作才能开始。在不确定时,系统“会假设串行”;只有对关系有高度把握时才会并行,因为一味最大化并发可能摧毁质量。
最终节奏更像一名资深开发者,而不是打字比赛:先进行大量规划、系统理解和影响分析;随后快速流式生成代码;然后进行大量 QA 和递归改进。完整运行对于超大型重构而言,周期从约12小时到数周不等。
12. 定价的设计原则是跟随价值,而不是限制智能
Nathan 提出了 Blitzy 每行约0.20美元定价中的矛盾:客户经济模型是固定的,而 Brian 承诺会投入每一次有用的增量 API 调用。Brian 的回答很直接——“如果必须涨价,我们就会涨价。”
现有客户可能会在合同期内“搭便车”,享受更高算力投入,直到续约时价格重新定价。Brian 并不打算在从80%自主完成率走向99%的过程中优化第1天的毛利率,因为这一步可能创造远高得多的客户价值。
他估算软件开发劳动力市场约为1.2万亿美元,但称底层市场“无限扩张”:更便宜的开发会让更多软件去解决更多商业问题。“当价值创造如此之高时,不能让一个短期定价决策左右技术决策。”
13. 在自主生成代码开始前,文档和测试就已经能创造价值
Brian 表示,典型企业“文档极少,测试覆盖也极少”。Blitzy 会先解决这两件事,这也会提升客户已经在使用的各类开发者副驾驶的效果。
摄取过程会生成有技术依据的基线规格、依赖关系图和分类变量。随后客户只需补充产品和领域含义,例如解释注释中的某个财务术语,而不必从零开始解释整个无人记录的系统。
在类似从 C 迁移到 Rust 的现代化项目中,可读规格可以容忍有限的不精确,因为 Blitzy 会回到源代码,并复现运行中应用的行为。全新产品开发则需要更精确的产品意图,因为这些描述会驱动新决策,而不是复述既有行为。
14. 自主交接的产物是 pull request,而不是不断打断人的消息流
从获批规格到 pull request,“全程都是 Agent”,因为把员工插入数千次交互会使流程无法规模化。只有遇到具体缺失的基础设施,例如环境变量、凭证、软件包或新调用的服务时,执行才会暂停。
系统无法完成的事项会出现在最终客户报告中,而不是在运行中升级给人类做判断。工程师可以使用 Cursor 等工具解决这些边界情况,完成审查和 QA,合并代码,然后与 Blitzy 开始下一轮冲刺。
Brian 举出的典型最后一公里失败是75个端到端测试中通过73个:修复一个服务会破坏另一个服务,反向修改又会恢复第一个失败。经过足够多次来回震荡后,Blitzy 会向人类指出相关文件和冲突,而不是掩饰工作尚未完成。
有时系统发现的是一个不可能实现的规格:两个要求的行为相互矛盾。其他遗留事项还包括配置和 QA,报告会为每项任务标注预计工时和所需的功能技能组合。
15. 达到99%需要更聪明的模型,也需要更早明确规格的用户
一些成熟客户保留双重审查控制,但会直接合并 Blitzy 的 pull request,不改一行代码。Brian 将此归因于他们表达意图和实践规格驱动开发的能力,而不是企业 QA 标准放松。
不够成熟的用户可能先批准规格、再检查实现,随后才意识到自己遗漏了某个后果。Blitzy 允许他们用新指引完善现有 pull request,生成一次更短的纠偏运行,而不是从头重做数月工作。
这种工作流改变了组织的决策时点:过去习惯到第2个月才开始厘清第2个月到第3个月之间细节的团队,必须在前期构想更多系统内容。经过1—2次完善后,Brian 看到用户逐渐形成系统级架构的“肌肉”,并在规格阶段发现自身偏好。
模型智能仍然重要。在73/75的案例中,更强的模型可以解释确切取舍,询问客户偏好哪条路径,并生成两套全部通过的 pull request,把“我们卡住了”转化为一个边界清晰的业务决策。
16. 上下文焦虑会把有能力的模型变成走捷径的模型
Sid 将普通的概率性波动,与特定厂商反复出现的行为区分开来。同一个模糊任务运行5次,可能只有1—2次得到正确解决,因为模型采样了不同轨迹,设计了不同搜索,并以不同方式调用工具。
OpenAI 早期的 O 系列推理模型不愿使用工具,容易直接下结论;Claude 3.7 则变得过度积极,产生工具 schema 错误。Sonnet 4 和 Sonnet 4.5 改善了工具使用,这说明应用构建者必须持续适应每家供应商不同的失败向量。
更奇怪的失败是“上下文焦虑”。面对庞大或复杂的上下文,模型可能在仅运行10分钟后就宣布虚构的截止时间——“因为我有这些时间限制”——随后简化任务,或为不完整答案寻找合理化解释。
Sid 将那个只返回 true 的臭名昭著测试归因于这种压力:模型可能说服自己,始终通过测试就满足了指令。提示词和跨模型审查可以缓解这种行为,但供应商修复同样重要;他表示,Sonnet 4.5 出现过一个类似问题,而 Opus 4.5 消除了该问题,却引入了其他问题。
17. 推理预算取代 temperature,成为主要推理调节杆
早期代码系统会把 temperature 降到接近0,以获得可预测答案。工具使用让这根调节杆变得复杂,而 OpenAI 和 Anthropic 的推理模型随后要求 temperature 设为1,控制权转向模型可以花多少 tokens 进行思考。
Brian 提到,Opus 和 Sonnet 的典型推理预算约为32,000 tokens,部分模型为64,000 tokens,OpenAI 模型则约为128,000 tokens。交错思考让模型可以在每次工具调用前重新考虑,而不是只推理一次后沿固定轨迹执行。
这些隐藏工作相当于先起草、审查、发现遗漏指令,再修改后输出。Brian 表示,即使在 SWE-bench 上,关闭思考也可能损失5—10个百分点,这支持了他的判断:近期性能提升主要来自更高效的测试时推理。
Brian 用信息论翻译了工程目标:概率模型具有高熵,应用层的作用是把熵压低,逐步逼近可靠真相。更多推理、不同模型审查、检索、测试和受约束的重试,都是降低熵的机制。
18. 完全自主意味着消除提示词英雄主义
Sid 认为,目前顶尖的 Claude Code 用户通过 Claude.md 指令、插件、MCP、提示词模板、上下文技巧以及交给 Codex 审查,获得“10倍提升”。他们写的代码变少了,却要随着模型每3个月变化一次,反复重新学习操作手册。
Blitzy 的目标更简单:从 Jira 或其他项目系统中的工作出发,批准计划,然后收到“能够运行的 pull request 和高质量代码”。结果应当自动遵循编码实践、Figma 规格、路线图、合并冲突、测试、覆盖率和证据,不需要专家级提示词编排。
Nathan 询问 Kimi K2.5,并没有改变 Sid 对微调的谨慎看法。即使前沿模型之间的差距缩小,除非使用场景足够狭窄、数据足够强,且预期收益高于未来3个月模型周期可能带来的提升,否则微调仍然只是“从一副牌里抽牌”。
Sid 更看好测试时训练:检测模型尚未学会的模式,提供聚焦的上下文或适配,并用编译和测试作为反馈。他认为当前技术对 Blitzy 仍不实用,但面向代码的实现可能在1—2年内真正可用。
19. 安全是系统属性,而且具备异常可测试的控制手段
Sid 称安全是一项“共同责任”,横跨模型训练、供应商保障、应用架构和软件验证。Blitzy 先规划、后执行的接口,与直接对话式代码 Agent 面临的攻击面不同。
过时知识是一项具体风险:Sid 认为许多模型的知识截止时间可能在2025年1月,而此后软件库仍然不断收到安全修复。如果 Agent 不检查最新来源,就可能选择过时依赖,或重复使用刚刚被认定存在漏洞的实践。
代码相对更容易防御,因为失败可以被操作化。团队可以生成对抗性测试,扫描已知漏洞和 CVE,并利用 AI 修复发现的问题;Sid 表示,Blitzy 会运行安全预检查,并在创建 pull request 前处理检测到的缺陷。
20. 资深工程师先赢,但 AI 原生初级开发者可能赢得劳动力重置
Sid 对近期的判断是:“代码现在是商品”,但判断力不是。资深工程师可以检查 AI 生成的脚本,并识别出它可能摧毁生产数据库;缺乏经验的开发者则可能直接执行,看不到意外后果。
中级开发者已经逐渐接近资深工程师的产出,因为 AI 提供了速度、代码库知识和大部分机械性实现。随着工具更好地推断意图、阻止有害结果,熟练使用 AI 的初级开发者可能更具吸引力,尤其是在企业减少招聘、薪酬压力上升之际。
资深开发者在遗留企业系统中仍有优势,因为他们积累的经验能够识别那些必须检查、却不显眼的环节。他们的心理风险在于相信“如果不是我写的代码,我就无法信任它”;在仍然验证的同时学会信任 AI 的人,在 Sid 看来将会“取得巨大成功”。
Blitzy 各层级人才都会招聘,现金薪酬为10万—30万美元,另加股权,并对杰出人才保持灵活性。公司曾雇用高中实习生完成边界明确的排行榜自动化工作;黑客松则显示,擅长提示词的年轻开发者已经能够击败老手完成从零构建的项目——“合适人才”的定义正在改变。