04

5:22 - 7:36

汎用ハーネスからドメイン特化の認知フローへ

この章では、汎用ハーネスを、特定の領域に合うハーネスへ少しずつ変えていく方法を見ます。話者の提案は、最初から専用の仕組みを作ることではありません。共通のループを出発点にして、必要な場所へゲート、チェック、要約、ツール処理を加えていきます。

まず汎用ハーネスから始める

汎用ハーネスには、依頼を受け、モデルを呼び出し、必要ならツールを使い、その観察結果を次のモデル呼び出しへ戻すという共通のループがあります。このループを使えば、最初からすべての手順を決めなくても、エージェントを動かし始められます。

用途が狭くなるにつれて、このループの特定の場所に処理を足します。たとえば、次のような追加です。

  • モデルを呼ぶ前に、条件を満たしているか確認するゲート
  • 重要な情報を短くする要約処理
  • 特定の領域に合わせてツールの入力や出力を扱う処理
  • 次の段階へ進んでよいかを確認するチェック

認知アーキテクチャとは何か

ここでいう認知アーキテクチャ(cognitive architecture)は、特定の仕事に合わせて、エージェントが進む順序を明示した専用の流れです。汎用ループでは、モデルがその時々のツール呼び出しを決めます。専用の流れでは、検索、計画、実行、検証のような段階や分岐を、設計者がよりはっきり置きます。これはモデルを別のものにする話ではなく、モデルを動かす流れを用途に合わせる話です。

話者の歴史的な説明では、2023年から2024年ごろのモデルは、ループの中で安定して動くにはまだ十分に良くありませんでした。そのため当時は、複数の決まった段階を持つ専用の設計が役に立ちました。ただし、これはこの講演での説明です。ここで独立に検証されたモデル性能の結論として扱うべきではありません。

図は「Custom cognitive architectures」と題され、複数の問い合わせを使う報告パイプラインと、構造化された検索・計画・実行・検証の流れを比べています。

この図は、同じツール呼び出しを繰り返すだけの汎用ループとの違いを示します。左側では、調査用の問いをいくつも作ってから報告を作ります。右側では、検索、計画、実行、検証という領域に合わせた段階と分岐が明示されています。

例:深い調査のファンアウト

深い調査(deep research)は、ファンアウト(fan-out)を理解する例です。一つの依頼から、調査する小さな問いを複数生成します。そして、それらを枝分かれさせて実行します。最後に、複数の結果をまとめて、調査全体の報告につなげます。つまり、エージェントが毎回一つのツールだけを呼ぶのではなく、仕事を複数の下位の仕事に分けて進める設計です。

図は「Custom cognitive architectures」と題され、複数の問いを生成し、それらを並行して処理し、結果を一つにまとめる調査ワークフローを示しています。

左側の図では、一つの仕事が調査質問の生成器に入り、複数の問い合わせへ分かれ、その結果が調査エージェントへ送られます。隣の図にも検索、計画、実行、検証の段階があります。ただし、そちらの小さいラベルはすべて明確に読み取れるわけではありません。

例:コードレビュー・ボット

コードレビュー・ボットでも、領域に固有の手順を見える形で残せます。コードレビューの流れに必要な専用の段階を明示しながら、共通の実行部分やツールとのやり取りの多くをハーネスに入れることができます。この例が示すのは、専用の手順と汎用ハーネスが二者択一ではないということです。

ミドルウェアで足す場合と、流れを作り直す場合

ゲートや要約、ツール処理をループの挿入点に加える方法は、汎用ハーネスを保ったまま行うカスタマイズです。これに対して、認知アーキテクチャは、仕事の順序や分岐をより明示する方法です。しかし後者も、エージェントを動かすループと無関係な別の仕組みではありません。多くの場合、共通ループを土台にして、その上に専用の段階を重ねます。

実際の判断では、まず既製または汎用のハーネスから始めるのが簡単です。最初の価値を早く得やすいからです。用途が狭くなり、より高い品質が必要になったら、失敗しやすい箇所へゲートやチェックを加えます。それでも手順の制御や一貫性が重要なら、専用の認知アーキテクチャへ進みます。

したがって、「汎用ハーネスなら何も変えられない」と考える必要はありません。また、「カスタムにするならエージェント全体を書き直す」と考える必要もありません。共通ループの一部に処理を差し込む小さな変更から、領域固有の段階を明示する大きな変更まで、カスタマイズには幅があります。

要点は、汎用性と専用性を段階として考えることです。まず共通ループで動かし、実際の用途で必要なゲート、チェック、要約、ツール処理を見つけます。その結果をもとに、どこまで流れを明示するかを決めます。

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