AIコーディングAgentとの向き合い方
2025年、AIを使った開発が「当たり前」になりつつあります。
ただし、実際に業務でどう活用すべきか悩んでいる方も多いのではないでしょうか。
この記事では、私が発表した「AIコーディングAgentとの向き合い方」の内容をベースに、AI時代のエンジニアに必要な3つのプラクティスをご紹介します。
なお、本記事中のAIコーディングAgentはClaude Codeのように自律的にコードを書くようなツールを想定しています。
本記事では以下の3つのプラクティスを紹介します。最初は初学者向けの内容ですが、後半は現在活用している人にもぜひ読んでいただきたい内容となっています。
-
プラクティス #1: まず使え&最初は便利ツールから
- まだ使っていない方向けの内容です
-
プラクティス #2: AIが得意なタスクに分解する
- 使い始めたけど、より使い方がわからない方向けの内容です。
-
プラクティス #3: AIに自律的に得意なタスクに分解させる
- 日常的に使っている方向けに、将来を見据えて、よりAIドリブンな使い方に発展させるための考え方を紹介しています。
🚨 最大のリスクは「AIを使わないこと」
私の現在のAIコーディングAgentに対する評価としては、そこまで高くなく、まだまだ人間がプロンプトを工夫したりタスクを適切に切り分けてあげる必要があると考えています。実務で活用するには時期尚早であるという意見も理解ができます。
それでも、私がAIコーディングAgentを利用するのは、AIコーディングAgentツールは確実に進化しており、近い将来、AIコーディングAgentは必須のスキルになると確信しているからです。
すなわち、AIコーディングAgentを使わないことこそがリスクであり、近い将来エンジニアとしての価値を高めるには「AIを使いこなす力」が求められるようになると考えています。
プラクティス #1: まず使え&最初は便利ツールから
AIを使わないというリスクを回避するために、まずは使ってみることを強くお勧めします。そのとき、最初から仕事で使っているシステムで利用するのは難易度が高すぎます。
おすすめは、 1機能1ファイルで完結する「便利Webツール」 から始めることです。
なぜ便利ツールが良いのか?
1機能1ファイルで完結すると、コンテキストが小さいのでAIが扱いやすく、成否がすぐ分かるのでうまくいっているかどうかを直感的に理解することができます。
すなわち、AIが扱いやすいプロジェクトで、AIコーディングAgentを使った成功体験を積みやすいということです。
具体例
実際に私が開発しているツールを紹介します。
https://eycjur.github.io/helpful_tools/tools/richtext-to-markdown
こちらは、Webページなどからコピーした内容を生成AIが取り扱いやすいMarkdownの形式に変換するツールになります。
このほかにも、以下のようなツールを開発しています。
- 文字数カウンタ
- QRコード生成ツール
- Markdown変換ツール
ツールを選択するときのポイントは 「自分が欲しいツール」から始めること がお勧めです。
プラクティス #2: AIが得意なタスクに分解する
AIは「何でもできる魔法の道具」ではありません。得意・不得意があります。
AIが得意なタスク
- 答えが一意に定まる質問
- 前提条件が明確な質問
- 期待値が具体的な場合
- コンテキストが限定されている場合
AIが苦手なタスク
- 答えが複数に分かれる質問
- 前提が曖昧な質問
- 暗黙の期待値がある場合
- コードベースが大規模すぎる場合
つまり、現在のAIコーディングAgentの利用には、 AIが答えやすいように質問を設計するスキル が重要です。
実例:OSSコントリビュートでの成功体験
実際にLiteLLMという各ベンダーの多様なLLMの統一的なインターフェイスを提供するOSSライブラリでバグ調査を行った際のプロンプトの工夫を紹介します。
最終的に提出したプルリクエスト
まず、バグが発生する原因を特定する必要がありますが、漠然とバグの原因を聞くのではなく、まずは、処理フローを尋ねます。
プロンプト:
「以下のコードを実行した時に、呼ばれる関数を順番に教えてください」
sample_text = "こんにちは、これが私の入力文字列です!私の名前はイシャーンCTOです" encode_count = len( encode(model='gpt-4o', text=sample_text) ) # 25 tokens ❌ counter_count = token_counter( model='gpt-4o', text=sample_text ) # 21 tokens ✅
encodeは自然言語を生成AIが処理する単位であるtokenに直す処理です。token_counterはこのトークン数を数える関数であることが期待されますので、len(encode())
の結果とtoken_counter()
の結果は同じであることが期待されます。
Claude Codeの回答:
encode(model="gpt-3.5-turbo", text="Hellö World...")
_select_tokenizer(model="gpt-3.5-turbo")
_return_openai_tokenizer()
tiktoken cl100k_base encoding.encode()
このように、答えが一意に決まるような明確な質問をすると、AIは正確に関数呼び出しを列挙することができました。
以降の会話ではこの呼び出しフローのやり取り会話履歴としてコンテキストに含まれます。このように、2段階で質問をすることで、コンテキストを明示してAIが取り組みやすいタスクに分解できるというわけです。
具体的には、得られた情報をもとに「このフローにおかしい点はあるか?」と再質問することで、問題の根本原因を突き止めることができました。
プロンプト:
このフローの中で、何かおかしい部分はありますか?
Claude Codeの回答:
## 具体的な問題点
_return_openai_tokenizer()
は常にcl100k_base
を返す
モデル固有処理(GPT-4o →o200k_base
)が未実装
token_counter
でのみ正しい処理が実装済み
encode/decode は適切なモデル固有処理をしていない
Claude Codeの回答はまさに、バグの原因そのものでした。
一方で、修正も同様に依頼したところ、依存関係の整理やPRの作成はまだAIには難しく、人間のサポートが必要でした。
例えば、依存関係の整理においては、循環importになってしまう呼び出し方をしてしまったり、既存のコードに類似のロジックがあるにも関わらず、新しいファイルを作成して実装を行うなどの傾向が見られました。
プラクティス #3: AIに自律的に得意なタスクに分解させる
AIが得意なタスクを理解した上で、そのタスクの分解自体もAIに行わせることができる一つの手法がテスト駆動開発 (TDD) です。
テスト駆動開発は、テストコードを先に書き、そのテストをパスするように実装コードを書く開発手法であり、以下の手順で進められます。
- テストリストを作成する
- リストから1つ選び、失敗するテストを書く
- テストを通す最小の実装を書く
- リファクタリングを行う
- 1に戻る
詳しくはこちらの書籍を参照してください。
TDDがAIと相性が良い理由
TDDがAIと相性が良い理由としては、以下のような点が挙げられます。
- テストを書くことで仕様が明確化される
- タスクが小さく分解され、AIが扱いやすい
- リファクタリングを通じて品質が高まる
- テストコードにより生成されたコードの品質が保証され、人間のレビューを行うコストが下がる
このように、テスト駆動で開発を行うように指示をすることは、AIが自律的にタスクを分解して進める仕組みを与えているということができると考えられます。
🤖 未来のビジョン:AIによる自己改善開発
では、テスト駆動開発がAIにとって最も適切な手法なのでしょうか?
私はそうは考えていません。そもそも、テスト駆動開発は人間のために編み出された手法であり、AIネイティブな手法を探索する必要があると考えています。
そこで、私は近い将来、AIが自分の行動を評価し、学習して改善する仕組みを用いて、AIが自律的に得意なタスクに分解する方法を学ぶようになると考えています。
実際に私が今取り組もうとしていることは以下のようなプロセスになります。
- タスクの成功・失敗を記録し、AIが学習する
- フィードバックを取り入れ、よりよい進め方を獲得する
つまり、AIコーディングAgentをただ「使って終わり」にするのではなく、自律的に成長さえることを目指しています。
🎯 まとめ:3つのプラクティス
改めて3つのプラクティスを整理します。
-
まず使え&最初は便利ツールから
→ 小さな成功体験を積み、AI活用を始める -
AIが得意なタスクに分解する
→ 一意な答え、明確な前提・期待値を設計する -
AIが自律的にタスク分解する未来
→ TDDやフィードバック学習を通じて進化させる
📚 参考リンク
もし、本記事を読んでAIコーディングAgentに興味を持った方がいれば、広く使われていて、ノウハウが溜まっているClaude Codeから始めるのが良いと思っています。
具体的な設定などは公式ドキュメントが非常に読みやすいのでお勧めです。
おわりに
AIコーディングAgentは「魔法」ではありませんが、正しい向き合い方をすれば確実に開発を加速させられます。
まずは小さな便利ツールから始め、AIコーディングが広く普及する時代を先取りしていきましょう。
紹介
『先輩データサイエンティストからの指南書』という書籍を執筆しました。多くの仕事がAIに置き換えられる中で重要となってくる、プロジェクトやコードの品質を保つための考え方を紹介しています。AI時代の生存戦略の参考になれば幸いです。