论文链接:A-JIT: Agentic Just-In-Time Software Construction 发表时间:2026年9月(SpecOps'26 Workshop @ Oakland, CA,DOI 10.1145/3842652.3843194) 机构:University of Kentucky(Mark Marron)× University College London(Earl T. Barr)—— 高校合作,软件工程名教授参与 领域标签:cs.SE / Programming Languages / Agentic Software

一、论文背景

软件工程史上的每一次大跃迁都伴随"构建时机"的后移:编译器把机器码生成从设计期移到编译期,JIT 编译器进一步把它移到运行期——按实际执行路径特化代码,用运行时信息换取数量级效率。而软件交付本身却仍是静态范式:代码在执行前写完、打包成固定制品、部署后只在更新周期里变化。

LLM agent 的成熟让一个老问题重新可问:软件的实现为什么必须在运行之前完成? 当 agent 具备按需生成实现的能力,“交付完整二进制"就只是历史惯性而非技术必然。

二、论文定位和关联工作

范式构建时机适应方式代表
静态交付开发期版本更新传统软件
JIT 编译运行期(机器码层)代码特化JVM/V8
低代码/插件化开发期组合插件架构
A-JIT运行期(逻辑层)agent 按需构建本文+Bosque 原型

定位结论:本文是"agentic 软件构建"的概念奠定(vision paper)——定义问题、给出语言/运行时/实现观三支柱、以 Bosque 原型证明可行性,并为后续实证预留可检验假设(预注册式写法)。与 Self-Adaptive Software、Autonomic Computing 老谱系的区别在于:适应单元从"参数/配置"升级为"实现本身”。

三、问题定义

具体问题:如何设计语言、运行时与 agent 协同机制,使软件可以在运行期按需构建缺失实现、即时生成新能力、持续适应终端用户行为?

三个前置条件(作者论证的必要性):(1) 语言能显式标注哪些部分留待 JIT 构建——否则 agent 无从知道边界;(2) 运行时支持边构建边执行测试——否则构建质量不可验证;(3) 对"实现"的新定义——允许人/agent 构建部分实现并在使用中渐进完备。

四、问题解法

1. Code Holes(语言支柱):编程语言新增显式结构,标注"此函数/模块留待 JIT 构建"。hole 是一等公民:有类型签名(契约),无固定实现。静态部分与动态部分在源码层面清晰分界。

2. 运行时 harness(运行时支柱):agent 内嵌于运行时,观察两类信号——系统使用(用户怎么用)与执行轨迹(程序实际怎么跑);对触发的 hole,agent 生成候选实现→运行时构建并测试→通过后热接入。trace 驱动保证构建依据是真实行为而非猜测。

3. 实现的新定义(语义支柱):实现不再是一次性完整制品,而是"从空到完备的渐进过程";部分实现+使用反馈+agent 补全构成新开发闭环。Bosque 语言原型演示:开发者标注 hole、agent 基于 trace 与用户交互协同构建,人-AI 共创贯穿软件生命周期。

4. 可检验假设(方法学支柱):把"agent 不可绕过的控制使代码诚实可验证"等核心主张表述为预注册、可测试假设——为后续实证研究立好靶子。

五、评估指标与实验证据

  • 本文为范式/愿景论文:以 Bosque 原型演示 trace 驱动人-AI 协同构建的端到端可行性,原文未提供标准化 benchmark 数值(原文未提及)。
  • 论证方式:与 JIT 编译的历史类比(构建时机后移的收益先例)+三支柱必要性分析+原型演示。
  • 价值锚点:SpecOps'26(规格驱动开发生命周期 workshop)收录,CCS 分类为 Runtime environments——社区对"运行期构建"议题的正式接纳。

六、效果优势的根源解释

作为范式论文,其"优势"论证采用机制推理而非实验对照:

  1. 需求-实现时滞的消除:静态范式里"用户新需求→排期→开发→发布"的月级周期,在 A-JIT 中压缩为"使用模式变化→agent 观察→即时构建"的即时反馈——因为实现的生产能力内置于系统;
  2. 长尾覆盖:静态软件只为统计众数需求买单,A-JIT 让每个用户的边缘用法都能获得定制实现——特化粒度从"产品"降到"实例";
  3. 与 JIT 的结构同构:JIT 用执行画像特化机器码(热路径优化),A-JIT 用使用画像特化逻辑——同为"运行时信息→构建决策"的闭环,前者已被证明能赢得数量级收益。

风险面同样被诚实处理:构建质量(测试支柱)、不可控演化(控制点)、责任归属(预注册假设)。

七、必要知识反推

  • JIT 编译:运行期按需编译+热点特化(JVM C2、V8 TurboFan),本文类比的原型。
  • Bosque:微软研究院的正规化语言(Mark Marron 主设计),本文原型载体。
  • Self-Adaptive / Autonomic Computing:2000 年代的自适应软件谱系,A-JIT 是其在 LLM 时代的激进延伸。
  • Code Holes 与 Program Synthesis:留空+按约束合成实现的程序综合传统,hole 的类型签名即综合规范。

八、论文中可以提取的通用性灵感

  1. 构建时机是被设计的历史默认值:审视任何流程中"必须提前完成"的环节——当生成能力足够便宜且可验证,把构建后移到使用点能消灭预测误差(适用于报告生成、配置、数据管道)。
  2. 显式边界是自动化协作的前提:agent 能可靠补全的前提是"哪里该我建"有明确标注——任何人-AI 分工系统都需要 hole 这样的边界语言。
  3. trace 是最诚实的构建依据:观察真实执行而非采访意图——自动化构建系统的输入优先级应是 trace > 使用统计 > 用户陈述。
  4. 愿景论文的正确写法:定义问题+必要性论证+原型可行性+预注册可检验假设——把"信仰之争"转化为"可证伪命题",值得所有立场型论文学习。
  5. 渐进完备的实现观:不要求一次交付完美制品,允许"部分实现+反馈补全"的生命周期——对 agent 生成的一切制品(代码、文档、测试)都适用。