はじめに
こんにちは。元公務員からIT業界へ転職したエンジニアです。
転職当初は「AI駆動開発」という言葉に憧れつつも、実際にClaude CodeのようなAIエージェントを使い始めると、期待通りの結果が出ないことに悩まされました。しかし、日々の試行錯誤と実務での活用を通じて、**「AIをただのチャットツールとしてではなく、開発パートナーとして扱う設計」**が不可欠だと気づきました。
本記事では、私が実務で学んだClaude Codeの活用知見を「7つのパターン」としてまとめました。プロンプトの設計からMCPサーバーの設定、セッション管理まで、初心者がつまずきやすいポイントを避けながら具体的な手順を解説します。
実務で使った「7つのパターン」の全体像
私が日々の開発サイクルの中で回しているのは、以下の7つのパターンです。
- ガイドラインのメンテナンス(AIへの指示書を常に更新する)
- MCPサーバーによる機能拡張(必要なツールだけを接続する)
- スキルシステムの導入(プロジェクト固有のルールをAIに覚えさせる)
- セッション管理(並行作業時の競合を防ぐ)
- Daily Triageループ(毎日のタスク整理を自動化する)
- 外部ベストプラクティスの取り込み(公式ドキュメント等を要約させる)
- 設定ファイルとフックの活用(AIの暴走をコードで防ぐ)
最初はすべてを導入する必要はありません。まずは「ガイドラインの整備」と「MCPサーバーの設定」あたりから始めるのがおすすめです。
初心者がつまずきやすいポイントと解決策
ここからは、特に重要な2つのポイントを深掘りして解説します。
1. MCPサーバーの設定と「無効化」の判断
Claude Codeを活用する上で、MCP(Model Context Protocol)サーバーの設定は非常に強力です。しかし、初心者は「公式で用意されたMCPサーバーをすべて有効化」してしまいがちです。
実務では、「本当に今のタスクに必要か?」を基準に取捨選択することが重要です。例えば、GitHub MCPサーバーは便利ですが、ローカルでのファイル操作がメインのタスクであれば無効化しておく方が、AIのコンテキストが荒れず、精度の高いコード生成が可能になります。
2. ガイドラインとスキルシステムによる制御
AIに「プロジェクト特有のルール」を学習させるために、私はスキルシステムという概念を導入しています。これは、プロンプトを都度入力するのではなく、特定の条件で発火するプラグインのようなものです。
しかし、AIに任せっぱなしにすると、不要なファイルが生成されたり、古いルールが残ってしまったりします(いわゆる「技術的負債の蓄積」)。そのため、私は定期的にプロジェクト内をスキャンし、古いガイドラインや不要な中間生成物を検知するスクリプトをPythonで書いて管理しています。
以下は、指定したディレクトリ内で「一定期間更新されていないドキュメント」をリストアップし、見直しを促すシンプルなPythonスクリプトの例です。
import os
from datetime import datetime, timedelta
def find_stale_guides(target_dir: str, days: int = 14) -> list[str]:
"""
指定した日数更新されていないガイドラインファイルを検索する。
AIが生成した古い指示書や不要な中間ファイルの triage(選別)に活用できます。
"""
stale_files = []
threshold = datetime.now() - timedelta(days=days)
for root, _, files in os.walk(target_dir):
for file in files:
if file.endswith(".md"):
file_path = os.path.join(root, file)
mod_time = datetime.fromtimestamp(os.path.getmtime(file_path))
# 閾値より古いファイルを抽出
if mod_time < threshold:
stale_files.append(file_path)
return stale_files
if __name__ == "__main__":
# プロジェクトのドキュメントディレクトリ等を指定
docs_path = "/path/to/project/docs"
stale_docs = find_stale_guides(docs_path)
if stale_docs:
print("【AIへの提案】以下のガイドラインの見直しまたは削除を検討してください:")
for doc in stale_docs:
print(f"- {doc}")
else:
print("すべてのガイドラインは最新です。")
このように「AIが生成したものを人間がチェックする」だけでなく、「システム的に古いものを検知する」仕組みを作ることで、AI駆動開発の品質を長期的に維持できるようになります。
開発サイクル(Dev Cycle)を回す
設定ができたら、あとは実際の開発サイクルに組み込むだけです。
セッション管理とDaily Triageループ
実務で最も効果を発揮しているのが「Daily Triageメタループ」という開発手法です。これは、朝の作業開始時にAIに「昨日の変更履歴」や「未解決の課題」を整理させ、今日やるべきタスクを提案させるアプローチです。
この際、並行して複数のセッション(作業画面)を立ち上げると、AI同士の判断が競合してしまうことがあります。例えば、同じ設定ファイルを別々のセッションで同時に更新しようとするとエラーの原因になります。
そのため、セッションを切り替える際は「new-session」の概念を取り入れ、前のセッションのコンテキスト(文脈)を一度リセットする癖をつけることが大切です。
おわりに
元公務員の私にとって、Claude Codeを活用したAI駆動開発は「魔法の杖」から「信頼できる相棒」へと変わりました。
重要なのは、AIを完璧な存在として扱うのではなく、「指示が曖昧なら手直しが必要」「放置すれば負債が溜まる」という前提で、人間が管理する仕組み(スキルシステムやPythonスクリプトによる監視)をセットにすることです。
最初はMCPサーバーの設定やスキルシステムの構築に時間がかかるかもしれませんが、一度仕組みを作ってしまえば、圧倒的な速度で開発ができるようになります。この記事が、これからAI駆動開発に挑戦する方の参考になれば嬉しいです!
本記事は個人Zennでも公開しています。