Thin Harness, Fat Skills
核心判断:100x 的 agent 杠杆主要不是来自更聪明的模型,而是来自架构:把可复用判断沉到 fat skills,把中间 harness 保持很薄,把可信执行压到确定性工具层。
1. Skill files
可复用的 Markdown 过程文件,用来教模型怎么做事。
用户提供任务,skill 提供流程。
它更像带参数的方法调用:同一套过程,换不同目标、问题和数据集,就得到不同能力。
2. Harness
包住 LLM 的运行程序:跑模型循环、读写文件、管理上下文、执行安全边界。
所谓 thin,就是不把领域判断、业务逻辑和一堆泛化工具都塞进中间层。
3. Resolvers
上下文路由表:当任务类型 X 出现时,先加载文档或 skill Y。
Skill description、AGENTS 指针、项目文档和元数据,都是按需加载器,用来保护模型注意力。
4. Latent vs deterministic
Latent space 适合判断:阅读、解释、综合、识别模式。
Deterministic layer 负责可信执行:SQL、算术、分配、编译代码和文件操作。
5. Diarization
让模型读完一个对象的所有材料,再压缩成结构化画像。
它把零散文档变成分析师简报,而不只是检索命中或关键词匹配。
要避开的反模式
Fat harness + thin skills 会把错误的东西推到中间层:巨大的工具 schema、缓慢的通用 MCP 往返、把 REST endpoint 全变成工具、把上下文窗口塞满。结果是更多 token、更高延迟、更多失败面。
顶层:Fat skills
Markdown 过程文件承载判断、流程和领域知识。
大部分复利价值都在这一层。
中层:Thin CLI harness
小而清晰的循环:JSON in,text out,默认只读。
它组织上下文和安全边界,但不吸收业务逻辑。
底层:Application tools
QueryDB、ReadDoc、Search、Timeline、浏览器或领域 CLI。
确定性基础设施:快、窄、可测试。
方向性原则
把智能上推到 skills,把执行下沉到确定性工具,把 harness 保持很薄。这样模型升级会自动改善每个 skill,而不会破坏底层执行可靠性。
1. 先手工跑样本
对 3 到 10 个样本手工完成这个可重复任务,并检查真实输出。
2. 固化成 skill
如果输出成立,就把流程写成可复用 skill;如果需要周期运行,再放到 cron。
3. 读取反馈
把问卷、一般般的结果、失败样本、日志和 eval 回退作为下一轮数据集。
4. 改写 skill
抽取新规则并写回 skill 文件。系统在不重写核心代码的情况下学习。