エージェントループ
エージェントループにより、YeePilotが複雑なマルチステップタスクを自律的に処理します。AIがファイルの読み取り、実行、分析、反復を行います。
エージェントループとは
YeePilotの標準モードは、シンプルなパターンに従います:あなたが質問し、AIが1つのコマンドを提案し、あなたが承認し、実行されます。エージェントループはさらに先に進みます。AIがファイルの読み取り、コマンドの実行、出力の分析、次のアクションの決定を行い、複雑なマルチステップタスクを処理できます -- すべてのコマンドについてあなたの承認を維持しながら。
これは、一度に1つずつ指示を与えることと、目標を説明して手順を自分で考えさせることの違いと考えてください。
エージェントループの有効化
エージェントモードを有効にする方法は2つあります:
スラッシュコマンドを使用する
チャットで /think と入力して、現在のセッションの拡張思考を有効にします:
> /think
Agent mode enabled (thinking: on)思考の強度を指定することもできます:
> /think high
Agent mode enabled (thinking: high)設定を使用する
デフォルトでエージェントモードを有効にするには、設定ファイル(~/.yeepilot/config.yaml)で設定します:
ai:
agent_mode: true動作の仕組み
エージェントモードで複雑なタスクを記述すると、YeePilotは以下のループに従います:
- 分析 -- AIがリクエストを分解し、最初のステップを決定
- 提案 -- 現在のステップ用の1つ以上のコマンドを生成
- 承認 -- 提案されたコマンドを確認し承認(または拒否)
- 実行 -- 承認されたコマンドが実行され、出力がキャプチャされる
- 評価 -- AIが出力を読み取り、目標が達成されたかを判断し、次のステップを決定
- 繰り返し -- タスクが完了するか反復制限に達するまで、ステップ2〜5を繰り返す
AIはタスクごとに最大 25回の反復 を実行できます。この制限により、暴走ループを防ぎ、コストを予測可能に保ちます。
例:遅いサーバーの診断
> The application at port 8080 is responding slowly. Diagnose the issue.エージェントモードでは、YeePilotは以下のような手順で作業を進めます:
- プロセスが実行中かどうかとリソース使用量を確認(
ps、top) - 最近のアプリケーションログのエラーを調査
- システムリソースの確認(CPU、メモリ、ディスク、I/O)
- ネットワーク接続とソケット状態を確認
- 最近のシステム変更やデプロイを確認
- 調査結果の要約と修正案の提示
各ステップで、提案されたコマンドを確認し、承認し、AIが次のステップに進む前に結果を確認できます。
拡張思考モード
/think コマンドは、コマンド生成前にAIが行う推論の深さを制御するモード引数を受け付けます:
| モード | 動作 |
|---|---|
/think off | エージェントモードを無効にし、標準の単一ステップモードに戻る |
/think on | デフォルトの思考深度でエージェントモードを有効にする |
/think low | 軽い推論 -- 単純なマルチステップタスクに最適 |
/think medium | バランスの取れた推論 -- ほとんどの診断やセットアップタスクに適している |
/think high | 深い推論 -- 複雑なトラブルシューティングや未知のシナリオに最適 |
高い思考モードはステップごとにより多くのトークンを使用しますが、より徹底的な分析を生成します。ルーチンタスクには low またはデフォルトの on で通常は十分です。不明瞭な問題の診断には、high がAIに可能性を検討するためのより多くの余地を与えます。
エージェントモードでAIができること
エージェントループ中、AIはいくつかのツールにアクセスできます:
コマンドの実行
主要なツールです。AIはシェルコマンドを提案して承認と実行を求めます。すべてのコマンドはリスクバリデーションを通過し、あなたの確認が必要です。
ファイルの読み取り
AIはコンテキスト収集のためにシステム上のファイルを読み取ることができます。例えば、変更を提案する前に設定ファイルを読み取ったり、エラーを理解するためにログファイルを調べたりします。
Reading /etc/nginx/nginx.conf ...
Based on the configuration, the worker_processes is set to 1.
Given this server has 8 CPU cores, I recommend increasing it.
Plan:
1. sed -i 's/worker_processes 1/worker_processes 8/' /etc/nginx/nginx.conf
Execute? [Y/n]ファイルの一覧表示
AIはプロジェクト構造の理解、関連ファイルの検索、または期待されるファイルの存在確認のためにディレクトリの内容を一覧表示できます。
検索
AIはファイル内容から特定のパターンを検索でき、設定値、エラーメッセージ、コード参照の特定に役立ちます。
制御の維持
エージェントモードはいかなる安全メカニズムもバイパスしません:
- すべてのコマンドはあなたの承認が必要です。 AIはEnterを押さない限り何も実行できません。
- リスク分類は引き続き適用されます。 DANGEROUSコマンドはフラグ付けされます。BLOCKEDコマンドは拒否されます。
- いつでも停止できます。 Ctrl+Cを押すか「stop」と入力して、エージェントループを終了し標準モードに戻ります。
- 25回の反復制限 により無限ループを防ぎます。AIが25ステップ以内にタスクを完了できなかった場合、停止して進捗を要約します。
エージェントモードを使うべき場面
エージェントモードは以下の場合に最も価値があります:
- 診断ワークフロー -- 次のステップが前のステップの出力に依存する場合
- マルチサービスセットアップ -- 複数のコンポーネントを順番に設定する必要がある場合
- トラブルシューティング -- 根本原因が不明で調査が必要な場合
- システム監査 -- サーバー設定の複数の側面をチェックする場合
単純な単一コマンドタスク(「show me disk usage」)には、標準モードの方が速く効率的です。
エージェントモードのコツ
- 目標を具体的にする。「Set up a reverse proxy for the app on port 3000 with SSL via Let's Encrypt」のように具体的な目標を示すと、AIが目指すべき明確なターゲットを持てます。
- ほとんどのタスクでは
/think mediumから始める。 AIが重要な考慮事項を見逃している場合はhighにアップグレードします。 - トークン使用量を注視する。 エージェントモードは単一ステップモードよりも多くのトークンを消費します。Ctrl+Sで使用量を確認しましょう。
- AIの分析が完了するまで待つ。 新しい指示でループ途中に割り込むと、AIは調査の流れを失います。