コーディングエージェントを活用した AI エンジニアリング
AI エンジニアリングにおける重要なスキルの 1 つが、コーディングエージェントの活用です。エージェントを巧みに操り、コードを書かせるだけでなく、データ分析やシステム運用管理といった非コードタスクを実行させる能力があれば、はるかに多くのことを成し遂げられます。
コーディングエージェントの急速な進化は、このスキル自体も急速に進化していることを意味します。これは、他のトップレベルの AI エンジニアリングスキルよりも速いペースです。プロプライエタリなエージェント(Claude Code、Codex、Cursor など)も、オープンエージェント(OpenCode、Pi など)も、ハーネスとモデルの両方の改善によって目覚ましい進歩を遂げています。そのため、コーディングエージェントの使い方を最新の状態に保つには、実験、構築、学習の継続的なプロセスが必要です。
数十人のトップ AI エンジニアにインタビューし、自社チームによるコーディングエージェントの使用法を振り返った結果、エージェントを使ってソフトウェアを構築するための一貫した高レベルのワークフローが明らかになりました。主要なステップは以下の通りです。
- 計画。 これには、(i) リサーチ、実験、既存のコードベース(ある場合)の理解を含む可能性のあるブレインストーミング、および (ii) 要件、技術設計、アーキテクチャを記述した仕様書の作成と、それに続く実行計画の生成が含まれます。また、計画をレビューして、主要な前提条件を問いただし、セキュリティ、過剰設計、その他のギャップをチェックすることもあります。
- 実行。 エージェントの自律性と人間による監視の適切なバランスを取りながら、構築、テスト、検証を行います。これには、(i) エージェントにソフトウェアを構築させる(調整されたレベルのエージェント自律性で)、(ii) 自動化および/または人間によるチェックを通じてその出力を検証することが含まれます。
- デプロイと監視。 (i) おそらく CI/CD パイプラインや追加の人間によるゲートで制限しながらデプロイし、(ii) エージェントを使用してログを監視し、問題を表面化させ、改善を提案および実行します。
この高レベルのワークフローは、コーディングエージェント登場前にソフトウェアを構築する際に一般的に使用されていたものと似ています。現在では、コード自体に焦点を当てるのではなく、何を構築するかの決定、アーキテクチャの設計、仕様書の作成、出力の検証に重点を置いています。
各ステップの所要時間はプロジェクトによって大きく異なり、ステップが省略されることもあります。例えば、グリーンフィールド(ゼロから構築)プロトタイプの仕様書は、簡単に書かれたプロンプトで大まかに記述されるかもしれませんが、ブラウンフィールド(既存)プロジェクトでユーザーが多い場合の仕様書は、作成と検証にはるかに多くの労力が必要になる可能性があります。さらに、このワークフローは非常に反復的であり、熟練した開発者は、後のステップからのフィードバックがいつ以前のステップに戻るべきかを示しているかを理解しています。例えば、検証が失敗した場合、エージェントを誘導して再構築とエラー修正を行う方法を知っています。また、監視で問題が表面化した場合、エージェントにシステムを更新させて再デプロイする方法を知っています。
このワークフローでコーディングエージェントを効果的に使用するための主要なスキルは以下の通りです。
- ワークフローの指揮
- エージェントの自律性の有効化
- 作業のレビュー
- エージェントとその環境のカスタマイズ
- コーディングエージェントの基礎
ワークフローの指揮。 上記のワークフローの各ステップをどのように進めるかを理解しています。これには、各ステップに人間とエージェントの労力をどれだけ割り当てるか、いつ以前のステップに戻って反復するかを決定することが含まれます。速度、コスト、技術的リスク、人間の労力のトレードオフを深く理解し、事前にどれだけリサーチと計画を立てるか、重要な作業にいつ人間の主体性を保持するか、アーキテクチャをどのように選択するか、計画成果物(仕様書など)にどれだけ詳細を記述するか、作業を検証可能なステップにどのように分解するかを決定する必要があります。
エージェントの自律性の有効化。 ワークフローのステップにコーディングエージェントを適用する際、自律性のレベルを選択します。エージェントを監視してインタラクティブにやり取りするのか、より大きな作業をエージェントに委任するのか。また、明確な目標を設定し、成功するまでループさせるのはどのような場合か。さらに、エージェントのためにコンテキストを注意深く管理する必要があります。構築がさまざまなフェーズを進むにつれて、主要な学び、ユーザーフィードバック、前提条件(構築の途中で変更された前提条件を含む)を、エージェントが後続で使用できるように確実にキャプチャするように調整します。さらに、タスクを分解して多数のエージェントを並行して実行する場合(人間または上位エージェントがこれらの他のエージェントを調整する)、および並行するエージェントセッション全体で人間の注意をどのように管理するかを決定します。また、エージェントを安全に実行し、適切に権限を設定してアクションをゲートし、開発を迅速に進めながらも、漏洩、データ損失、その他の損害のリスクを制限する方法も理解しています。
作業のレビュー。 コーディングエージェントの出力は不確実です。エージェントがどのような良いアイデアを思いつくか、どのようなバグを実装するかを事前に知ることはできません。出力のレビューと検証は、望む結果が得られていることを確認し、そうでない場合にエージェントを方向転換するための重要なステップです。タスクに適合したテストと検証を設計し、必要に応じて行動的検証と機能的検証の両方を適用します。また、ユーザーフローをテストし、おそらくエージェントに成功または失敗の証拠としてスクリーンショットを提供させることもあります。定性的/行動的評価には、LLM-as-a-judge を使用した評価セットを使用できます。
また、これらのテストのうちどれだけを自動化するかを決定する必要があります。一部のワークフローでは、すべてのテストと検証が完全に自動化され、エージェントが自身の作業をチェックし、タスクの完了を認識できるようになります。テストが目的に合致しているかを評価し、そうでない場合は進化させる必要があります。さらに、エージェントによるコードレビューを使用し、AI 対応のセキュリティおよびアーキテクチャ監査を実行します。AI レビューが不十分な場合は、コードの動作(および、頻度は低いですがコード自体も)に対する人間によるレビューを適切に挿入し、このレビューをさらに自動化する方法を模索します。最後に、デプロイを検証し、エージェントによる監視とインシデント管理を運用化できます。
エージェントとその環境のカスタマイズ。 エージェントとその動作環境の両方を更新する能力により、エージェントが必要なコンテキストを効率的に取得し、ツールにアクセスし、正確かつ効率的に構築できるようになります。エージェントスキル、プラグイン、MCP サーバーを統合する方法を理解しています。不要になったスキル(新しいモデルが古いスキルを不要にした場合など)は、適宜削除します。フックを使用して、自動コードレビューや CI/CD パイプラインのトリガーなど、開発プロセスの反復可能な部分を自動化できます。また、エージェントが動作する環境を維持することもできます。つまり、コードベース、主要なアーキテクチャ上の前提、コードスタイル、データアクセスパターンに関する情報を含む常設コンテキスト(AGENTS.md や CLAUDE.md など)を更新します。複数のセッションや並行エージェント間で状態を保持し、時間の経過とともにエージェントの学習を蓄積する方法(おそらく実行後の振り返りを実施して、うまくいったことといかなかったことをキャプチャする)を理解しています。また、コードベースをエージェントにとってナビゲートしやすくするための一貫した規約と構造を設定し、エージェントが生み出した技術的負債を時々クリアする方法も理解しています。チームで作業する場合、異なる開発者のエージェント間でコンテキストを調整する方法を検討します。
コーディングエージェントの基礎。 最後に、全体を通じて適切な意思決定を行うために、コーディングエージェントの仕組みを十分に理解しています。つまり、コードベースの検索/取得をどのように実行するか、コンテキストウィンドウをどのように管理するか、さまざまな操作(ツールコールの追加、MCP サーバーなど)がコンテキストにどのように影響するか、エージェントとサブエージェントがどのように相互作用するか、エージェントが LLM の周りにハーネスをラップすることでどのように構築されるか、を理解しています。これにより、エージェントがブラックボックスではなくなり、障害モード(単純なソリューションの過剰設計、明示的な検証プロセスがないことによる厳密さの欠如、目標達成の手前で止まること、ファイルや本番データの破壊リスクを伴うエージェントのアクションなど)を認識するのに役立ちます。また、エージェントの状態を推論し、適切な指示やコンテキストを与えることでエージェントを誘導するのにも役立ちます。そして、実行を監視する際、この理解により、エージェントが軌道から外れ、介入が必要になった場合に、より適切に察知できるようになります。
ソーシャルメディアでは、コーディングエージェントの使い方について過度に単純化された説明がよく見られます。例えば、エージェントを何時間も自律的に実行させ、数百万から数千万ものトークンを消費させることが有用な場合もあります。しかし、現時点では、非常に長期的なタスクの実用的な有用性は、特にそのコストと比較して、実際以上に誇張されています。実際には、最も効果的なコーディングエージェントの使用法は複雑で高度に反復的なプロセスであり、高度な判断力を持って介入することで、はるかに優れた結果が得られます。
コーディングエージェントを使いこなすスキルは、あなたを効果的なビルダーにするでしょう。これにより、全体的な構築を指揮する立場にもなれます。この点については、今後の記事でさらに詳しく述べます。



![職場で差をつける:Copilot の活用術 30 選 [2026 年 9 月版]](/cdn-cgi/image/width=1920,quality=90,format=auto,metadata=none/https%3A%2F%2Fcms-assets.youmind.com%2Fmedia%2F1788628071941_pqwsyn_HRZ5ruNbsAA5DkG.jpg)

