はじめに
「CLIコマンドを忘れてしまう」という日常的な悩みから始まり、Claude Code(Anthropic社のAI駆動コーディングツール)を使って、一行もコードを手書きすることなく、本格的なAI搭載CLIツールを完成させた体験をシェアします。
この記事を読むと、現代のAI駆動開発がどれほど革新的で実用的なのかが分かります。
🚀 完成したもの
cmdai - AI駆動のCLIアシスタント
主な機能
- 自然言語でCLIコマンドを生成
- Git、Azure CLI、Docker、KubernetesなどあらゆるCLIツールに対応
- ローカルAI(Ollama + CodeLlama)で完全プライベート処理
- パターンマッチングによるフォールバック機能
- 使用履歴から学習する機能
使用例
# インストール
dotnet tool install --global CmdAi.Cli
# 使用例
cmdai ask git "undo last commit but keep changes" → git reset --soft HEAD~1
cmdai ask docker "show running containers" → docker ps
cmdai ask az "list subscriptions" → az account list --output table
cmdai kubectl "get all pods in default namespace" → kubectl get pods -n default
🛠️ 開発プロセス:Crawl/Walk/Run
Crawl Phase(這う段階):基礎機能の実装
目標: 基本的なパターンマッチングでGitコマンドを処理
Claude Codeに以下のプロンプトを入力:
Create a .NET CLI project called 'cmdai' with this architecture:
GOAL: AI-powered CLI assistant that translates natural language to CLI commands
ARCHITECTURE:
- Command Pipeline: User Input → Intent Parser → Command Resolver → Executor → Output
- Interfaces: ICommandResolver, ICommandExecutor, IContextProvider for future AI integration
- Phase 1: Pattern-based resolver (no AI yet), extensible for future AI integration
CLI SYNTAX:
- cmdai ask git "how do I check status"
- cmdai ask az "list resources in resource group"
- cmdai git "undo last commit"
Please create the project structure, core interfaces, and a working MVP
結果: 数分で完全なプロジェクト構造と15+のGitコマンドパターンを生成
Walk Phase(歩く段階):機能拡張
目標: Azure CLIサポートの追加
Add Azure CLI command patterns to cmdai. I frequently use Azure CLI but forget the exact syntax for:
- Listing all subscriptions
- Switching between subscriptions
- Showing current subscription
- Listing resources in a resource group
Create an AzureCommandResolver similar to GitCommandResolver
結果: 25+のAzure CLIパターンと完全な統合
Run Phase(走る段階):AI統合
目標: パターンマッチングをAIに置き換え
Transform cmdai from pattern matching to AI-powered command generation. Integrate a lightweight local AI model (like Ollama with CodeLlama) that can:
1. Replace the current resolvers with an AICommandResolver
2. Use a local AI model to translate natural language to CLI commands
3. Support ANY command request, not just pre-programmed patterns
4. Include fallback to existing pattern matching for reliability
5. Add learning component that improves from user feedback
結果: 完全なAI統合、無制限のCLIツールサポート、学習機能
🎯 驚きのポイント
1. コード品質の高さ
Claude Codeが生成したコードは:
- ✅ 適切なアーキテクチャパターン(Strategy、Dependency Injection)
- ✅ 完全なエラーハンドリング
- ✅ 包括的なテストプロジェクト
- ✅ プロフェッショナルな文書化
- ✅ CI/CDパイプライン設定
2. 開発速度
従来なら数週間かかる開発を半日で完成:
- プロジェクト構造:1時間
- 基本機能実装:1.5時間
- AI統合:1.5時間
- 文書化・公開準備:1時間
ここには Claude Codeを初めて使うこと、Windows上でUbuntu CLIを設定する時間、Ollamaの使い方などに要した時間は含まれていません。それでも土曜日中に終わりました。環境慣れていたら「数時間」になるでしょう。
3. 実用性
作成したツールは即座に日常業務で使用可能:
# 実際に使用している例
cmdai ask git "show commit history with graph"
cmdai ask docker "remove all stopped containers"
cmdai ask kubectl "scale deployment to 3 replicas"
🔧 技術スタック
Claude Codeが自動選択・構成した技術:
- 言語: C# / .NET 8
- CLI Framework: System.CommandLine
- AI統合: Ollama + CodeLlama 7B
- アーキテクチャ: Strategy Pattern + DI
- 配布: .NET Global Tool
- CI/CD: GitHub Actions
- 文書: Mermaid図表によるビジュアル化
🏗️ アーキテクチャの優秀さ
Claude Codeが設計したアーキテクチャ:
設計の優れている点
- 拡張性: 新しいCLIツール対応が容易
- 信頼性: AIが失敗してもパターンマッチングでフォールバック
- 安全性: 危険なコマンドの検証機能
- 学習性: ユーザーフィードバックから改善
- プライバシー: 完全ローカル処理
📊 開発体験の比較
| 従来の開発 | Claude Code駆動開発 |
|---|---|
| 要件定義 → 設計 → 実装 → テスト | 自然言語での要求 → 即座に完成品 |
| 数週間 | 数時間 |
| 段階的な機能追加 | 包括的な機能実装 |
| 手動でのテスト・文書作成 | 自動生成される完全な文書 |
| バグ修正の繰り返し | 初回から高品質 |
🤔 学んだこと
AI駆動開発の可能性
- アーキテクチャ設計力: 適切な設計パターンの自動選択
- 実装速度: 従来の10-50倍の開発速度
- 品質維持: 人間が見落としがちな部分も網羅
- 学習効果: AIと協働することで設計思想を学べる
成功の要因
- 明確な要求: 何を作りたいかの具体的な説明
- 段階的アプローチ: Crawl/Walk/Runの反復的改善
- 適切な技術選択: Claude Codeによる最適なスタック選択
- 継続的な対話: AIとの協調的な開発プロセス
🔮 AI駆動開発の未来
今回の体験で見えた未来:
開発者の役割の変化
- 従来: コードを書く人
- 未来: AIと協働する設計者・指揮者
開発プロセスの変化
- 従来: 実装 → テスト → デバッグの繰り返し
- 未来: 要求定義 → AI実装 → 検証・改善
品質の向上
- より良いアーキテクチャパターンの採用
- 包括的なテストの自動生成
- プロフェッショナルな文書化
💭 感想
この体験は、プログラミングの本質が「コードを書くこと」から「問題を定義し、AIと協働して解決すること」に変化している現実を痛感させてくれました。
最も衝撃的だったのは:
- 一行もコードを書かずに実用的なツールが完成したこと
- AI生成コードの品質が想像以上に高いこと
- 開発速度が従来の数十倍になったこと
- 即座に実務で使える実用性があること
🚀 始めてみよう
Claude Codeは現在研究プレビューとして利用可能です:
- Node.js 18+をインストール
npm install -g @anthropic-ai/claude-code- Claude Pro/Teamsサブスクリプション(API利用)
- プロジェクトディレクトリで
claudeコマンド実行
開発したcmdaiツールも試してみてください:
dotnet tool install --global CmdAi.Cli
cmdai ask git "your natural language command"
まとめ
AI駆動開発は単なる「補助ツール」ではなく、開発プロセス全体を根本的に変革する技術です。Claude Codeとの協働により、アイデアから完成品まで驚異的な速度で到達できました。
これからの開発者に必要なのは、コーディングスキルよりも「適切な問題定義」と「AIとの効果的な協働」能力かもしれません。
ぜひ皆さんもClaude Codeを試して、AI駆動開発の可能性を体験してみてください!
リポジトリ: https://github.com/yoshiwatanabe/cmdai
Claude Code: https://www.anthropic.com/claude-code