Files
myWiki/concepts/code-as-harness.md
2026-06-01 10:46:01 +08:00

43 lines
1.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
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]] — 原始论文