Flock
Perchの実験的なマルチエージェントモードです。難しいタスクのためにワーカーのチームを個別に計画し、フェーズごとに実行し、結果があなたに届く前にチェッカー役のワーカーが検証します。
FlockはPerchのマルチエージェントモードです。通常のターンでは一つのモデルがタスクを進めますが、Flockではチームが動きます。Perchは目の前の具体的なタスクに合わせて、役割を絞ったワーカーの一団を計画し、それらをまとめて実行し、結果があなたに届く前にチェッカー役のワーカーにレビューさせます。
Flockは、一度の処理では足りない、難しく複数の要素からなる作業のために作られています。ブランチのリグレッションのレビュー、支払いフォルダの監査、大規模なリポジトリの全体像の把握とリスクの特定などです。小さな単一ステップのタスクには通常のターンのほうが速く、Flockはそうしたタスクを作業開始前に断ります。
実験的機能
実行を開始する
Perch Terminalで、タスクの冒頭に/flockを付け、続けてやりたいことを書きます:
/flock review this branch for regressions and verify the testsPerchはチームを計画し、各ワーカーの実行状況をストリーミングで表示します。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の土台となるシングルエージェントの仕組みについては、オペレーターとエージェントを参照してください。出典の検証方法については、出典の検証を参照してください。