

Atsushi Nakatsugawa
March 19, 2026
|1 min read
March 19, 2026
1 min read

Cut code review time & bugs by 50%
Most installed AI app on GitHub and GitLab
Free 14-day trial
From Copilot to agents: The history of AI codingの意訳です。
AIコーディングエージェントの歴史は、誰もそれをエージェントと本格的に呼ぶ前から始まっています。2017年、論文「Attention Is All You Need」がTransformerアーキテクチャを発表し、現代の大規模言語モデルを実現可能にしました。
2020年には、CodeBERTがその基盤をソフトウェア開発に近づけました。コード検索やドキュメント生成といったタスクにおいて、自然言語とプログラミング言語を単一の事前学習済みシステムで一緒に学習できることを示したのです。
これらは、現代的な意味でのエージェントではありませんでした。ファイルを開いたり、テストを実行したり、開発環境の中で動作したりすることはありませんでした。しかし、その後のすべてを可能にした前提となっています。コードは言語としてモデル化でき、言語モデルはソフトウェアがどのように書かれ、説明、変換されるかについて有用な表現を学習できるということです。
2021年までに、この研究の流れは実用的でテスト可能なコード生成へと成熟しました。Codex 2021は、公開コードでファインチューニングされたGPTモデルをHumanEvalで評価したことを説明しています。GitHubは2021年6月29日にCopilotを発表し、Codexの論文はその翌週の7月7日に公開されました。論文中では、Copilotを動かしているのはCodexのプロダクション版であると明記されています。この詳細が重要なのは、LLMが研究成果物からメインストリームの開発者向け製品へと橋渡しされた瞬間を示しているからです。

Copilotが登場したとき、それは「コードを書く」よりも歴史的に重要なことを達成しました。AIをプログラミングという行為にとって、ネイティブなものとして感じさせたのです。GitHubはCopilotを、周囲のコードからコンテキストを引き出し、エディタ内でコード行全体や関数全体を提案できるAIペアプログラマーとして説明しました。
今となっては当然のように聞こえますが、2021年当時はインターフェースとしての真の革新でした。コード生成は研究デモの世界から脱し、編集画面そのものに存在するようになりました。そこでは、抽象的なベンチマークスコアよりも、レイテンシや関連性、そして開発者の信頼が重要でした。
これが、Copilotを従来の自動補完ツール以上のものにした理由です。その意義はモデルの品質だけではなく、モデルをソフトウェア開発のワークフローに直接組み込むというプロダクト上の決断にありました。
GitHubのその後の調査では、Copilotユーザーはタスクをより速く完了し、精神的な負担が軽減されたと回答したことがわかりました。つまり、Copilotはモデルがコードを生成できることを示しただけでなく、AIアシスタントがソフトウェア開発の流れ自体を変えられることを示したのです。

次の重要なシグナルは2022年に来ましたが、それはエディタからではありませんでした。DeepMindのAlphaCodeは、難しいプログラミング問題にはワンショット生成の枠を超えた何かが必要なことを示しました。AlphaCodeは多くの候補となるプログラムを生成し、積極的にフィルタリングを行い、表面的な流暢さだけでなくプログラムの振る舞いを頼りにしました。競技プログラミングにおいて、AlphaCodeは平均的レベルの競技者に匹敵するパフォーマンスを達成しました。
歴史的に見て、AlphaCodeが重要だったのは、後のコーディングエージェントが常に依拠することになる原理を先取りしていたからです。難しいソフトウェアタスクは、単なる言語問題ではなく、しばしば探索問題なのです。
同じ年の後半には、ChatGPTがモデルとの会話型インタラクションをメインストリームにし、InstructGPTはすでにその重要性を示していました。ユーザーの意図に従うようにチューニングされたモデルは、テキストをつなぎ合わせるだけのモデルよりも有用なのです。
2023年3月、GitHub Copilot Xはチャット、プルリクエスト支援、ドキュメントサポート、GPT-4統合によってそのシフトをソフトウェア開発に直接持ち込みました。その時点から、開発者と機械の関係は変わりました。適切な補完が表示されるのをただ待つ必要はなくなったのです。
必要なものを説明し、リファクタリングを依頼し、テストを要求し、あるいは見慣れないコードの説明を求めることができるようになりました。

コーディングAIが会話型になると同時に、新たなボトルネックが現れました。それはコンテキストです。チャットは、目の前のプロジェクトについて取得できる情報の質に依存しています。GitHubのリポジトリインデックスのドキュメントはその変革を明示しています。
インデックス作成はバックグラウンドで実行され、インデックスが存在すると、Copilot ChatはGitHubとVS Code上でリポジトリに関する質問に答えられます。これはコーディングAIが優秀な見知らぬ人として振る舞うのをやめ、少なくともコードベースを読んだことがある同僚のように振る舞い始めた瞬間でした。
同時に、オープンなコードモデルも開発者が実際にどのように編集するかにより直接的に対応し始めました。SantaCoderはfill-in-the-middle生成を重視しました。StarCoderはより広い言語カバレッジと長いコンテキストでオープンモデルのフロンティアを押し広げました。Code Llamaはインフィリングと大きな入力ウィンドウを重視しました。
これらが重要だったのは、現実の開発者が白紙のページに左から右へと書き始めることはほとんどないからです。開発者は既存のシステムの中で挿入、パッチ適用、リファクタリング、スタブ作成、修正を行います。訓練目標がソフトウェア作業の実態に合い始めていたのです。

ここで「エージェント」の現代的な意味が結実化し始めます。コーディングモデルがコーディングエージェントになるのは、それが妥当なコードを生成するだけでなく、もっと多くのことができるときです。ファイルを検査し、ツール呼び出し、コマンド実行、失敗の観察、それらを継続する必要があります。
ReAct論文は推論と行動を交互に行うための明確な概念的テンプレートをこの分野に提供し、OpenAIのfunction callingはツール使用をプロダクトとAPIパターンとして実用的にしました。両者は合わさって、この分野を受動的な生成から環境とのクローズドループ型インタラクションへとシフトさせました。
そのアイデアはすぐに具体化しました。SWE-agent論文の著者たちは、言語モデルエージェントにはリポジトリのナビゲート、ファイルの編集、プログラムの実行のための独自の「エージェント・コンピュータインターフェース」が必要だと主張しました。
Devinはシェル、エディタ、ブラウザをサンドボックス化されたコンピューティング環境の中にパッケージ化しました。OpenHandsは同じ考え方をより開かれたコンポーザブルなスタックに変え、ローカル、ターミナル、またはCI/CDワークフローで実行できるようにしました。いずれの場合も、突破口となったのは単なるコード生成の改善ではありませんでした。アクションを実行し、結果を検査し、再試行する能力でした。

ベンチマークはこの歴史を凝縮した形で語っています。2021年、HumanEvalはモデルがdocstringから正しい関数を合成できるかどうかを測定していました。2023年には、SWE-benchの論文著者たちが、システムが実際のリポジトリの実際のGitHub Issueを解決できるかどうかを問いました。このシフトは非常に大きなものです。
この分野はモデルが有能に見えるコードを生成できるかどうかを問うことをやめ、システムが実際の制約の下でソフトウェアタスクを実際に完了できるかどうかを問い始めたのです。
それからまた基準が上がりました。SWE-bench Verifiedは、より信頼性の高い評価のために人間が検証したサブセットを導入しました。LiveCodeBenchは汚染のない評価に焦点を当て、自己修正、コード実行、テスト出力予測を含めるよう明示的にターゲットを広げました。
Terminal-Benchは、難しく現実的なコマンドラインタスクでのパフォーマンスを測定することで、さらに現実に近づきました。評価は単に妥当に見えるコードへの報酬をやめ、実際の作業を完了できるシステムへの報酬へとシフトしました。

2025年までに、このカテゴリは再び形を変えました。2026年初頭の時点で、GitHubは2つの補完的なエージェント体験を提供しています。VS Codeでは、構築したいものを説明し、エージェントにプロジェクト全体にわたる計画、実装、変更の検証を任せることができます。GitHub自体では、Copilotコーディングエージェントがプルリクエストワークフローの一部としてバックグラウンドで動作します。作業をアサインすると、変更を加えてプルリクエストを開き、レビューを求めます。アシスタントはもはやカーソルの位置で待つ必要はありませんでした。エージェントはタスクを受け取り、成果物を持って戻ってくることができるようになったのです。
他のプラットフォームも同じパターンに収束しました。Codexという用語を再利用したOpenAI Codexプロダクトは、2025年に長時間実行タスク向けのソフトウェアエンジニアリングエージェントとして再導入されました。一方、GoogleのJulesは、GitHubと統合し、自律的に動作し、安全なクラウドVMの中で実行可能なコードとテスト結果を含むプルリクエストを開ける実験的なコーディングエージェントとして明示的に位置付けられています。クラウドサンドボックスはバックグラウンドコーディングエージェントの自然な生息環境となりました。

ローカルインターフェースも並行して進化しました。Claude CodeはAnthropicによって、コードベースを読み込み、ファイル編集、コマンド実行、開発ツールと統合するエージェント型コーディングツールとして説明されています。そのGitHub ActionsワークフローはIssueやプルリクエスト内の@claudeメンションに応答でき、Claude Codeはタスク固有のワークフロー向けに特化したサブエージェントもサポートするようになりました。
Codex CLIはOpenAIのコーディングエージェントをターミナルに持ち込み、GitHub Copilot CLIは高い自律性モードを持つターミナルネイティブエージェントとして位置付けられ、GoogleのGemini CLIはGemini Code Assistエージェントモードを動かしています。ターミナルはただのシェルであることをやめ、エージェントのオペレーティングシステムになりました。
AIネイティブエディタはさらにこの論理を推し進めました。Cursorは自身をAIエディタ兼コーディングエージェントと説明しています。Cursor Agentは複雑なタスクを完了し、ターミナルコマンドを実行し、コードを編集できます。一方、Cloud Agentsはリモートで実行され、Automationsはスケジュールやイベントに基づいてエージェントの作業をトリガーできます。
WindsurfのCascadeは計画、コード編集、メモリ、ワークフローを組み合わせています。エディタはもはや単に人間がコードを書く場所ではなくなりました。人間がエージェントを監督し、方向を修正し、協力するための調整レイヤーになったのです。

エージェントが行動できるようになると、組織は新たな問題を発見しました。どうすれば自分たちのチームのように動かせるのか、ということです。これが、指示ファイルと相互運用プロトコルが中心的になった理由です。
AnthropicはMCPを2024年末にAIアプリケーションが外部ツールやデータソースに接続するためのオープン標準として導入しました。同時に、AGENTS.mdのようなリポジトリ指示ファイルは、コーディングエージェントがセットアップ手順、テストコマンド、アーキテクチャガイダンス、レビュー期待値を見つけるための予測可能な場所を提供しました。
OpenAIのドキュメントによれば、Codexは作業を始める前にAGENTS.mdファイルを読み込みます。AnthropicのCLAUDE.mdファイルと自動メモリはClaudeに永続的なプロジェクトコンテキストを与えます。GitHubはリポジトリと組織のカスタム指示をサポートし、Cursorは永続的なRulesを公開しています。プロンプトエンジニアリングはインフラに近いものになっていました。
これが歴史的に重要なのは、別の概念的シフトを示しているからです。初期のCopilot時代、プロンプトはほとんど一時的なものでした。コメント、関数名、カーソルの位置などです。エージェントの時代では、永続的な指示が一時的なリクエストと同じくらい重要です。
チームは今や、セットアップコマンド、テストルール、コードスタイル、エスカレーションパス、レビュー基準をリポジトリと一緒に移動するファイルにエンコードしています。それは「次の行を予測する」という世界とは大きく異なります。新しいチームメンバーにオペレーションマニュアルを渡すことにずっと近いのです。
この歴史を説明する最もすっきりした方法は、オートコンプリートがより賢くなったというものではなく、ソフトウェアエンジニアリングをマシンが操作可能なレイヤーへと体系的に分解してきたというものです。最初にコードモデルが来ました。次にインライン生成。次に会話。次にコードベース認識。次にツール使用。次にバックグラウンド実行。次に永続的メモリ。そしてレビューと検証のレイヤー。それぞれの突破口は、直前の突破口によって生まれたボトルネックを解決しました。
私たちはマシンにコード予測について教えるところから始めました。そして今、目標を受け取り、システムをナビゲートし、動作する変更を生み出せるマシンを中心にソフトウェアエンジニアリングを再編成しつつあります。
AIコードレビューを試してみませんか?14日間の無料トライアルはこちら。