広告枠を募集中 ご相談ください

CodeGPTのAgent Modeで複数ステップのファイル操作とターミナルコマンドを安全に実行するための設定ガイド

365Finds Editorial
Wiki 記事 11,430 本収録

あなたの AI で 365 Wiki を使う

下のプロンプトをコピーして、普段使っている AI に貼り付け、そのまま質問してください。

完全版 Skill をダウンロード

まずはプロンプトでお試しください。よく使う場合は完全版 365Wiki Skill をインストールすると、毎回貼り付ける必要がありません。普段使う AI がなければ、Gemini や Microsoft Copilot のウェブ版でも使えます。

日々の開発業務においてIDE上のAIコーディングアシスタントを活用する際、多くのソフトウェアエンジニアやフルスタック開発者が共通の課題に直面します。複数のソースコードファイルにまたがる変更を手作業でコピー&ペーストするのは退屈でミスが発生しやすく、一方でAIエージェントに完全な書き込み権限とシェル実行権限を無条件に委譲すると、重要ファイルの誤削除やターミナルコマンドの暴走といった致命的なセキュリティ事故を招くリスクがあります。

Visual Studio CodeおよびJetBrains IDE(IntelliJ IDEA、PyCharm、WebStormなど)に対応するCodeGPTは、**Agent Mode(エージェントモード)と内部ツール群(Internal Tools)**の組み合わせにより、この自動化の効率と安全性の両立を実現しています。開発者は「全て手作業」と「制御不能な完全自動」の二者択一を迫られることなく、タスクプランナーでリファクタリング要件を段階的に分解し、ファイル読み書きやターミナルコマンド実行に対するきめ細かな権限設定(手動承認または自動実行)を行うことができます。

本ガイドでは、CodeGPTのAgent Modeの仕組み、安全な権限設定手順、および複数ファイル操作を安全に完遂するためのベストプラクティスを解説します。


1. プロファイルモードの理解と適切な選択

CodeGPTは、チャットパネル下部にあるモードセレクターから切り替え可能な3つの定義済みプロファイルモード(Profile Modes)を提供しています。現在の作業内容に応じて適切なモードを選ぶことが、不要なファイル変更を防ぐ最初の防壁となります。

プロファイルモード利用可能なツール機能概要最適なユースケース
Chat Mode(チャットモード 💬)ツール無効純粋な対話型Q&A。プロンプトと貼り付けたコードスニペットのみを参照。文法やアルゴリズムの質問、プロジェクトファイルに触れない単一コードブロックの検証。
Search Mode(検索モード 🔍)読み取り専用ツール(Code Search、Read File、View Folder Structure)コードベース全体のセマンティック検索、構造把握、依存関係の解析。書き込みやコマンド実行は不可。初見のリポジトリ構造の把握、影響範囲の調査、リファクタリング前の設計確認。
Agent Mode(エージェントモード 🤖)全ツール有効(読み取り、作成、変更、削除、ターミナル実行、ToDo更新)自律的なマルチターン問題解決。ファイルの作成・編集・削除およびターミナルでのコマンド実行が可能。複数ファイルにまたがるリファクタリング、新機能の実装、テストの自動生成と検証。

複雑な実装作業を開始する際は、チャット画面下部のドロップダウンメニューからChat ModeまたはSearch Modeから Agent Mode に切り替えます。


2. 前提条件:Function Calling対応モデルの選択

Agent Modeで内部ツールを機能させるには、使用するAIモデルが**ネイティブなFunction Calling(ツール呼び出し)**をサポートしている必要があります。


3. 内部ツールの権限設定:手動承認と自動承認の使い分け

Agent Modeにおいて、CodeGPTは以下の8つの組み込み内部ツールを使用します。

  1. Code Search: セマンティック解析により、類似するコードパターンや関数定義を検索。
  2. Read File: 指定されたパスのファイル内容を取得。
  3. View Folder Structure: プロジェクトのディレクトリ階層とファイル構成を表示。
  4. Create File/Folder: 新しいファイルやフォルダをプロジェクト内に作成。
  5. Edit File: 既存のファイルに対して高精度なパッチ修正を適用。
  6. Delete File: プロジェクトからファイルを削除(高リスク操作)。
  7. Run Terminal Command: ビルド、テスト実行、パッケージ導入などのターミナルコマンドを実行。
  8. Update ToDo List: 複数ステップのタスクリスト、課題、進捗状況を動的に管理。

ツール権限の設定手順

  1. CodeGPTパネル内の Settings(歯車アイコン ⚙️)を開きます。
  2. Tools セクションに移動します。
  3. 利用したいツールごとに実行モードを設定します。
    • Enabled(手動承認モード): エージェントが該当ツールを呼び出す前に一時停止し、Diff差分やターミナルコマンド文字列をプレビュー表示します。開発者が明示的に Approve(承認)または Reject(拒否)をクリックするまで実行されません。
    • Auto-Approve(自動承認モード): エージェントがタスクの文脈に応じて自動的にツールを実行します。都度承認を求めるポップアップが出ないため作業速度が向上します。

安全のための安全装置:20回の自動実行リミット

エージェントがエラー修正の無限ループに陥り、意図しないファイル書き換えやターミナルコマンドの乱発が発生するのを防ぐため、CodeGPTにはハードセーフティリミットが組み込まれています。潜在的に危険な操作(Create File/Folder、Edit File、Delete File、Run Terminal Command)に対する連続自動承認(Auto-Approve)の上限は最大20回に制限されており、20回に達した時点で自動処理が停止し、開発者の手動確認が要求されます。


4. 開発チームに推奨される階層型セキュリティポリシー

日常の開発で全ツールをAuto-Approveに設定するのは極めて危険です。リスクレベルに応じた階層的な権限設定を推奨します。

flowchart TD
    A[CodeGPT Agent Modeプロンプト入力] --> B{呼び出し対象ツールの判定}
    
    B -->|読み取り・計画: Code Search, Read File, ToDo| C[Auto-Approve: 即時自動実行]
    B -->|ファイル変更: Create File, Edit File| D{リファクタリング範囲の確認}
    D -->|独立ブランチ / ボイラープレート| E[Auto-Approve または Diff目視確認]
    
    B -->|高リスク: Delete File| F[Enabled: 厳格な手動承認を強制]
    B -->|高リスク: Run Terminal Command| G[Enabled: 厳格な手動承認を強制]
    
    F --> H[開発者による影響範囲レビュー]
    G --> I[開発者によるシェル引数レビュー]
    H --> J[Approveクリックで実行適用]
    I --> J

レベル1:読み取り&タスク計画ツール(Auto-Approve推奨)

レベル2:ファイル作成および編集ツール(状況に応じた設定)

レベル3:ファイル削除およびターミナル実行(手動承認必須)


5. IDE環境ごとの留意点:VS CodeとJetBrainsの比較

CodeGPTはマルチプラットフォームで同様の機能を提供しますが、環境による挙動の違いに注意が必要です。

Visual Studio Code

JetBrains IDE(IntelliJ IDEA、PyCharm、WebStormなど)


6. 実践:複数ファイルリファクタリングを安全に進める5ステップ

APIの認証方式を刷新し、複数のコントローラーとテストコードを更新するような実務シナリオでは、以下の5ステップに沿って進めます。

ステップ1: Git作業ツリーのクリーン化

作業開始前に git status を実行し、未コミットの変更がないことを確認します。専用のブランチ(例: git checkout -b refactor/jwt-auth)を作成しておけば、エージェントが予期せぬ変更を行っても git reset --hard で即座にロールバックできます。

ステップ2: Search Modeで事前調査を実施

書き込み権限を与える前に、まずは Search Mode に切り替えます。

「UserServiceと各Controller間の依存関係を調査し、認証ミドルウェアを非同期方式に変更した場合に影響を受けるファイル一覧を提示してください。」

読み取り専用ツールで全体構造と影響範囲を洗い出すことで、無駄なトークン消費と不用意なファイル書き換えを防ぎます。

ステップ3: Agent Modeに切り替え、計画作成を指示

プロファイルを Agent Mode に切り替え、プロンプト内で Update ToDo List の活用を明示します。

「Agent Modeに切り替えてください。すべてのControllerに新しいJWT認証ミドルウェアを適用します。コード変更に着手する前に、まず詳細なToDoリストを作成してください。手順は、1) ユーティリティ関数の作成、2) ミドルウェアの実装、3) 各Controllerの更新、4) テストの修正とします。承認なしに既存ファイルを削除しないでください。」

これにより、チャット画面上に視覚的なチェックリストが展開され、全体の進行状況を把握できます。

ステップ4: Diff差分とコマンド内容を精査

エージェントがタスクを順次実行する際:

ステップ5: 全体検証とコミット

ToDoリストの全項目が完了したら、ターミナルで手動によりフルビルドとリグレッションテストを実行します。git diff で差分全体を最終確認し、コミットを完了します。


まとめ

CodeGPTのAgent Modeは、単なるコード補全を超えて複数ファイルにまたがる実装と環境操作を自動化する強力なパートナーです。ファイル削除とターミナル実行の手動承認を堅持し、Search ModeからAgent Modeへの段階的なアプローチと20回自動実行リミットを活用することで、開発速度を最大化しながらコードベースの安全を確実に守ることができます。

参考資料