ファイルコンテキスト
AIコンテキストにファイルを追加して、YeePilotが設定ファイル、ログ、スクリプトを読み取り、参照し、操作できるようにします。
ファイルコンテキストの重要性
YeePilotに設定ファイルの変更、スクリプトのデバッグ、ログの分析を依頼する際、AIは実際のファイル内容を見ることができるとき最も効果的に動作します。ファイルコンテキストを使うことで、ファイルを直接会話に読み込み、AIがその内容を参照し、構造を理解し、正確なコマンドを生成できるようになります。
ファイルコンテキストがない場合、AIはファイル形式や現在の値を推測する必要があります。ファイルコンテキストがあれば、AIは実際の内容を確認し、的確な変更を提案できます。
ファイルの追加
/file コマンドに続けてファイルパスを入力します:
> /file /etc/nginx/nginx.confYeePilotはファイルを読み取り、その内容をAIコンテキストに追加します。これにより、AIは応答でファイルの内容を参照し、より正確なコマンドを生成するために情報を使用できます。
複数のファイルを1つずつ追加できます:
> /file /etc/nginx/sites-available/myapp.conf
> /file /var/log/nginx/error.log
> /file /home/deploy/myapp/docker-compose.yml実践例
> /file /etc/nginx/nginx.conf
Added /etc/nginx/nginx.conf to context (2.1 KB)
> The site is returning 502 errors. Check the nginx config for issues
and fix any problems you find.設定ファイルが読み込まれた状態で、AIは推測ではなく、実際のサーバーブロック、アップストリーム定義、プロキシ設定を読み取ることができます。
読み込まれたファイルの一覧表示
現在AIコンテキストに含まれているファイルを確認します:
> /files読み込まれたすべてのファイルがサイズとともに表示されます:
Files in context:
1. /etc/nginx/nginx.conf (2.1 KB)
2. /etc/nginx/sites-available/myapp.conf (856 B)
3. /var/log/nginx/error.log (12.3 KB)
Total: 3 files, 15.3 KBファイルの削除
不要になったファイルをコンテキストから削除します:
> /unfile /var/log/nginx/error.logこれにより、他のファイルや会話のためのコンテキストスペースが解放されます。完了したファイルを削除することで、トークン使用量を低く保ち、AIが関連するコンテンツに集中できるようになります。
ファイルのアップロード
/upload コマンドはファイルを追加する別の方法を提供します:
> /uploadファイル選択フローが開きます。パスを直接入力するのではなく、インタラクティブにファイルを追加したい場合に使用します。
制限
ファイルコンテキストには、AIのコンテキストウィンドウを圧迫しないための合理的な制限があります:
| 制限 | デフォルト値 |
|---|---|
| 最大ファイル数 | 20 |
| ファイルあたりの最大サイズ | 100 KB |
| 合計最大サイズ | 512 KB |
ファイルあたりの制限を超えるファイルは、サイズ制約を説明するメッセージとともに拒否されます。合計読み込みサイズが512 KBを超える場合は、新しいファイルを追加する前にいくつかのファイルを削除する必要があります。
制限の調整
設定ファイル(~/.yeepilot/config.yaml)でこれらの制限をカスタマイズできます:
files:
max_entries: 20
max_file_size: 102400 # バイト(100 KB)
max_total: 524288 # バイト(512 KB)これらの制限を増やすと、メッセージごとにAIのコンテキストウィンドウの使用量が増え、トークンコストが上昇し、コンテキストコンパクションがより早くトリガーされる可能性があります。ほとんどのサーバー管理タスクにはデフォルト値が適切です。
ライブストリームパネル
YeePilotのエージェントループがマルチステップタスク中にファイル編集を行う際、ライブストリームパネルがそれらの変更をリアルタイムで表示します。これにより、AIが作業中に何を読み取り、何を変更しているかを正確に把握できます。
ライブストリームの切り替え
> /livestreamライブストリームパネルのオン/オフを切り替えます。有効にすると、メインの会話の横にパネルが表示され、以下が表示されます:
- AIが読み取っているファイルの内容
- 差分でハイライトされた提案された編集
- 複数ファイル操作のリアルタイムの進捗
ライブストリームは、AIが一連のファイル変更を処理している場合(複数の設定ファイルの更新やプロジェクト全体への変更の適用など)、エージェントモードで特に有用です。
一般的なワークフロー
設定レビュー
設定ファイルを読み込み、AIにレビューを依頼します:
> /file /etc/ssh/sshd_config
> Review this SSH configuration for security issues and suggest hardening changesAIは実際の設定値を読み取り、具体的な行の変更を含む推奨事項を提供します。
ログ分析
ログファイルを読み込んでエラーの理解に役立てます:
> /file /var/log/syslog
> What errors occurred in the last hour? Summarize the issues.サイズ制限を超える大きなログファイルの場合は、代わりにAIを使って特定のセクションを読み取ります:
> Show me the last 200 lines of /var/log/syslog that contain "error" or "fail"マルチファイルコンテキスト
複数の関連ファイルを使用するタスクでは、すべてを読み込みます:
> /file /etc/nginx/nginx.conf
> /file /etc/nginx/sites-available/api.conf
> /file /etc/letsencrypt/renewal/api.example.com.conf
> /file docker-compose.yml
> Set up nginx as a reverse proxy for the Docker service on port 3000
with SSL using the existing Let's Encrypt certificate関連するすべてのファイルが読み込まれた状態で、AIはDockerサービスの設定、既存のSSL証明書のパス、現在のnginx設定を相互参照し、完全で正確な設定を生成できます。
スクリプト開発
既存のスクリプトを読み込んで、拡張やデバッグの支援を受けます:
> /file /home/deploy/backup.sh
> This backup script is failing silently. Add proper error handling
and send an email notification on failure.AIは現在のスクリプト構造を確認し、既存のコーディングスタイルとロジックフローに合ったエラーハンドリングを追加できます。
コツ
- ファイルについて質問する前に読み込む。 AIは推測ではなく実際の内容を見ることができるとき、はるかに良い回答を提供します。
- 完了したファイルは削除する。 コンテキストをクリーンに保ち、コストを抑えます。
- 新しいタスクを始める前に
/filesで読み込み状況を確認する。 以前のタスクの残りのファイルがAIを混乱させる可能性があります。 - 非常に大きなファイル の場合は、ファイル全体をコンテキストに読み込むのではなく、
head、tail、grepなどのコマンドでAIに特定のセクションを読み取らせてください。