制限事項と制約
Verdent の制限事項と制約を理解する
このページで学べること
ファイル形式の制限、ツールの制約、プラットフォーム固有の考慮事項など、Verdent for VS Code の既知の制限事項。
既知の制限事項
バイナリファイルは未対応
Verdent のファイルツールはテキストベースの形式でのみ動作します。以下は編集できません。
| 形式の種類 | 例 |
|---|---|
| 画像 | PNG、JPG、GIF、SVG(バイナリとして) |
| 動画 | MP4、AVI、MOV |
| コンパイル済みコード | EXE、DLL、SO |
| アーカイブ | ZIP、TAR、GZ |
| Office ドキュメント | DOCX、XLSX、PPTX |
| PDF ファイル |
回避策: バイナリファイルはコード内で参照したり概念的に扱ったりできますが、変更には外部ツールが必要です。
file_read の行数制限
制限事項:
- 大きなファイル(10,000 行を超えるもの)はセクションごとに読み込むべきです
- 大きなファイル全体を読み込むとコンテキストを使い果たす可能性があります
解決策: 行範囲を使用します: file_read("file.js", start_line=100, max_lines=50)
bash コマンドのタイムアウト
制限事項:
- 最大タイムアウト: 120 秒(2 分)
- 長時間実行される処理は自動的に終了されます
解決策: 処理を 2 分以内に完了する小さなコマンドに分割します
検索のパフォーマンス
制限事項:
- 広範な glob パターン(
**/*)は数千件の結果を返すことがあります - 正規表現検索はリテラル文字列より遅くなります
解決策: 具体的なパターンを使用し、不要なディレクトリを除外します
コンテキストの枯渇
問題: 長いセッションや複雑な操作の間に、AI のコンテキストウィンドウがいっぱいになり、以前の会話を参照できなくなることがあります。
緩和策:
- 探索的な調査にはサブエージェントを使用します(結果のみがメインコンテキストを消費します)
- 行範囲を使ってファイルを戦略的に読み込みます
- 全体を読み込む前に
grep_fileを使用します - バックグラウンドタスクを Explorer サブエージェントに委任します
500 行を超えるファイルでは、コンテキスト領域を節約するため必ず行範囲を使用してください。
Verdent にできないこと
直接的なシステム管理はできない
できないこと:
- VS Code の設定をプログラムで変更する
- VS Code の拡張機能を自動でインストールする
- システムレベルの構成を変更する
- VS Code やシステムサービスを再起動する
範囲: Verdent は VS Code ワークスペース内で動作し、システム管理レベルでは動作しません。
自律的な実行はできない
Manual Accept Mode による制御:
- ユーザーは Manual Accept Mode でツールの実行を承認する必要があります
- 承認なしの自動バックグラウンド処理はありません
- VS Code が閉じている間はコマンドを実行できません
目的: すべての操作に対する安全性とユーザーの制御。
Verdent はユーザーの承認なしにバックグラウンドでコマンドを実行することはできません。すべての操作には Manual Accept Mode での明示的な同意が必要です。
リアルタイム監視はできない
できないこと:
- 実行中のプロセスを継続的に監視する
- ファイルシステムの変更をリアルタイムで追跡する
- システムイベントを通知する
- ログファイルを継続的にストリーミングする
代替策: 外部監視ツールには MCP 連携を使用します。
MCP なしでのネットワーク操作はできない
組み込みの制限:
- 任意の HTTP リクエストを行うことはできません(特定のページには
web_fetchを使用) - データベースへの直接接続はできません(MCP が必要)
- クラウドサービスに直接アクセスすることはできません(MCP が必要)
- リアルタイムの API 連携はできません(MCP が必要)
解決策: 外部システムへのアクセスには MCP サーバーを構成します。
プラットフォーム固有の制限
オペレーティングシステムの違い
bash ツールの動作:
| プラットフォーム | シェル | 備考 |
|---|---|---|
| macOS/Linux | bash/zsh | 完全な bash 機能 |
| Windows | PowerShell | 一部の bash コマンドは利用不可。PowerShell の同等コマンドを使用 |
| WSL | bash | Linux コマンドは WSL 環境で動作 |
パスの扱い:
- Windows はバックスラッシュ(
\)、Unix はスラッシュ(/)を使用します - クロスプラットフォームのプロジェクトでは、ファイルパスの調整が必要になる場合があります
VS Code のバージョン要件
最小要件:
- VS Code のバージョン互換性(現在の最小バージョンは拡張機能マーケットプレイスで確認)
- コンテキストキャッシュ用の十分なディスク領域
具体的なバージョン要件は VS Code マーケットプレイスのリスティングで管理されています。現在の互換性については拡張機能の詳細を確認してください。
ワークスペースの制約
単一ワークスペースへの集中:
- Verdent は一度に 1 つの VS Code ワークスペース内で動作します
- 複数開いている VS Code ウィンドウをまたいで同時にファイルを変更することはできません
- マルチルートワークスペースはサポートされますが、コンテキストは現在アクティブなワークスペースに限定されます
よくある制限への回避策
バイナリファイルの変更
制限事項: 画像、PDF、コンパイル済みバイナリは編集できません
回避策:
- bash コマンドで外部ツールを参照します:
bash("convert input.png -resize 50% output.png") - 外部ツールが実行できるスクリプトを生成します
- バイナリファイル操作の手動手順を文書化します
例:
# Image conversion
bash("convert input.png -resize 50% output.png")
# PDF to text
bash("pdftotext document.pdf output.txt")大きなファイルの扱い
制限事項: 10,000 行を超えるファイルはコンテキストウィンドウに負荷をかけます
回避策:
- 行範囲を使用します:
file_read("large.log", start_line=1000, max_lines=100) - 先に検索します:
grep_content("ERROR", glob="large.log")で関連セクションを見つけます - ファイルをより小さなモジュールに分割して管理しやすくします
まず grep_content を使って関連セクションを特定し、その特定の行範囲だけを読み込んでください。
コンテキストウィンドウの枯渇
制限事項: 長い会話はコンテキストウィンドウをいっぱいにします
回避策:
- コードベースの調査は Explorer サブエージェントに委任します
- 独立した検証タスクには Verifier サブエージェントを使用します
- 別個のタスクには新しい会話を開始します
todo_updateを使ってセッション間で進捗を追跡します
ベストプラクティス: バックグラウンドの調査をサブエージェントに委任し、メインコンテキストをアクティブな開発のために確保します。
プラットフォームによるコマンドの違い
制限事項: bash コマンドは Windows と Unix で異なります
回避策:
- クロスプラットフォームのツールを使用します: 生の bash の代わりに npm スクリプトを使う
- 条件付きコマンド:
bash("if [[ \"$OSTYPE\" == \"linux-gnu\"* ]]; then ...; fi") - プラットフォームの注意事項を記したプロジェクト固有の AGENTS.md
例:
# Cross-platform
bash("npm run build")
# Platform-specific conditional
bash("if [[ \"$OSTYPE\" == \"linux-gnu\"* ]]; then make; else nmake; fi")今後の改善
制限事項は継続的に対応されています。機能の拡張、上限の引き上げ、新しい連携については Verdent のリリースノートを確認してください。