委任
委任は、現在のターンの難しいタスクを1つ以上の子セッションに渡します。Anyyは結果を待ち、構造化された要約を使って親の会話で回答します。
利用する場面
作業を分割でき、結果が今必要な場合に使います。
Delegate three independent checks in parallel: review the API contract, the CLI behavior, and the tests. Then summarize any disagreement.
現在のターンが終わった後も作業を続ける場合は、代わりにバックグラウンドジョブを使います。
単一タスクと並列タスク
Anyyは焦点を絞った1つのタスク、または独立タスクのバッチを委任できます。バッチは子項目を同時実行し、各項目の状態、要約、所要時間、モデル、トークン使用量、ツール履歴、子IDを返します。1つの親で同時に実行できる子は最大3件、バッチも最大3項目です。
並列化に向くタスクは境界が明確です。
- 別々の文書の比較。
- 独立した情報源の確認。
- 異なるコンポーネントのレビュー。
- 後で統合するための複数案の生成。
短い調べ物を多くの子に分割しないでください。委任には追加のモデル呼び出し、コンテキスト転送、統合の費用がかかります。
子に有用なコンテキストを渡す
共通の目標を述べ、各子が必要とする最小限の証拠を付けます。区別が重要な場合は、子に別のRole、Workspace、モデル、ラベル、タイムアウトを選ぶようAnyyに依頼できます。
子セッションは親より広いツールセットを受け取れません。要求した範囲内で、選択したRoleとWorkspaceを継承します。子の既定制限は、永続Memoryへの書き込み、Skill管理、自動化の変更、メッセージング、シークレットのツールも除外します。独立した子Sessionは、OSのファイルシステムサンドボックスではありません。
直接のdelegate_task呼び出しでは、task(または別名goal)と、任意のcontext、label、child_role_id、child_workspace_id、requested_model_id、非負のtimeout_secondsを指定します。tasks配列の各項目も同じフィールドを使い、省略したRole、Workspace、モデル、タイムアウトは最上位の値を継承します。taskとgoalの両方を指定するとtaskが優先され、contextはそこに追加されます。
子が終わった後に親が行うべき判断や比較を定義します。詳細が重要な場合は、子の要約とツール履歴を確認できます。
監視と停止
親はサブエージェント制御で実行の一覧、履歴の確認、実行中の子のキャンセルを行えます。Dashboardでは、委任した子セッションが他のバックグラウンド/セッション活動と一緒に表示され、メッセージやツールを確認できます。
通常の子セッションは、再委任や再帰的なバックグラウンド作業の開始はできません。これにより委任ツリーが制限されます。
失敗とタイムアウト
並列バッチには成功項目と失敗項目が混在する場合があります。Anyyは完了した証拠を統合し、欠けている確認を明示し、一部だけのバッチを完了扱いしないようにする必要があります。
キャンセルとタイムアウトは子ランタイムを停止しますが、ツールプロバイダーがすでに受理した外部操作は取り消せません。
費用管理
- 独立した意味のある単位だけを委任します。
- 不確実または高価な作業にはタイムアウトを設けます。
- 能力が十分な場合に限り、安価な子モデルを使います。
- 簡潔な要約を求めます。
- 想定より高額ならトークン合計とツール履歴を確認します。
トラブルシューティング
| 症状 | 確認する項目 |
|---|---|
| 子にツールがない | 親にそのツール/ツールセットがないか、ポリシーで除外された |
| 結果が個別に届くが回答が不完全 | 完了した全項目を統合し、失敗を明示するよう依頼 |
| 子がタイムアウトする | タスクを絞る、意図的にタイムアウトを延ばす、またはバックグラウンドジョブを使う |
| 子からの委任が拒否される | 再帰的委任は意図的に無効化されている |