拥有你自己的智能栈:从 harness 与 evals 开始 · 干货攻略
- 链接: https://x.com/omarsar0/status/2117245811343966438
- 分类: x-tips
- 来源: X @omarsar0(elvis),原文引用 @rauchg(Guillermo Rauch, Vercel)推文 https://x.com/rauchg/status/2117000819623243925
- 作者: Jay
- 更新: 2026-11-03
这是什么
一条观点型 X 帖,但落点非常具体:你应当拥有自己的 AI 基础设施栈(intelligence stack),而第一步是自建 harness + evals,然后再沿着栈往下投资。
原帖(@omarsar0,2026-11-02)全文要点:
"Own your intelligence stack, folks! … Your business's very existence is at play here. But you don't have to do this all at once if you can't afford it. I mean, open models are still very expensive to run and tune. If you want to start somewhere, I suggest the harness. Build your evals and quickly move down the stack. The great part about building your own harness is that it gives you optionality, unlocks capabilities, and helps you measure where else in the intelligence stack you need to invest next. So while open-source was an alternative in the old era, today it is how you survive and thrive in the age of intelligence."
它引用的是 @rauchg 2026-11-01 的推文(原文中的 t.co 短链即指向该条):
"Own your intelligence. Anyone that opposes this has something to sell you (perhaps your own intelligence back to you.) Local models need to continue proliferating. The 'absolute unit' massive models may be out of reach for now locally, so your best option is to, indeed, keep your options open. Own your harness, data, connections, runtime: your agents. Embrace open source."
两条拼起来给出的是一个自下而上的拥有策略:模型最贵最难迁,先把 harness(智能体外壳:工具调度、上下文管理、循环、沙箱、评测、可观测性)、数据、连接、运行时这些可迁移的部分握在自己手里,从而保留随时换模型/换供应商的 optionality。
核验来源
原帖(一手) - X @omarsar0,2026-11-02 21:21 UTC 发布,10.4K 展示、66 赞(读取 oembed 与页面正文,原帖正文经 t.co 指向的引用帖补全)。链接:https://x.com/omarsar0/status/2117245811343966438 - 引用帖 X @rauchg,2026-11-01 21:08 UTC 发布,261.9K 展示。链接:https://x.com/rauchg/status/2117000819623243925
官方出处(技术细节来源)
1. OpenAI 官方博客《Harness engineering: leveraging Codex in an agent-first world》(https://openai.com/index/harness-engineering/)——目前最完整的"自建 harness"官方实践样本。原文自述:团队 5 个月、代码库约 100 万行、约 1,500 个 PR,早期 3 名工程师后来扩到 7 名,平均每人每天 3.5 个 PR,耗时约为手写的 1/10;单次 Codex 运行常持续 6 小时以上;AGENTS.md 只保留约 100 行当"目录",知识放结构化 docs/ 并用 linter + CI 强制校验;"Evaluation harnesses"明确列为 agent 产出的制品之一。原文同时写明该模式是否可泛化尚不确定。
2. LangChain 官方仓库 deepagents README(https://github.com/langchain-ai/deepagents)——把"harness"做成了可安装的开源件:README 自述定位 "The batteries-included agent harness",MIT 许可,安装 uv add deepagents,最小可用代码 create_deep_agent(model="openai:gpt-6-astra", system_prompt=...);能力覆盖 sub-agents、filesystem、context management、shell、persistent memory、human-in-the-loop、skills、tools/MCP;强调 model-agnostic(前沿 API、开放权重、Ollama / vLLM / llama.cpp 自托管均可)。安全说明明确写 "trust the LLM" 模型,边界要靠 tool/sandbox 层强制,而不是指望模型自我约束。终端编码 agent 另提供 curl -LsSf https://langch.in/dcode | bash。
3. LangSmith 官方文档 Evaluation 页(https://docs.langchain.com/langsmith/evaluation)——"Build your evals" 的官方流程:Offline Evaluation 四步为 建 dataset → 定义 evaluators(human / code / LLM-as-judge / pairwise)→ 跑 experiment → 分析结果(benchmarking、unit test、regression test、backtesting);Online Evaluation 为部署后配置 online evaluators(安全检查、格式校验、无参考 LLM-as-judge,可用 filters 与 sampling rate 控成本)→ 实时监控 → 把失败 trace 回灌 dataset 形成闭环。Platform setup 页说明 LangSmith 可选 cloud / hybrid / self-hosted(对"自己拥有"是关键选项)。
交叉来源(仅作背景,术语定义未取官方原话) - LangChain CEO Harrison Chase 在 Interrupt London 的主题演讲《Why Own Your Intelligence?》提出三个支柱:model、harness、context 均应"开放"。该条来自搜索结果摘要(YouTube),未逐帧核验原视频,故仅作佐证,不作为数字或结论来源。
证据不足、明确标注的部分
- 原帖与引用帖均为观点帖,不含任何命令、版本号、性能数字,因此本文所有命令与数字一律来自上面三条官方出处,未从原帖嫁接。
- "harness 的分层定义"(模型之下、工具之上的智能体外壳)在原帖中没有给出;本文采用 OpenAI 官方文中对 harness 制品的描述和 LangChain README 的自我定位,未采用第三方博客(kartiklabhshetwar.com、rafay99.com 等)中未经官方确认的 Terminal-Bench 分数与排行榜数字。
- deepagents README 的 quickstart 未固定版本号(只给 uv add deepagents 与 PyPI 最新版徽章),本文不虚构具体版本;OpenAI 文中出现的模型与产品名沿用其原文表述。
上手步骤
第 0 步:先划清"栈"的边界 按 @rauchg 的原话,你要自己拥有的是四样:harness、data、connections、runtime。模型可以先用商用 API,这是明确允许的;不可迁移的部分才是投入重点。
第 1 步:选一个可自己跑的 harness(先求可替换,而非最强)
- 想要开箱即用、且不绑死单一模型厂商:uv add deepagents,用 create_deep_agent(model=..., system_prompt=...) 起一个最小 agent,先跑通一个真实任务。
- 换模型时保持同一 harness:LangChain README 明确 model-agnostic,本地模型可经 Ollama / vLLM / llama.cpp 接入——这正是"保留 optionality"的具体含义。
- 若走自研路线,抄 OpenAI 的结构而不是抄它的代码:AGENTS.md 只做目录(原文给的量级是约 100 行),知识进结构化 docs/,用 CI 校验交叉链接与新鲜度,避免"一个巨大的 AGENTS.md"——原文明说这会挤占上下文、变成无人维护的过期规则坟场。
第 2 步:建 evals(这是原帖点名要"build"的东西) 按 LangSmith 官方流程: 1. 建 dataset,样本来源可以是手工挑选的用例、历史生产 trace,或合成数据; 2. 定义 evaluators,选 human / code / LLM-as-judge / pairwise; 3. 跑 experiment; 4. 分析:benchmarking、unit test、regression test、backtesting。 关键闭环是把线上失败的 trace 回灌进 dataset(LangSmith 的 online evaluation 就是为这一步设计的:自动跑 online evaluators + filters/sampling rate 控成本 → 实时告警 → 失败样本进 dataset → 离线验证修复)。 不想用托管平台的话,LangSmith 支持 self-hosted;离线评测也可以纯靠自建脚本跑 harness 的固定用例集。
第 3 步:把评测结果变成"往下投资"的依据 原帖说 harness 的价值在于"帮你衡量栈上其他地方该投什么"。落到操作上:先固定 harness 与 evals,然后按失败类型分流——上下文/指令问题先改 prompt 与 docs,工具与流程问题改 harness 的工具层与结构,模型能力问题才考虑换模型或上开放权重自托管。OpenAI 的经验是"human time and attention"是唯一真正稀缺的资源,所以把审查规则编码进 repo/lint 比重写代码更划算。
第 4 步:再考虑本地/开放权重模型 原帖自己也承认:"open models are still very expensive to run and tune"。@rauchg 同样指出 "absolute unit" 级模型本地暂时够不到,所以现阶段合理策略是"keep your options open"——保留换供应商的自由,而不是一上来就自建推理集群。
适用边界
- 不适用于:没有稳定业务任务、无法构造任何评测集的场景。harness + evals 的价值完全来自"有可测量的目标";没有基线就没有 harness 的收益,只有维护负担。
- 不适用于:把"拥有"理解成"全部自建"。原帖明确说"不用一次做完",本条只主张 harness / data / connections / runtime 归自己,模型层可以继续用 API。
- 成本现实:自研 harness 是一笔前置工程投入(OpenAI 那套是 3→7 名工程师、5 个月的量级,且其自述"是否可长期泛化仍未知")。单人/小团队更适合先用开源 harness + 自建 eval 集,把预算留给评测数据与人工标注。
- 安全边界:LangChain 官方明确 deepagents 采用 "trust the LLM" 模型——边界必须在 tool/sandbox 层强制,不能指望模型自我约束。自建 harness 时这条必须照抄。
- 可迁移性的双面性:把知识放进自己的 harness/repo 确实降低了对模型供应商的锁定,但同时也把平台依赖转移到了 harness 所在生态(第三方分析文章指出 attachment 会随机构知识沉淀而上升)——这是权衡,不是纯收益。
- 本文不承诺:任何性能提升幅度、成本下降比例或排名。原帖与引用帖没有任何数字,本文也不给出。
一句话总结
两位作者的主张是同一件事:模型会换、供应商会变、开放权重会继续 proliferate,能被换掉的部分才是你要提前握住的资产——所以第一步不是训模型或买更大的模型,而是自己写 harness、自己建 evals,用测量结果决定栈上下一笔钱花在哪。
(本文所有数字、命令、版本均出自上文列出的官方出处;原帖为观点帖,无命令与数字。)