Command Palette
Search for a command to run...
コーディングエージェント
コーディングエージェントは、大規模言語モデル(LLM)を中心とした、AIベースの自動ソフトウェア開発システムの一種です。自然言語による要件を理解し、コードリポジトリを分析し、開発ツールを呼び出し、テストタスクを実行することで、コード生成、プログラムのデバッグ、欠陥修正、ソフトウェア保守といったエンジニアリングタスクを支援または自律的に完了します。従来のコード補完ツールとは異なり、コーディングエージェントは対象タスクを中心とした複数ステップのプロセスを計画し、外部環境からのフィードバックに基づいて実行プロセスを継続的に調整できます。
コーディングエージェントの開発は、大規模なコードモデル、エージェントフレームワーク、およびソフトウェアエンジニアリングの自動化技術に基づいて構築されています。2024年、プリンストン大学などの研究者らが論文を発表しました...SWE-agent: エージェントとコンピュータのインターフェースによる自動ソフトウェアエンジニアリング本論文では、ソフトウェアエンジニアリングタスクのためのインテリジェントエージェントフレームワークであるSWE-agentを提案する。本研究では、大規模な言語モデルが特別に設計されたインターフェースを介してコードリポジトリ、ターミナル環境、開発ツールと連携できるようにするエージェント・コンピュータインターフェース(ACI)を導入する。これにより、GitHub上での実際のソフトウェアエンジニアリングタスクにおいて、コードの変更、テスト、バグ修正を実行できるようになり、コーディングエージェントに関する今後の研究にとって重要な参考資料となる。
エンコーディングプロキシは、従来の大規模言語モデルがコードを直接生成する際に生じる、文脈理解の不足、環境フィードバックの欠如、複雑なエンジニアリングタスクの処理の困難さといった問題に対処するために主に用いられます。その中核となるプロセスには、タスクの理解、コードの取得、修正計画の策定、コードの編集、テストの実行、フィードバックに基づく反復的な最適化などが含まれます。コンパイラ、端末、バージョン管理システム、テストフレームワークを連携させることで、エンコーディングプロキシは「生成→実行→評価→修正」という閉ループの開発プロセスを構築できます。
近年、大規模言語モデルのコード機能の向上に伴い、コーディングエージェントはソフトウェア開発支援の場面でますます活用されるようになっている。代表的なツールとしては、Anthropic社のClaude CodeやAnysphere社のCursor Agentなど、大規模モデルに基づいたコード編集・開発アシスタントが挙げられる。これらのシステムは、開発者がコード作成、コード理解、デバッグ・分析、エンジニアリング作業を自動化するのに役立つが、生成されたコードの正確性、セキュリティ、信頼性を確保するためには、現状では依然として人間の監視が必要である。