しんたろーのITアカデミー
AI活用Tips

GitHub Copilot CLIのモード切替とディレクトリ設計による効率化

GitHub Copilot CLIのモード切替とディレクトリ設計による効率化
しんたろーしんたろー
8分で読めます
この記事の内容(目次)

SNS運用を自動化しませんか?

ThreadPostなら、投稿作成・画像生成・スケジュール管理までAIがサポート。

無料で始める

AIエージェントをターミナルで動かす

AIコーディングの主戦場はチャット画面からターミナルへ移行した。

GitHub Copilot CLIを筆頭に、AIが直接コマンドを実行しファイルを編集するエージェント型が普及している。

多くの開発者が指示の複雑化によるAIの迷走に直面している。

解決策はプロンプトの追加ではない。

ディレクトリ構造による文脈の強制分離だ。

この設計によりAIの精度は変化し、開発体験は向上する。

AIエージェント導入開発者の規模
AIエージェント導入開発者の規模

肥大化する指示ファイルと文脈汚染

AIエージェントツールには共通の課題がある。

プロジェクト固有のルールを記述するAGENTS.mdや設定ファイルが巨大化することだ。

10,000人以上の開発者がAIを導入しているが、その多くが指示の競合に悩まされている。

「既存コードを尊重せよ」という指示と「積極的にリファクタリングせよ」という指示を一つのファイルに詰め込むと、AIは優先順位を判断できない。

これが文脈汚染だ。

最新の動向では、指示の量ではなく読み込ませる文脈の粒度で解決する手法が注目されている。

AIエージェントの動作モードを使い分けるだけでなく、作業ディレクトリそのものをモードとして定義する設計だ。

GitHub Copilot CLIの運用においても、エージェントがどの立場で動いているかを物理的なディレクトリ階層で制御する手法が用いられている。

AIエージェントのカスタマイズは以下の3要素に集約される。

  1. 行動指針(AGENTS.md):プロジェクト全体の憲法。
  2. 専門スキル(Skills):特定のタスクを実行するための手順書。
  3. 実行フック(Hooks):AIの動作を制御する防衛線。

プロジェクトが成長し、テストコードやインフラ設定が混在すると、AIはコンテキストの範囲を見失う。

そこでディレクトリによる作業モードの分離が有効になる。

しんたろーしんたろー:
AGENTS.mdにすべてを詰め込むと、AIがどっちつかずの回答をすることがある。
コードを書きたい時と設計レビューをしてほしい時で、AIに求める性格は異なる。
AIの性能以上に、情報の渡し方が開発効率を左右すると感じている。

開発者目線で読み解く入口の分離

GitHub Copilot CLIを使いこなすには、リポジトリ構造をAIフレンドリーに再設計する。

実ソースコードは一つに保ちつつ、AIの作業入口をディレクトリで分ける手法だ。

Pythonプロジェクトの場合、ルートにsrcを置く。

そこに加えて、dev(実装用)とmanage(管理・レビュー用)というディレクトリをシンボリックリンクで作成する。

それぞれのディレクトリに、そのモード専用のAGENTS.mdを配置する。

devディレクトリのAGENTS.mdには「変更は最小限に」と記述する。

manageディレクトリのAGENTS.mdには「責務の分離を指摘しろ」と記述する。

開発者がdevフォルダでAIを起動すれば、AIは堅実なコーダーとして振る舞う。

manageフォルダで起動すれば、AIはテックリードとして振る舞う。

ソースコードの実体は同じでも、読み込む設定ファイルが異なるため指示は競合しない。

この設計の肝は、AIエージェントのコンテキスト優先順位を利用する点にある。

多くのCLIツールは、カレントディレクトリに近い設定ファイルを優先的に読み込む。

この特性を逆手に取り、ディレクトリを切り替える行為をモード切替スイッチにする。

また、AIの能力を拡張するSkillsの管理も重要だ。

汎用的なスキルはルートに配置する。

特定のタスク専用のスキルは、その作業ディレクトリに閉じ込める。

不要な情報を削ぎ落とし、高密度な文脈だけをAIに与えることが開発を加速させる。

ディレクトリによる文脈分離の前後比較
ディレクトリによる文脈分離の前後比較
しんたろーしんたろー:
プロジェクト全体を読み込もうとするとトークンを消費しすぎる。
入口を分けるやり方はトークンの節約にもなり、AIの迷いもなくなる。
Windowsならmklink、Mac/Linuxならln -sでディレクトリを繋ぐだけだが、効果は大きい。

ここまで読んだあなたに

今なら無料で全機能をお試しいただけます。設定後はAIが投稿案を毎日生成。確認して選ぶだけ。

無料で始める

実務への影響:ソフトな制御とハードな制約

AIエージェント導入において、意図しない破壊は懸念事項だ。

「本番環境のデータを消さないで」というプロンプトはソフトな制御に過ぎない。

実務ではハードな制約との併用が不可欠だ。

最新のCLIツールではHooksという仕組みが提供されている。

AIが特定のコマンドを実行しようとした瞬間に、人間が介入したりプログラムでブロックしたりする仕組みだ。

AIが使うAPIキーに紐づく権限を読み取り専用に絞るインフラ側の制御も重要だ。

AGENTS.mdには理想を書き、Hooksや権限管理には境界を定義する。

この二段構えがAIエージェントをチームメンバーとして迎える条件だ。

AIとの共同開発ではログの透明性も無視できない。

AIがどのような思考プロセスでコマンドを選んだのかをターミナル上で可視化する。

GitHub Copilot CLIのようなツールは、実行権限を持ったチームメイトとして扱う。

以下の3点を今すぐ確認する。

  • プロジェクトルートに巨大なAGENTS.mdが鎮座していないか。
  • AIの実行権限が必要以上に強くなっていないか。
  • 作業モードごとに文脈を切り替える手段があるか。
AI制御の二段構え:ソフトとハードの分離
AI制御の二段構え:ソフトとハードの分離
しんたろーしんたろー:
開発の自動化が進むほど、人間は権限管理と環境設計のプロになる必要がある。
AIがコードを消したと嘆く前に、消せる権限を与えていた自分を疑う。
これがAI時代の開発者の責任だ。

FAQ

Q1: AGENTS.mdを複数配置した場合、AIはどれを優先しますか?

AIエージェントは作業ディレクトリに近い場所にある設定ファイルを優先的に参照します。プロジェクトルートに共通ルールを置き、サブディレクトリに特定のタスクに特化したAGENTS.mdを配置することで、文脈の優先順位を制御可能です。まずは階層構造で試行し、意図したルールが適用されているかを確認してください。

Q2: AIに「やってはいけないこと」を指示しても無視されます。どうすればいいですか?

AGENTS.mdによる指示はソフトなガイドラインであり、AIが必ず守る保証はありません。破壊的な操作を確実に防ぐには、Hooksによる実行ブロックや、インフラ側の権限管理(RBACやIAMポリシー)といったハードな制御を併用してください。AIにはどう動くべきかを教え、システム側で何ができないかを制限するのが鉄則です。

Q3: SkillsとAGENTS.mdの使い分けの基準は何ですか?

AGENTS.mdはそのプロジェクトで常に意識すべき憲法や行動指針です。対してSkillsは、特定の目的を達成するための手順書や専門道具です。常に読み込ませる必要はないが、特定のタスクが発生した時にだけ参照させたい知識は、Skillsとして切り出すのが最適です。

AIをプロジェクトの共同開発者へ

AIエージェントの真価は、指示を聞くことではなく意図を汲んで動くことにある。

情報の整理整頓が不可欠だ。

ディレクトリ構造を見直し、文脈を分離し、ハードな制約で安全を確保する。

この手間を惜しまない開発者だけが、AIによる開発の恩恵を享受できる。

まずは、自分のプロジェクトにdevディレクトリを作るところから始める。

AIの反応が昨日までとは見違えるほど鋭くなる。

👉 ThreadPostでSNS運用を自動化する

ThreadPost — SNS投稿をAIが自動化

この記事が参考になったら、ThreadPostを試してみませんか?投稿作成・画像生成・スケジュール管理まで、AIがサポートします。

無料で始める

この記事をシェア

XはてブLINE
しんたろー

ThreadPost開発者・個人開発エンジニア

AI × SaaS個人開発者。Cursor / Claude Code を使った効率的開発、SNS自動化について実体験から発信。

人気の記事