Skills の「専門性」って、何だろう?

Agent Skills を作り始めたころ、私にはひとつ単純な発想がありました。

ニューラルネットワークという考え方の源流のひとつには、人間の神経系を抽象化しようとした発想があります。

もちろん、Agent は LLM ではありませんし、LLM は脳でもありません。

でも、そこからひとつの疑問が生まれました。

Agent に経験を再利用させたいなら、人間はそもそもどうやって経験を再利用しているのだろう?

人はどうやって経験を使っているのか

以前、ある問題を解いたことがあるとします。

次に同じような状況に出会ったとき、普通はゼロから全部分析し直したりはしません。

いくつかの重要な特徴を見ただけで、

これは前にも見た。

と感じます。

そして過去の経験が自然に働き始めます。

でも、本当に厄介なのはここです。

もし、その見立て自体が間違っていたら?

今回はただ「よく似ている」だけかもしれません。

本当に重要な条件が、ひとつ変わっているかもしれません。

そうなると、経験は役に立たないだけではありません。

間違った判断を、より速く、より自信を持ってしてしまう可能性があります。

だから私は、「専門的であること」と「何度もやったことがあること」は同じではないと思うようになりました。

少なくとも今の私にとって、「専門的であること」には、

過去の経験をいつ使ってよいのか判断できること

も含まれます。

そして、私が Agent Skills に最終的に近づいてほしいのも、こういうものです。

自分の Skills がすでに専門家のように経験を使えている、と言いたいわけではありません。

その前に知りたいのは、

専門家が経験を使うやり方を再現したいなら、いったい何を再現すればいいのか?

ということです。

この問いには、すでに研究があった

そのあと、この考えにかなり近い概念を知りました。

conditionalized knowledge(条件化された知識)です。

簡単に言えば、ただ、

「X が起きたら Y をする」

と覚えているだけではありません。

知識と、その知識が使える条件を一緒に理解することです。

どんな条件なら、X は本当に X なのか?

いつ Y は有効なのか?

どの条件が変わったら、もう 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 の「専門性」って、何だろう?』という問いには、私自身の Skills も含まれています。

自分の仕組みが、今どこまでそういう判断をできるようになっているのか、私にもまだ分かりません。

これはむしろ、目指している方向です。

Agent にやり方をどんどん覚えさせるのではなく、過去のやり方をいつ信じてよいのかを、少しずつ判断できるようにしたい。