AI エージェント型プログラミング(AI agentic programming)とは、大規模言語モデルをベースとするエージェントがソフトウェア開発タスクを自律的に遂行するプログラミングパラダイムである。静的なプロンプトから一段階で出力を生成する従来のコード生成ツールとは異なり、エージェント型のシステムは目標指向の多段階的なやり方で動作する。タスクについて推論し、意思決定を行い、コンパイラ、デバッガ、テストランナーといった外部ツールを使い、フィードバックに基づいて出力を反復的に改善していく。AI エージェント型プログラミングに関するあるサーベイは、この種の典型的なシステムを 4 つの性質で特徴づけている。自律性(継続的な人間の監督なしに意思決定を行い行動をとること)、対話性(実行中に外部のツールや環境と相互作用すること)、反復的改善(中間的なフィードバックに基づいて出力を改善すること)、目標指向性(単発のプロンプトに応答するだけでなく、高レベルの目的を追求すること)である。
用法
サーベイは、このパラダイムを具体例で説明している。「Web サーバーのログファイルから最もアクセス頻度の高い URL の上位 10 件を返す REST API エンドポイントを、ユニットテストとドキュメントを含めて実装せよ」という要求が与えられると、エージェントはログファイルを解析し、Web フレームワークを使ってエンドポイントを実装し、ユニットテストを書いて実行し、あるテストがコーナーケースで失敗すれば実装を修正し、最後にドキュメントを生成する。テストが通り、API が期待どおりに動作し、ドキュメントが完成するまで、この「実行・検査・修正」のサイクルを繰り返す。サーベイは、これを次のものから区別している。タスクを分解せずに単一のプロンプトに反応的に応答するコード補完ツール、形式的な仕様から単発の方式で単一の関数を生成する古典的なプログラム合成、そして自らの問題解決戦略を適応させるのではなく事前に定義されたパイプラインを実行する DevOps の自動化である。
適用される場面
サーベイは、このパラダイムを、反復的な問題解決、ツールの使用、適応を必要とする現実のソフトウェア開発(単一ステップのコード生成では効果的に扱えないタスク)に適したものとして位置づけ、外部ツール(コンパイラ、デバッガ、テストランナー、バージョン管理)が利用可能であること、そしてエージェントが多くのステップにわたって一貫性を保てるようにするコンテキスト/メモリの仕組みがあることに依存するとしている。サーベイは、このパラダイムがまだ初期段階にあると報告している。既存のシステムはアーキテクチャ、自律性、ツール統合の点でまちまちであり、この分野には標準的な分類体系、ベンチマークスイート、評価手法が欠けている。挙げられている未解決の課題には、動的な環境での信頼性の確保、生成されたコードにおけるハルシネーションの抑制、Python 以外のより多くのプログラミング言語やエコシステムへの対応の拡大、そして自律的な振る舞いへの安全性、信頼、説明責任の組み込みがある。というのも、今日のコンパイラ、言語、開発ツールは人間の利用者向けに設計されており、エージェントが失敗を診断したり自らのアクションの効果を理解したりするために必要な、構造化された機械可読のフィードバックを提供しないことが多いからである。
関連用語
AI エージェント型プログラミング: 手法、課題、機会に関するサーベイ、エージェント型コーディング、AI コーディングエージェント、Model Context Protocol