---
title: "Code as Harness"
created: 2026-05-29
updated: 2026-05-29
type: concept
tags: ["agent", "code-synthesis", "LLM", "framework"]
sources: ["https://arxiv.org/abs/2603.03329"]
---

# Code as Harness

**Code as Harness** 是 [[autoharness|AutoHarness]] 的核心框架哲学：LLM Agent 不应只是一段 prompt + 一个模型，而应该是一个 **LLM + 自动生成的代码 harness** 的组合体——其中 harness 由 LLM 自己编写。

## 哲学

> 不是让 LLM 变得完美，而是让它可以被代码约束和保护。

传统 Agent 定义 = LLM + hand-coded "plumbing"。Code as Harness 将其升级为 = LLM + auto-generated "plumbing"。

## 为什么是代码？

- **可验证**：代码的正确性可以被环境客观检验（对比：LLM 推理无法被确定性验证）
- **可迭代**：代码可以基于 feedback 逐步改进（对比：fine-tuning 昂贵且不可逆）
- **可组合**：不同游戏的 harness 可以组合成库

## Harness 的三种抽象层级

从约束最强到最灵活：

1. **Harness-as-Action-Verifier**：固定 rejection sampling loop，只学习 `is_legal_action()` 函数
2. **Harness-as-Action-Filter**：代码生成合法动作集，LLM 负责排序
3. **[[harness-as-policy|Harness-as-Policy]]**：代码直接决策，完全消除 LLM 推理——这是 code-as-harness 的终极形态

## 与 Code-as-Policies 的关系

Code as Policies (Liang et al., 2023) 将机器人控制直接表达为代码生成。Code as Harness 的独特之处在于：**用迭代代码精炼 + 树搜索 + 环境 feedback 生成 hybrid code+LLM harness**，而不要求一次生成完美代码。

## 相关

- [[autoharness]] — 完整方法
- [[harness-as-policy]] — 终极形态
- [[lou-autoharness-2026]] — 原始论文
