编程 PenguinHarness 实测:自建 Agent 的低 token 方案,数据全在本地

2026-08-29 17:26:49 views 10

开源项目 PenguinHarness(仓库地址:https://github.com/Prism-Shadow/penguin-harness ,简称 PH)是一个"让 agent 自己写 agent"的 harness:它能用 LLM 生成新的 agent 配置、运行自身、复盘失败、再把结论写回记忆。这篇文章讲它怎么做到"token 消耗低",以及什么场景值得用、什么场景先别急。

数据说明:以下 benchmark 数据均来自官方 README 与发布说明,我未在本机复测,仅作参考。

低 token 的三个来源

官方在 40 个真实编码任务上对比了成本:

方案成本正确率
PenguinHarness$3.8171.25%
Codex CLI$14671.25%
Claude Code$220约 90%

命中率与 Codex 打平,成本差一个数量级。低 token 主要来自三处:

  1. 自我进化的记忆系统。每轮失败会被压成一条结论写回 @memory,下次同类问题不再重复问、不重复试错,token 自然省。
  2. 精简 system prompt。0.1.5 把 system prompt 从 1087 词压到 969 词,每次调用都少一段常驻文本。
  3. 全量 Trace。它记录每个工具调用花了多少 token、卡在哪,配合自我进化持续砍浪费——不靠玄学省,靠可定位。

自建 agent:写配置,不是写代码

@prismshadow/penguin-core,最简示例:

import { createAgent } from "@prismshadow/penguin-core";

const agent = await createAgent({
  name: "my-helper",
  model: "claude-3-7-sonnet",
  role: "你是一个代码助手,只回答能落地的结论",
  tools: ["execute", "read", "write"],
});
await agent.run("看下 ./src 下有没有未处理的 panic");

也可以用 CLI 起交互或运行任务:

penguin run "重构 handleRequest,去掉重复的 error check"

不需要会写 agent 框架,配几个字段就能得到一个有记忆、会自我进化的助手。

关键安全边界

  • CONTRACT.md 契约:框架的运行方式、目录结构、可配置项都写在这里,改动它前会先读契约。
  • 工具调用审批:默认对高影响动作(写文件、执行命令)要求人工确认,不放心就锁住。
  • 数据全在本地:记忆、会话、日志都落在项目目录(.penguin 之类),不上传,适合不想把代码喂给第三方的情况。

什么情况别急着上

  • 要极致编码准确率:PH 在编码 benchmark 上还没追上 Claude Code(71% vs ~90%),追求正确率优先时先观望。
  • 环境限制:需要 Node.js >= 24;Windows 下 shell 命令要配 MinGit,纯 PowerShell 环境可能踩坑。
  • 官方数据未复测:成本数据来自官方 benchmark,真实项目场景下是否同样省钱,需要你自己跑一遍确认。

一句话判断

如果你要的是一个数据留在本地、token 可控、还能越用越省的 agent,并且能接受"它帮你写 agent 而不是你手写框架",PenguinHarness 值得跑一遍。先把 40 任务 benchmark 在自己机器上复现一次,再决定是否纳入日常。

开放问题:自我进化写回的记忆会不会累积污染、长期运行后记忆膨胀怎么裁剪——官方还没给出明确机制,建议跑长周期前先留意。

复制全文 生成海报 Agent LLM Claude 低token 开源工具

推荐文章

程序员茄子在线接单