你的 Skills 够专业吗?

概要

如果目标是复现专业者使用经验的方式,我到底应该复现什么?从“条件化知识”看,Skill 不只该记录怎么做,还要记录什么情况下才成立。

来自我设计 Agent Skills 时的个人思考。

本文导航

我最开始做 Agent Skills 时,有一个很简单的想法。

神经网络的思想源头之一,本来就来自对人类神经系统的抽象。

当然,Agent 不等于 LLM,LLM 也不等于大脑。

但这给了我一个启示:

如果我要让 Agent 复用经验,那人是怎么复用经验的?

人是怎么用经验的?

假设我以前处理过一个问题。

下一次遇到相同的情况,我通常不会从头分析。

看到几个关键特征,很快就会觉得:

这个我见过。

然后过去的经验自然开始起作用。

但真正麻烦的是:

如果我认错了呢?

这次只是“看起来很像”。

某个真正重要的条件,其实已经变了。

这时候,经验不但没帮忙,反而可能让我更快、更自信地做错。

所以我开始觉得,专业和“做过很多次”并不是一回事。

至少在我理解里,专业还包括:

知道过去的经验什么时候适用。

这也是我希望 Agent Skills 最终接近的东西。

不是证明我的 Skills 有多专业,而是先弄清楚:

如果目标是复现专业者使用经验的方式,我到底应该复现什么?

原来这个问题有人研究过

后来我看到一个很贴近这个想法的概念:

条件化知识(conditionalized knowledge)。

简单来说,它不是只记住:

“遇到 X,就做 Y。”

而是把知识和它的适用条件一起理解:

什么情况下 X 才真的是 X?

什么时候 Y 有用?

什么条件变了以后,就不应该继续套用?

National Academies 在总结专家与新手研究时,把它描述为:专家的知识会和“它在什么情境下有用”联系起来,因此能够更快取出当前任务真正相关的那部分知识;没有被这样条件化的知识,即使已经知道,也可能无法在需要的时候被正确调用。

条件化知识的原始解释:How People Learn — How Experts Differ from Novices

这跟我当时对 Skills 的思考非常接近。

如果一个 Skill 只记录“怎么做”,它其实只保存了经验的一部分。

另一部分是:

什么情况下,这段经验才成立?

专家看到的,甚至不是同一个问题

国际象棋高手是一个很直观的例子。

高手看到真实棋局时,会很快认出有意义的局面模式。

真正帮他们加速的,不只是“会更多棋谱”,而是更快看出:

这是什么情况。

这让我重新理解了 Skills。

Skill 不只是“怎么做”

最简单的经验复用是:

情况 A → Skill A

但现实里的问题很少这么干净。

更接近我想要的其实是:

现在是什么情况?

哪些过去的经验相关?

这次和以前有什么不同?

哪些经验可以用,哪些要修改,哪些应该放弃?

所以一个 Skill 写得再完整,也只是其中一部分。

如果 Agent 只是:

看起来像 A

→ 找到 A

→ 执行 A

那 Skills 越多,不一定越接近专业。

因为它也可能越来越擅长找到一个看起来正确的旧答案。

真正困难的反而是:

这次真的是 A 吗?

所以,我说的“专业”是什么?

不是永远判断正确。

也不是有最多 Skills。

至少对我来说,我希望复现的专业性更接近:

识别情境,调用经验,同时保留怀疑经验的能力。

过去的经验可以让我更快。

但当关键条件发生变化时,我也希望系统能意识到:

这一次,可能不能直接照过去做。

所以标题里的“你的 Skills 够专业吗?”其实也包括我的。

我并不知道自己的系统已经有多专业。

它更像是我的一个目标:

不是让 Agent 记住越来越多做法,而是让它越来越会判断,过去的做法什么时候值得相信。