简介:“Thin Harness, Fat Skills”被广泛讨论时,常被简化为“调度要薄、能力要厚”。但这一设计准则隐含一个容易被忽视的问题:技能数量增加并不等于智能增强。本文从定义出发,拆解薄框架与厚技能的真实含义,解释为什么缺少记忆层的 Agent 只能重复执行而无法从经验中生长,并说明记忆层在架构中承担的“神经连接”作用、常见形态与适用边界。
“Thin Harness, Fat Skills”是一种面向智能体(Agent)的架构设计准则。其核心主张是:调度框架应保持轻量、稳定、通用,而具体能力应沉淀在可复用、可扩展的技能模块中。
这个准则的价值在于解耦。框架稳定,技能可扩展,团队可以并行开发不同技能,Agent 的能力边界也可以通过增加技能数量来扩大。从工程角度看,这是一种非常合理的模块化策略。
但这里有一个常被忽略的问题:技能的“厚”如果只体现在数量上,并不能自然带来 Agent 行为的优化。一个拥有 100 个技能的 Agent,与一个拥有 10 个技能的 Agent,差别可能只是“能做更多种类的事”,而不是“同一件事做得更好”。
在复杂系统中,控制逻辑与执行逻辑的耦合往往会带来三类问题:
薄框架与厚技能的分离,正好回应了这些痛点。框架只关心“现在该执行哪个技能、如何传递上下文、如何校验结果”,而技能内部可以单独维护、测试和替换。这样既降低了调度层的复杂度,又提升了能力层的可扩展性。
因此,这一准则在 Agent 架构设计中有明确价值。但它描述的只是静态结构——框架怎么搭、技能怎么放,并未说明系统如何在持续使用中变得“更聪明”。
技能的一个显著特征是高确定性。同一个输入,同一个技能,理想情况下应产生稳定一致的输出。这种确定性对可靠性非常重要,尤其是当 Agent 被用于自动化处理关键任务时,可预测性本身就是一种工程保障。
但需要将“确定性”与“成长性”区分开。
想象一个 Agent 每天处理相似格式的日志数据。技能每次都会执行相同的解析、清洗和写入动作。第 1 次执行和第 100 次执行,如果输入结构与输出目标相同,那么结果模式也基本相同。技能没有“记住”什么,也没有从这 100 次执行中形成新的倾向。
人的记忆则不同。人不需要记住每次骑车的所有动作细节,但通过反复练习,人会“会骑车”。这种“会”,是大量经验被压缩之后形成的倾向与直觉。遗忘在这个过程中不是缺陷,而是筛选机制:保留重要的、抑制噪音、形成模式。
技能不会遗忘,因为它不筛选;技能也不会成长,因为它不积累。它只是重复调用。
这就是“薄框架、厚技能”准则中隐含的缺口:它描述了 Agent 的骨架和肌肉,却缺少连接骨架与肌肉、让动作一次比一次更协调的神经层。
如果在 Agent 的三层结构中引入记忆层,可以更清楚地理解它的作用:
没有记忆层,技能与框架之间只是调用与被调用的关系。框架每次按照既定规则选择技能,技能每次按照既定逻辑执行,两者之间没有“上次这样做结果如何”的信息回流。
引入记忆层后,Agent 在每次任务结束后,可以提取三类信息:
这些信息不形成新的技能,而是在已有技能上生长出“经验微调”。技能还是那个技能,但它被调用时的参数选择、结果排版、异常处理方式可能发生变化。系统整体行为因此有了方向性的改善。
有一种观点认为,“永不遗忘”是技能的优点。这个判断本身没有错,但需要区分两种不同的系统目标:
技能层更接近前者,记忆层更接近后者。
两者并不冲突。一个设计良好的 Agent,可以同时具备确定性与适应性:技能层保持稳定可预期,记忆层在此基础上做有边界的参数化调整。确定性保证系统不会跑偏,适应性保证系统能够变好。
因此,讨论“薄框架、厚技能”时,不应将其视为完整答案,而应将其视为一种静态结构基础。真正让 Agent 从“工具”走向“能积累的助手”的,往往不是更多的技能数量,而是与技能层并列的记忆与反馈机制。
记忆层并不是一个单一模块,而可以由多种形态组成:
| 记忆类型 | 作用 | 示例 |
|---|---|---|
| 短期上下文 | 保持当前任务的状态与中间结果 | 当前会话中的变量、临时文件、任务队列 |
| 长期偏好 | 跨会话保留用户习惯 | 回答风格、格式偏好、常用参数 |
| 经验知识 | 从历史任务中归纳出模式 | 某类任务的易错点、更优路径 |
| 反馈记录 | 记录行为结果与外部评价 | 成功率、耗时、用户显式反馈 |
在实现层面,记忆层通常依赖通用基础设施能力,例如键值存储、对象存储、向量检索、日志系统、消息队列等。具体采用何种方案,取决于记忆的访问模式、数据规模和实时性要求。
需要特别注意的是,记忆不等于“记录一切”。如果一个 Agent 试图保留所有执行细节,反而会带来两个问题:一是存储与检索成本大幅增加;二是大量低价值信息会淹没真正有用的模式。记忆层同样需要“遗忘”或“压缩”,它必须进行筛选、抽象和衰减。
这也再次说明,“永不遗忘”在技能层或许成立,但在记忆层并不应是目标。记忆层的核心价值在于提炼,而不是保存。
“薄框架、厚技能”作为架构准则,仍适用于大多数以任务执行为主的 Agent 场景。尤其在以下情况下,表现出较好的工程实用性:
但在以下场景中,仅靠薄框架和厚技能是不够的:
在这些情况下,应在架构早期就考虑记忆与反馈层的位置,而不是等到技能数量增加后再补充。补一个记忆层,远比将经验散布在数百个技能中要容易。
同时,引入记忆层也会带来新的工程挑战:记忆如何更新、如何失效、如何与技能版本兼容、如何保护用户隐私。架构设计者需要在这些问题上给出明确策略。
“Thin Harness, Fat Skills”是一条有价值的结构原则:它让调度更稳定,让能力更容易扩展。但它描述的是静态骨架,并不自动带来行为的进化。
技能是确定性的执行单元,它不遗忘,但也不提炼;框架是控制性的调度单元,它不积累,也不成长。真正让 Agent 从“能执行”走向“会改进”的,是独立于骨架与肌肉之外的记忆层。
因此,理解这条设计准则的关键,不是停留在“薄”和“厚”的比例分配,而是看到它未覆盖的那一层。一个完整的 Agent 架构,不仅需要骨骼和肌肉,还需要那条让它们每次配合得更好的神经通路。