02

1:00 - 2:46

知能を担うモデル、コンテキスト、ハーネス

この章では、エージェントの「知能」を一つのモデルだけで考えません。話者は、モデル(model)、コンテキスト(context)、ハーネス(harness)の三つを合わせて考えます。そして、ハーネスがエージェントの実行を組み立てる役割に注目します。

1. 知能を所有するとは何か

話者のいう「知能を所有する」とは、モデルをゼロから訓練することだけではありません。使うモデルを選び、モデルに渡すコンテキストを管理し、実行の流れをハーネスで制御できることです。この三つを自分で扱えると、特定のモデルや既製の実行方法に固定されにくくなります。

モデル:推論を行う部分

モデルは、与えられた入力から次の応答を作る部分です。この章で話者はモデル層を主な話題にはしません。モデルについては、前に行われたFireworksの発表を参照していますが、その発表はこの資料には含まれていません。したがって、ここではモデルの訓練や性能について新しい事実を足しません。

コンテキスト:モデルが見る情報

コンテキストは、モデルが現在の判断のために見る情報です。単なる現在の質問だけではありません。話者は、記憶(memory)、意味に関する知識、過去の会話などをコンテキストの例として挙げます。どの情報を、どの順番で、いつモデルに見せるかが重要です。

  • 固定コンテキスト:毎回ほぼ同じ指示やルールです。たとえば、エージェントの基本的な役割や安全上の決まりがこれに当たります。
  • 動的コンテキスト:実行ごとに変わる情報です。現在の質問、過去の会話から必要な部分、外部システムから返った結果などが含まれます。

例(説明のための作例):社内データを調べるエージェントなら、固定コンテキストに検索のルールを置きます。動的コンテキストには、今回の質問と、検索で見つかった文書を入れます。すべての過去データを毎回入れるのではなく、今の作業に必要な情報を選びます。

ハーネス:三つを動かす調整役

ハーネスはモデルそのものではありません。また、ツールの一覧だけでもありません。エージェントを動かす外側の仕組みであり、コンテキストを集め、モデルを呼び出し、外部システムに働きかけ、返ってきた観測結果(observation)を次の判断に使えるようにします。

流れは次のようになります。まずハーネスが、そのタスクに必要なコンテキストをモデルのコンテキストウィンドウへ入れます。次にモデルが応答を返します。応答が外部システムへの操作を指示していれば、ハーネスがその操作を実行します。そして、外部システムの結果をもう一度エージェントに渡します。この結果、モデルは新しい情報を見て次の応答を作れます。

例(説明のための作例):在庫システムを調べる場合、モデルが「商品Aの在庫を確認する」という操作を選びます。ハーネスが在庫システムを呼び出し、「残り5個」という結果を受け取ります。その結果をコンテキストに加えてから、モデルに次の判断をさせます。操作を呼び出しただけで、エージェントの仕事が自動的に終わるわけではありません。

話者は、モデルを切り替えられることも所有の利点として説明します。一つのモデルにロックイン(lock-in)されなければ、利用可能なモデルの中から、その時点で最もよいものを選べます。ただし、切り替えがいつでも簡単で、差がまったくないという意味ではありません。モデルごとに応答の傾向やツールの扱いが異なる可能性があるため、ハーネス側の調整は必要になります。

図1:図の中の「Agent」は、「Harness」の中に「Model」と「Context」がある形で示されています。

この図は、話者が説明する三つの部分、つまりモデル、コンテキスト、ハーネスの分解を直接支えます。図だけでは矢印は確認できず、調整の流れまで明示しているわけではありません。三つの要素の関係を確認する資料として読みます。元動画の該当時点(1:16.5)

2. ハーネスは「正しい情報を正しい時に」渡す

ハーネスの中心的な仕事は、必要なコンテキストを、必要なタイミングでモデルに渡すことです。固定コンテキストだけでは、現在の仕事に必要な情報が足りません。一方で、関係のない情報を入れすぎると、モデルが重要な情報を使いにくくなる可能性があります。そこでハーネスは、タスクに合わせて動的な情報を集め、モデルを呼び出す前にコンテキストを組み立てます。

図2:「ハーネスは何をするのか」という問いに対し、タスクのために正しいコンテキストを正しい時にモデルへ渡すものだと説明するスライドです。

このスライドは、コンテキストの組み立てについての話者の説明を直接支えています。ハーネスを、モデルへ情報を適切なタイミングで供給する仕組みとして捉えられます。ただし、図には固定コンテキストと動的コンテキストを分けるラベルは見えません。元動画の該当時点(2:19.5)

3. なぜハーネスが必要なのか

話者は「なぜハーネスが必要なのか」というスライドを示し、エージェントに必要な項目を六つ挙げています。計画から確認できる範囲では、エージェントをデータにつなぐことや、長い実行の中でコンテキストを管理することが含まれます。つまり、ハーネスは一回のモデル呼び出しを便利にするだけではなく、長く続く仕事全体を支えます。

図3:「なぜハーネスが必要なのか」という題名で、エージェントに必要な項目を六つ示すスライドです。

このスライドは、データへの接続や長い実行でのコンテキスト管理を含む、ハーネスの要件を見せています。外部システムの応答やエージェントループそのものを図で示しているわけではありません。そのため、図から見えない実行手順まで、この画像の内容として断定しないことが大切です。元動画の該当時点(2:38.5)

4. 誤解しやすい点

  • ハーネス=モデルではありません。モデルは応答を生成します。ハーネスは、モデルに何を見せ、いつ呼び出し、応答をどう実行するかを調整します。
  • ハーネス=ツール一覧でもありません。ツールを用意するだけでなく、呼び出しの前後にコンテキストと観測結果を扱います。
  • 所有=自社でモデルを訓練することでもありません。この章での所有は、モデルを選び、コンテキストを管理し、ハーネスの動作を制御することです。

なお、話者はモデル層を主題にせず、前のFireworksの発表を参照しています。その内容はここにはありません。また、三つの部分を示す最初の図の正確な配置は、図から確認できる範囲に限って説明しています。話者のモデルに関する主張や、製品の品質についての主張は、この講演で述べられた内容として扱い、ここで独自に検証した事実とは扱いません。

5. まとめ

エージェントの知能は、モデル、コンテキスト、ハーネスの組み合わせで決まります。モデルが応答を作り、コンテキストが判断材料を与え、ハーネスが両者と外部システムの間を調整します。ハーネスを所有すると、モデルを切り替え、必要な情報を適切な時に渡し、外部の結果を次の判断へ戻せます。後の章で扱うカスタマイズや評価も、この三つのどこを改善するかという問題として理解できます。

100% スペースキーとドラッグで移動 | Ctrl/Cmdとホイールで拡大縮小