43 lines
1.7 KiB
Markdown
43 lines
1.7 KiB
Markdown
---
|
||
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]] — 原始论文
|