PerchAI
仕組み

Flock

Perchの実験的なマルチエージェントモードです。難しいタスクのためにワーカーのチームを個別に計画し、フェーズごとに実行し、結果があなたに届く前にチェッカー役のワーカーが検証します。

FlockはPerchのマルチエージェントモードです。通常のターンでは一つのモデルがタスクを進めますが、Flockではチームが動きます。Perchは目の前の具体的なタスクに合わせて、役割を絞ったワーカーの一団を計画し、それらをまとめて実行し、結果があなたに届く前にチェッカー役のワーカーにレビューさせます。

Flockは、一度の処理では足りない、難しく複数の要素からなる作業のために作られています。ブランチのリグレッションのレビュー、支払いフォルダの監査、大規模なリポジトリの全体像の把握とリスクの特定などです。小さな単一ステップのタスクには通常のターンのほうが速く、Flockはそうしたタスクを作業開始前に断ります。

実験的機能

Flockは実験的な機能です。Perch Terminal(デスクトップとCLI)で動作し、Webチャットでは使えません。チーム全体が作業し、結果があなたに届く前に検証役がレビューするため、一回の実行には通常のターンより時間がかかります。

実行を開始する

Perch Terminalで、タスクの冒頭に/flockを付け、続けてやりたいことを書きます:

/flock review this branch for regressions and verify the tests

Perchはチームを計画し、各ワーカーの実行状況をストリーミングで表示します。Flockが編成され、作業し、完了するまでを見ることができ、使ったツール呼び出しの回数もそのまま表示されます。デスクトップアプリではEsc、CLIではCtrl-Cで、いつでもキャンセルできます。

Flockの計画方法

Perchは、決まったテンプレートを使うのではなく、与えられたタスクに合わせてチームを設計します。

  • プランナーがタスクを読み、二〜十のワーカーからなるチームを返します。各ワーカーには、具体的な役割(「Regression Hunter」「Patch Worker」「Citation Checker」)、範囲の限られた目的、使ってよいツールの組み合わせ、実行の中での位置づけがあります。計画はメニューから選ぶのではなく、あなたのタスクのために作られます。
  • 決定論的なフォールバックは、プランナーを実行できない場合(たとえばサインアウトしているときやオフラインのとき)や、プランナーが無効なものを返した場合に処理を引き継ぎます。実績のある十三の役割からなる固定のセットから、チームを組み立てます。結果は、失敗したFlockではなく、タスクへの合わせ込みは劣るものの安全なFlockです。

どちらの場合も、計画はそのまま信用されるわけではありません。ワーカー数、書き込み権限、ツールへのアクセス、その他すべての数値は、何かが実行される前にPerchが検証し、許容範囲内に収めます。

チームの動き方

ワーカーはフェーズごとに実行され、同じフェーズ内では作業内容が許す限り並列に動きます:

偵察。まず資料を読み、全体像を把握するワーカーです。これにより、チームの残りのワーカーは、実際にそこにあるものに基づいて動けます。

作業。コードの修正、セクションの下書き、分析の実行といった中心的なタスクを行うワーカーです。それぞれが専用の絞り込まれたコンテキストと、範囲の狭い目的を持ちます。

検証。チームが生み出したものを、チェッカー役のワーカーがレビューします。

集約。結果を一つの回答にまとめます。

各ワーカーは専用のコンテキストを持つ限られた作業を受け持つため、あるステップの内容が別のステップに混入することがなく、大きなタスクは一つの負荷が大きすぎるリクエストではなく、分割して進みます。ワーカーは自分が依存する出力を待ちます。依存先が利用できないワーカーは、空のコンテキストを渡されるのではなく、スキップされます。

作業が自らを検証する仕組み

検証こそ、Flockが余分にかかる時間に見合う価値を生む部分です。チェッカー役のワーカーがチームの出力をレビューし、その指摘事項が黙って見過ごされることはありません:

  • チェッカーが裏付けのない主張、出典の欠落、矛盾、抜けを見つけた場合、ドラフトは範囲を限った修正を一回受け、そのあと同じチェッカーが一度だけ再チェックします。
  • 指摘事項、再チェックの判定、明確な次のステップが最終回答に添えられるので、何が問題視され、それが解決したかどうかがわかります。
  • 部分的な結果は、部分的なものとして報告されます。Flockは未完了の実行を完了したように見せかけません。

出典を引用するドラフト作成には、グラウンディングの取り決めが適用されます。主張には偵察役が実際に見つけたものを指すインラインの[n]マーカーが付き、裏付けのないものはそのまま残されるのではなく、検証が必要としてフラグが付けられます。

役割とコールサイン

ワーカーには二つの名前があります。役割(「Regression Hunter」)は、モデルがその立場で作業する役どころです。コールサイン(「Eagle」「Shawarma」「Bell」)は表示専用で、実行がストリーミングされている間にワーカーをひと目で見分けるためのものです。コールサインはワーカーへの指示には一切含まれないため、作業に影響を与えることはありません。CLIでは、一行が次のように表示されます:

Regression Hunter · Eagle · running

上限とガードレール

Flockは厳格な上限の中で動作します。これらはモデルに要求するのではなく、Perchが強制します:

ガードレール上限
Flockあたりのワーカー数2〜10
あなたのファイルに書き込めるワーカー数2(明示的に操作を引き継いだ場合は最大4)
実時間デフォルトで8分、厳格な上限は10分
実行全体のツール呼び出し総数160
ワーカーあたりの反復回数10

計画の内容にかかわらず、次の二つのルールが適用されます:

  • 再帰なし。Flockのワーカーは、自分でFlockを開始したり、さらに別のエージェントに委任したりできません。オーケストレーション用のツールは、すべてのワーカーから取り除かれています。
  • 正直な結果。利用できないモデルは、偽装されずにその旨が報告されます。読まれなかったファイルは、未読として報告されます。予算を使い切った実行は、集めた証拠をもとに作業を終え、そのことを明記します。

Flockは次のようなものではありません

  • Webチャットでは使えません。Perch Terminalにしかない、ローカルファイルへのアクセスが必要です。
  • 即座には完了しません。すぐに答えが欲しい場合は、通常のターンを使ってください。
  • ブラックボックスではありません。各ワーカーの役割、状態、コストは、実行中に確認できます。

Flockの土台となるシングルエージェントの仕組みについては、オペレーターとエージェントを参照してください。出典の検証方法については、出典の検証を参照してください。