进阶 📋 6 个步骤 第 231 / 450 篇

用 PenguinHarness 让 Agent 自己造 Agent:0.2 元一次,准确率从 50% 提到 90%

2026 年 8 月 4 日 LlamaFactory 作者郑耀威开源 PenguinHarness,首个原生支持多 Agent 自进化的开源 Harness:0.2 元从零构建 Agent,耗时约为 Codex 的一半、成本低至 1/200,官方称准确率可从 50% 自动提到 90%。本教程带你跑通安装、自动造 Agent、建评测集、开自进化循环与成本管控。

2026.08.05· 16 分钟阅读· 约 1699 字· 🐧 PenguinHarness / 🔬 Agent 评测

做 Agent 最耗人的环节,从来不是写第一版,而是写完之后没完没了的手动调优:改一版提示词、跑一遍用例、看着准确率上上下下,再改一版。2026 年 8 月 4 日,LlamaFactory 作者郑耀威开源了 PenguinHarness——一个原生支持自进化的 Agent Harness,主打把「构建 → 评测 → 改进」这条链路交给 Agent 自己跑。

🐧 本教程适合:已经手搓过 Agent、被反复调优折磨过的开发者。你需要 Python 环境 + 一个大模型 API Key(DeepSeek / GPT / 通义均可)。开源地址 github.com/Prism-Shadow/penguin-harness,主页 penguin.ooo。

先搞懂:Harness 到底是什么?

很多人把 Agent 框架和 Harness 混为一谈,其实分工完全不同。用一句话区分:框架决定 Agent 怎么跑,Harness 决定 Agent 怎么变强。

层次负责什么典型代表
大模型推理与生成能力本身DeepSeek V4、GPT-5.6
Agent 框架循环、工具调用、记忆编排LangGraph、Agents SDK
Harness构建 + 评测 + 持续改进的外壳PenguinHarness

为什么这件事值得关注?它踩在 2026 年最热的 AI4AI / 递归自我进化(RSI)方向上。田渊栋创立的 Recursive 已验证 Agent 能训练模型、优化 GPU 算子;PenguinHarness 的目标更朴素——把自进化做成开箱即用,不再需要人肉调参。

Step 1:安装并配置模型

1 装环境,接上你的大脑

PenguinHarness 主打轻量,不依赖重型运行时。官方宣称支持 1000 多种模型,国内用 DeepSeek 成本最低:

# 1. 拉代码
git clone https://github.com/Prism-Shadow/penguin-harness
cd penguin-harness

# 2. 建独立虚拟环境(强烈建议,别污染全局)
python -m venv .venv
source .venv/bin/activate      # Windows: .venv\Scripts\activate

# 3. 安装
pip install -e .

# 4. 配置模型(写进 .env)
PENGUIN_MODEL=deepseek-chat
PENGUIN_API_KEY=sk-xxxxxxxxxxxxxxxx
PENGUIN_BASE_URL=https://api.deepseek.com/v1
💡 具体环境变量名以仓库 README 为准,各版本可能微调。核心就三件事:选哪个模型、Key 是什么、走哪个 endpoint。先用便宜模型跑通,再换贵的做正式任务。

Step 2:让它自动生成第一个 Agent

2 一句话需求,产出可跑的 Agent

PenguinHarness 的招牌能力是让 Agent 自动构建另一个 Agent。官方拿来对标 Codex 的经典案例是「生成一个 RAG 应用」,你可以直接复现:

penguin build \
  --task "生成一个 RAG 应用,实现分块检索,
          流式返回通俗易懂的答案,并带上引用" \
  --output ./my-rag-agent

# 运行过程中你会看到:
#   [plan]  拆解需求 → 6 个子任务
#   [code]  生成检索层 / 生成流式输出层 ...
#   [test]  自动跑一遍,失败则回补
#   [done]  成本 ¥0.19  耗时 4m12s
🔑 官方给出的对比数据:同一个 RAG 任务,PenguinHarness 耗时约为 Codex 的一半,成本低至 Codex 的 1/200,产出更贴近可直接交付——包含流式输出与来源引用,而对照组出现了中英混杂、缺流式输出的问题。这些是官方自测数据,实际效果随任务与模型波动,建议自己跑一遍对比。

Step 3:给 Agent 建一套评测集

3 没有评测,谈不上进化

这一步是自进化能不能生效的关键。Agent 的「变强」必须有一把尺子,否则模型只是在换着花样重写提示词。评测集不需要很大,20-50 条真实用例就足够:

# eval/cases.jsonl —— 每行一个用例
{"input": "公司差旅报销上限是多少?", "expect_contains": ["800", "住宿"]}
{"input": "上季度华东区营收多少?",   "expect_contains": ["营收", "华东"]}
{"input": "今天天气怎么样?",         "expect": "拒答并说明超出知识范围"}

# 挂上评测
penguin eval --agent ./my-rag-agent --cases eval/cases.jsonl

新手最容易偷懒的地方:只写「正常能答对」的用例。真正拉开差距的是边界用例——超范围问题该不该拒答、资料冲突时选哪条、用户问得含糊时会不会瞎编。这三类各写几条,评测才有区分度。

Step 4:跑自进化循环

4 让它自己迭代到 90%

有了尺子,就能开自进化。官方给出的典型效果是:无需手动微调,准确率从 50% 提升到 90%,花费不到一元钱。

penguin evolve \
  --agent ./my-rag-agent \
  --cases eval/cases.jsonl \
  --rounds 5 \
  --target 0.9

# 每轮它做四件事:
#   1) 跑评测,找出失败用例
#   2) 归因:是提示词问题?工具描述问题?还是检索策略问题?
#   3) 改一版,只改归因指向的那部分
#   4) 回归测试,退步就回滚
🧭 注意第 4 点——退步就回滚。这是自进化和「让模型随便改改」的本质区别。没有回滚机制的自动优化,跑几轮往往比初版还差。

Step 5:看轨迹和成本,别当黑盒

5 每一分钱花在哪都要看得见

PenguinHarness 内置了轨迹观测与成本对比,这在自进化场景里特别重要——因为循环跑起来后,账单是会自己长的:

penguin trace --run <run_id>      # 看完整执行轨迹
penguin cost  --run <run_id>      # 看这一轮花了多少

# 典型输出
Round 1  acc 52%   ¥0.04   ← 初版
Round 2  acc 68%   ¥0.05   ← 修了工具描述
Round 3  acc 61%   ¥0.05   ← 退步,已回滚
Round 4  acc 84%   ¥0.06   ← 改了检索分块
Round 5  acc 91%   ¥0.06   ← 达标,停止

务必设预算上限。自进化本质是循环调 API,忘了设 --rounds 或预算阈值,跑一夜的账单能让人清醒。建议第一次只跑 3 轮试水。

Step 6:多 Agent 与并发场景

6 从单个 Agent 到一支队伍

PenguinHarness 官方定位是全球首个支持多 Agent 自进化的 Harness,同时支持多模态与多用户并发。团队场景下这么用:

# 一次进化一组协作 Agent(各自有各自的评测集)
penguin evolve --team ./team.yaml --rounds 5

# team.yaml 示意
agents:
  - name: retriever   # 负责检索
    cases: eval/retrieve.jsonl
  - name: writer      # 负责成文
    cases: eval/write.jsonl
  - name: reviewer    # 负责校对
    cases: eval/review.jsonl
🎉 到这里你已经跑通了「自动造 Agent → 建评测 → 自进化 → 看轨迹与成本」的完整闭环。这套方法论其实和框架无关——任何 Agent 项目,只要补上评测集和回滚机制,都能吃到自动调优的红利

常见问题速查

你遇到的现象大概率原因 & 解决
进化跑了 5 轮准确率没动评测集太简单,全是能答对的用例,没有区分度
准确率越跑越低没开回滚,或评测集有互相矛盾的期望值
成本远超预期忘了设 rounds 上限;换便宜模型跑进化、贵模型跑生产
生成的 Agent 跑不起来需求描述太抽象,把输入输出格式写具体再重跑
模型接不上base_url 与 Key 不匹配,国内模型注意用兼容 endpoint
← 返回教程中心