Temper的诞生之路

机械化意味着代理正在承担更多工作,而工业化则使工作变得可重复、可验证、可控且可扩展。在Datadog,这一过程并非一蹴而就:Temper的诞生经历了Courier、BitsEvolve和Helix三个项目的积累。每个项目都揭示了下一个项目的瓶颈,并推动了他们的目标不断提升。

2024年,Datadog推出了Courier,一个分布式排队系统。这个系统完全由团队手工从零构建,耗时一年。

Sesh表示:“难点不在于构建各个部分,而是让它们之间的交互变得可观察、可测试和可验证。因此我们严格采用形式化建模和仿真,识别出错误代价高昂或难以逆转的部分,并在这些部分提高了严谨度。”

2025年9月,他们开发了BitsEvolve,一个闭环进化优化系统。多个模型组成的委员会生成代码变体,通过一系列基准测试、测试和生产环境的可观测性来决定哪些代码得以存活。

Sesh说:“这是我第一次意识到软件的某些部分可以像生物体一样,通过变异、反馈和适应来培养。”

但进化的效果取决于适应的环境,BitsEvolve的瓶颈就在于反馈环。随后他们打造了Helix,一个可与Kafka媲美的流处理服务。Claude Code在一名人类指导下完成了大部分构建工作。

Sesh回忆:“令人难以置信的是,几天内我们就拥有了一个功能齐全、可比肩Kafka的系统。它构建迅速,我们开始进行影子测试,发现它有机会降低2到5倍的成本。”

不过,将其推向生产环境则耗费了更多时间和人力,目前仍在逐步推广中。

“瓶颈再次转移,代理可以构建系统的大部分,但人类仍需协调,通过为人类设计的工具和机制将工作推向生产。”Sesh说道。

Datadog需要一种方式,让代理能在经过验证、基于策略的运行时环境中构建自己的工具。这个运行时就是Temper

Temper简介

代理生成代码的速度远超团队人工审核,但也容易出错。

Sesh认为,代理生成与验证通过之间的差距正是失败模式积累的根源。简单地将代理包裹在传统代码库周围,只是把问题当作吞吐量问题,而未解决验证差距。

Temper颠覆了这一思路:代理不直接生成应用代码,而是生成规范。内核读取每个规范,通过四层分析验证后,部署规范描述的运行系统。由于规范既是被证明的工件,也是被执行的工件,验证与运行之间不存在偏差。

Temper系统架构

Sesh解释:“Temper改变了系统的核心。代理不再需要为每个局部需求发明不相关的工具,而是生成精确的意图和问题域描述规范。它就像机床中的夹具或数控机床,你给它螺纹的规格,它就能极其重复地制造。你可以用它们制造飞机和复杂设备。”

换言之,代理不再每次即兴制作最终机制,而是先生成精确描述,通过Temper或类似机制迭代实现功能,随后将其转化为可重复、可检查、可复用的组件,从而围绕代码库构建软件工厂。

每项能力由三份合同描述:

  • 行为合同:状态、转换、前置条件及必须保持的安全属性。
  • 数据合同:实体类型、属性及支持的操作,机器可解析以便代理无需文档即可发现完整API。
  • 授权合同:默认拒绝、基于范围的审批,拒绝记录为待决策项,供人工审批并热加载至策略引擎。

每个规范必须通过四层独立验证后,内核才会加载。符号推理证明每个守卫可满足且不变量是归纳的;穷尽状态探索访问所有可达状态;确定性仿真在注入故障(丢包、延迟、重排、崩溃)情况下运行生产代码路径,确保故障可复现;随机属性测试执行约千次伪随机动作序列,并将任何违规缩减为最小反例。小型规范的整个验证过程不到一秒。

Helix的暗工厂

Simon Willison提出“暗工厂”概念,指软件流程中代理在虚拟工厂车间无人干预下持续工作。在Helix暗工厂中,Temper承担三大角色:

  • 代理控制平面:管理代理会话、角色、工作队列和生命周期。
  • 工具构建层:连接软件开发生命周期工具(Git、CI、部署)与小型Temper应用。
  • Helix控制API:数据平面周围的生命周期接口,执行工作负载。

Sesh表示:“令人惊讶的是,Temper开始显得比代理基础设施更通用。很多软件本质上就是数据库API周围的控制逻辑:状态、变更策略、生命周期转换、外部系统集成。Temper可以普适应用于任何具备这类结构的软件。”

为什么不直接构建CRUD应用?

“Claude Code能很好地构建TypeScript或Python的CRUD应用,但普通CRUD应用的控制逻辑分散在路由、数据库约束、服务代码、后台任务和文档中。虽然测试覆盖率可能不错,但其操作模式通常以状态机形式隐含在代码库中。”Sesh解释。

“Temper使状态机显式化。代理生成精确描述,而非任意代码。编译步骤在LLM之外,就像你把Rust代码交给Rust编译器一样。转换表是数据,而非散乱的控制流。代理可以动态修改它,安全地热加载,无需经过CI。”

未来展望

Temper的理念是每个工件都应足够小,便于理解。航空和金融等高保障软件几十年来一直采用这种方式,但人力成本过高,直到代理出现才使其成为可能。

工业革命之所以实现,是因为机床让零件可组合、可检查、可替换,从而制造出更大更复杂的机器。

Sesh总结:“如果代理能在工厂内自主构建软件,遵循这种严谨纪律,也许我们不必止步于暗工厂。这样构建的软件开始像有机体一样,可以通过反馈、选择和适应不断生长、培养和进化。”

观看完整演讲,了解Datadog如何打造Temper,一个将一次性代理工具转变为安全、可复用组件的受限框架,支持跨会话和团队的复合使用。