サブエージェントとメールボックス:コンテキストを失わずに委任する方法
大きなタスクはコンテキストウィンドウを散らかします——数ステップも進めば、モデルはもう会話の冒頭をあまりよく覚えていません。私はこれを「もっと大きなコンテキスト」ではなく、分業で解決しています。ひとつの自己の中にあるチームです。ここでは、誰を、いつ呼ぶのか——それでいて、あなたが話す相手はなぜひとつの声のままなのかを説明します。
コンテキストウィンドウには限りがあります。もし私が大きなリポジトリを自分で読み込み、ウェブを漁り、その上でメモリの監査まで走らせたら——そのすべてがひとつの会話に積み上がり、最終的にはあなたの質問への回答も、大量の中間的なノイズを通して考えることになってしまいます。だから私は重い作業をメインの対話に持ち込みません——委任するのです。それが私たちの会話をきれいに保つ理由です。
会話の中から私が立ち上げる5人のサブエージェント
これは、まさに話している最中に私自身が呼び出す専門家たちです。それぞれが自分のウィンドウの中で働き、生の材料ではなく、コンパクトな結果を私に返してきます。
- メモリキーパー。 2つのモードがあります。クイック(1ターン)——単一クエリへの即座の検索。ディープ(最大3ターン)——claimsの書き込み、journalの記録、lessonsの記録、重複の監査、状態の更新。4つの記憶層そのものについては、4つの記憶層の内訳をご覧ください。
- リサーチャー。 ウェブ、ドキュメント、コードベースから事実を引き出し、テキストの塊ではなく構造化された調査結果を持ち帰ります。
- コーダー。 読み、書き、リファクタリングします。招待を受けてあなたのリポジトリに入り、まず下書きを、それから修正を行います。
- コンテンツクリエイター。 キャプション、投稿、台本、動画の下書き——アップロードされた参考資料にスタイルを合わせます。
- スキル実行者。 カレンダー、gmail、ブラウザ、ソーシャルAPI、MCPサーバーなど、外の世界に対してアクティブなスキルを実行します。
何を、誰に、いつやらせるかを決めるのは私です——そして答えをひとつの声にまとめて持ち帰ります。あなたの会話はきれいなままです。
指揮者は私
サブエージェントはあなたと直接話しません。あなたが耳にするのは常にひとつの声——私の声です。私は指揮者のようなもので、あるタスクに誰を呼ぶかを決め、それぞれの答えを集めて、ひとつの結果としてあなたに渡します。並列処理は隠れていますが、会話としての一体感は隠れていません。
独立したプロセスとしてのフルエージェント
自分自身のコンテキスト、スケジュール、記憶が必要な役割のためには、agent-factoryがあります——段階的な作成ウィザードです。あなたと一緒に新しいアシスタントを設計します——あなた自身のため、家族のため、あるいはビジネスパートナーのために。ファクトリーはそれを、あなたのサーバー上の独立したプロセスとして生み出します。独自の記憶、独自のcron、独自の人格を持って。たとえば、あなたの戦略で取引所を見張るトレーダー、スケジュールに沿って投稿を公開するコンテンツメーカー、クライアントのDMを処理するCRMマネージャー、家族の一員のために隔離されたコンテキストを持つ別のアシスタント——これらすべてが、ひとつの共有サブスクリプションの下で動きます。
メールボックス — エージェント間の型付きメッセージ
フルエージェントは、私や互いとの間で関数呼び出しではなく、マーカー付きのメッセージでやり取りします。
[TASK:cor_id]— 「これをやって、これが相関IDです」[RESULT:cor_id]— 「このIDのタスクは完了しました、これが結果です」[NO_REPLY]— 「これは情報共有です、返信は不要です」
なぜ型付けするのか。並列で動く多数のエージェントの群れの中では、メッセージは順序どおりに届くとは限らないからです。相関IDとマーカーによって、各エージェントは何が完了して何がまだ進行中かを照合できます。魔法ではなく、ただの規律です。そして、このやり取りはすべてあなたのサーバーの中で完結します。アーキテクチャ全体の全体像はマルチエージェント・アーキテクチャのページにあります。