生成AIとコーディング
いま、CodexやClaude Codeなどのコーディングエージェントを使って開発することは珍しくなくなりました。開発におけるAI活用は、コード補完やコード生成から、計画やタスク分解、テストといった、開発の各工程をAIが自律的に遂行する、エージェンティックコーディングというスタイルへと移行しつつあります。
本記事では、2026年9月刊行の
エージェンティックコーディングと役割分担
前述のとおり、エージェンティックコーディングとは生成AIによる自律的な開発スタイルです。従来のコーディング支援では、人間が作業を進めながら、必要なコードや情報をその都度生成AIに尋ねていく、補助的な使い方が中心でした。これに対してエージェンティックコーディングでは、ある程度まとまった開発タスクをコーディングエージェントに渡し、調査や計画、実装、テストまで主体的に進めてもらいます。
ただし、Codexの能力が高いからといって、開発のすべてを任せればよいわけではありません。AIが得意な作業を任せつつ、要件や設計上の重要な判断、成果物の検証を人間が担うという役割分担が必要になります。アプリケーション開発におけるV字モデルを例にとると、以下のように整理できます。
この図では、開発におけるテーマを
タスクの渡し方
コーディングエージェントに適切に作業を任せるためには、タスクの内容を構造化して伝えることが重要です。Codexには、そのためのテクニックとしてMini Codexテンプレートがあります。
Mini Codexテンプレートは、プロンプトを以下の4要素で構成するものです。
- Goal
(目標) - Context Pointers
(文脈) - Constraints
(制約) - Done When
(完了条件)
これらを記載したプロンプト例を以下に示します。
Goal: 商品検索画面にカテゴリフィルタを追加する Context Pointers: - 既存の検索画面はsrc/screens/ProductSearch/にある - 検索APIの実装はsrc/api/products.ts - カテゴリの定義はsrc/constants/categories.ts - README.mdの「Search」セクションに既存仕様 Constraints: - 既存の検索APIのシグネチャは変えない(クエリパラメータの追加のみ) - UIは既存のフィルタコンポーネント<FilterDropdown>を流用 - カテゴリ未指定時は従来どおり全件返す(後方互換) - 新しい依存関係は追加しない Done When: - npm testが全件パス - カテゴリを選択すると、そのカテゴリの商品のみが表示される(E2Eテストで確認) - カテゴリ未指定の検索は従来どおり動作する(既存テストがpass) - lintエラーが0件
このように、タスクの目的、参照先、守るべき条件、完了条件をあらかじめ明示しておけば、Codexはその範囲の中で調査や実装、テストを自律的に進めやすくなります。
細かな手順を逐一指示するのではなく、どこまでをCodexに任せるのか、その判断範囲を先に定めておくというのが、コーディングエージェントに作業を任せる
コーディングエージェントに「委ねる」こと
コーディングエージェントにタスクを任せるということは、AIに作業を丸投げすることではありません。あらかじめ前提や完了条件をそろえ、実行中は必要なときだけ介入し、完了後に結果を検証する必要があります。こうした人間によるエージェンティックコーディングへの関わり方を
コーディングエージェントにタスクを委ねる際には、開発者自身の役割も変わります。開発者は、コーディングに携わる
なお、エージェントが期待どおりに動かなかった場合も、その結果は次のタスク設計を見直す材料になります。何を任せ、どこで介入し、どう検証するかを決めることまで含めてエージェンティックコーディングでは重要であり、開発者の果たすべき責務になるのです。
コーディングエージェントを効率的に活用するために
コーディングエージェントに調査や計画、実装、テストまでを含む開発タスクを任せる際、開発者には
『Codexではじめるエージェンティックコーディング』
本書を通して、エージェンティックコーディングの実践方法を身につけてみてはいかがでしょうか。
山本紘彰(やまもとひろあき)
技術評論社第5編集部所属。2024年度までSoftware Design編集部で月刊誌
𝕏: @hyamamoto144
Bluesky: @hyamamoto144.
GitHub: hyamamoto144