こんにちは。
エンジニア歴24年のとーちゃんエンジニアです。
エンジニアを24年もやっててこういったログを残すのは初の試みです。
さて、開発が落ち着いてきたところでふと立ち止まってみると、この1年くらいでAIの進化がもの凄いことになっているので焦っています。
そもそもなんでこんなことになったのか。
紐解くために自分におけるAIを使った開発の歴史をAI(ChatGPT)に聞いてみました。
質問1
AIエージェントの歴史を自分の使用してきた時間軸に重ねてざっくり知りたい。
2023年くらいにGitHub CopilotやjetbrainsのAIでコード補完
2024年くらいにエージェントが使えるようになってきてそうこうしているうちに2024年の終わりくらいにはClaudeが台頭してきたり、jetbrainsもjunieっていうエージェントが登場したような記憶です。
はい、その記憶はかなり合っています。ただし、時系列を少し補正すると、AIエージェントの進化はかなりきれいに「補完 → チャット → エージェント」に分けられます。
特に、20年ほどJava開発をしてきた視点で見ると、あなたが体験してきた流れはだいたい次のようになります。
ざっくり全体像
2021 2022 2023 2024 2025 2026
│ │ │ │ │ │
▼ ▼ ▼ ▼ ▼ ▼
Copilot Copilot AI Assistant Agent元年 本格的Agent Agent前提
登場 普及 / Chat ────────→ ────────→ の開発
│ │ │ │ │
コード補完 コード補完 「質問する」 「仕事を任せる」 「開発を委譲」
もう少し詳しくすると、
① 2021~2022:AIがコードを書く
↓
② 2023:AIと会話しながらコードを書く
↓
③ 2024:AIがコードベースを理解して複数ファイルを変更する
↓
④ 2025:AIに「この仕事やって」と丸ごと渡す
↓
⑤ 2026:AIエージェントを前提に開発プロセスそのものを設計する
という変化です。
2021~2022:GitHub Copilotの登場
最初の大きな転換点は実は2021年です。
GitHub Copilotは2021年6月に登場しました。つまり「AIによるコード補完」の歴史としては、ここがかなり重要な起点です。
当時の発想は、
人間がコードを書く
↓
AIが続きを予測する
でした。
例えば、
public User findUserById(Long id) {
と書けば、
return userRepository.findById(id).orElse(null);
}
などをAIが予測してくれる。
つまり、
AI = 超高性能なコード補完
という位置づけです。
この時点ではまだ「エージェント」と呼ぶものとはかなり違います。
2023:Copilot Chat / JetBrains AI
ここが、あなたの記憶している
「2023年くらいにGitHub CopilotやJetBrainsのAIでコード補完」
の部分です。
実際、GitHubは2023年にCopilot Chatを投入しています。
GitHub自身も、
- 2022:Copilot=autocomplete pair programmer
- 2023:Copilot Chat=自然言語でコードについて会話
という進化として説明しています。The GitHub Blog
一方、JetBrainsも2023年12月にJetBrains AI Assistantを正式公開しました。The JetBrains Blog
この時代のIDEは、
IDE
├─ コード補完
├─ AIに質問
├─ コードを説明してもらう
├─ コードを生成
└─ リファクタリング案を出してもらう
という感じ。
なので、この頃はまだ
「AIを開発者の横に置く」
という思想です。
開発者が主体。
AIは助手。
2024前半:「AIに仕事をさせる」が見えてくる
ここから一気に面白くなります。
2024年になると、
「コードを生成してください」
ではなく、
「この問題を直して」
という使い方が出てきます。
例えば、
このIssueを確認して
原因を調査して
必要なコードを修正して
テストを書いて
テストを実行して
問題があれば修正して
という指示。
これがAgentic Codingの原型です。
GitHubも2024年4月にCopilot Workspaceを発表し、
idea → code → software
を自然言語から行う方向へ進み始めました。The GitHub Blog
また、この時期にはDevinなど「AI Software Engineer」を名乗るサービスも登場しています。The Wall Street Journal
そして2024年6月:Claude 3.5 Sonnet
ここが、個人的には現在のAIコーディング史における最大の転換点の一つだと思います。
2024年6月にClaude 3.5 Sonnetが登場。
Anthropic自身が「agentic coding」を強く打ち出しました。YouTube
これによって、
「AIにコードを書かせると結構すごい」
から、
「AIにある程度まとまった開発作業を任せられる」
へ感覚が変わりました。
特に開発者の間では、
Claude 3.5 Sonnet + Cursor
などの組み合わせが急速に注目されました。
2024年夏には、
「このアプリを作って」
↓
AI
・ファイル作成
・コード生成
・コード修正
・リファクタリング
・ターミナル操作
・エラー修正
という体験が現実的になってきました。
ここで初めて、
AI Assistant → AI Agent
の境界が見えてきます。
2024年後半:Claudeが「開発者の道具」として急浮上
なので、あなたの
「2024年の終わりくらいにはClaudeが台頭」
という記憶も方向としては正しいです。
ただし、Claude 3.5 Sonnetの大きなブレイクは2024年6~夏と考えたほうが正確です。
さらに10月にはAnthropicがComputer Useを発表し、AIがコンピューターを操作する方向にも進みました。11月にはMCPも発表されています。GitHub
ここは現在のエージェント環境につながる重要な流れです。
Claude
↓
コードを理解する
↓
コードを書く
↓
ファイルを変更する
↓
ターミナルを操作する
↓
外部ツールを使う
↓
MCPなどで外部システムと接続
現在のClaude Code的な世界の原型が、この辺りにあります。
2025年:本格的な「Coding Agent」元年
ここであなたのJetBrainsについての記憶を少し修正すると、
Junieは2024年末ではなく、2025年1月に発表されています。
JetBrainsは2025年1月にJunieを発表し、その後Early Accessを経て、2025年4月に一般公開しました。The JetBrains Blog
つまり、
2023
JetBrains AI Assistant
↓
「AIに質問・生成してもらう」
2025
Junie
↓
「AIに開発作業を任せる」
という明確な進化です。
Junieは例えば、
この機能を実装して
↓
コードベースを調査
↓
実装方法を考える
↓
複数ファイルを変更
↓
テストを書く
↓
テストを実行
↓
エラーを修正
という仕事をする。
JetBrains自身もJunieを「AI coding agent」と位置づけています。The JetBrains Blog
そして2025年:Claude Code
ここが現在のあなたの使い方にもかなりつながっています。
2024年までの典型的な世界は、
IntelliJ
↑
AI Assistant
でした。
2025年になると、
IntelliJ
│
├─ GitHub Copilot
├─ Junie
│
Terminal
│
└─ Claude Code
という世界になります。
つまりIDEの中にAIがいる必要すらなくなった。
Claude Codeの場合、
人間
│
│ 「このIssueを実装して」
↓
Claude Code
│
├─ ソースコード読む
├─ Git確認
├─ grep/search
├─ ファイル編集
├─ Maven実行
├─ テスト実行
├─ エラー解析
├─ 再修正
└─ Git diff確認
という形になります。
これはCopilotの
「次に書きそうなコードを予測する」
とは全く違うパラダイムです。
そして2026年現在
現在はさらに一段進んでいます。
以前:
AIにコードを書いてもらう
現在:
AIに開発タスクを渡す
さらに今後は、
AIエージェントが開発プロセスの一部を担当する
方向です。
例えば、
Issue
↓
Agent
↓
仕様理解
↓
コード調査
↓
実装
↓
テスト
↓
レビュー
↓
修正
↓
PR
という流れ。
人間は、
「何を作るか」
「どこまで任せるか」
「結果が正しいか」
を担当する。
あなたの時間軸に重ねると
おそらく、かなり近いのはこれです。
| 時期 | AI開発の主役 | 体験 |
|---|---|---|
| ~2022 | GitHub Copilot | コード補完 |
| 2023 | Copilot Chat / JetBrains AI | AIに質問・コード生成 |
| 2024前半 | Copilot Workspace / Cursor / Devin等 | 複数ファイルをAIに触らせる |
| 2024夏 | Claude 3.5 Sonnet | AIコーディングが一気に実用化 |
| 2024後半 | Claude / Cursor / Cline系 | Agentic Codingが普及 |
| 2025前半 | Claude Code / Junie / Copilot Agent系 | タスク単位でAIに委任 |
| 2025後半 | MCP + Agent群 | AIがツール・DB・GitHub等と接続 |
| 2026 | 複数Agent + Spec/Task駆動 | AI前提の開発プロセス |
そして重要なのは、2023→2024の変化より、2024→2025の変化のほうが本質的に大きいことです。
2023
「AIがコードを書く」
↓
2024
「AIがコードベースを操作する」
↓
2025
「AIが開発タスクを遂行する」
↓
2026
「AIに開発プロセスの一部を委任する」
そして、今あなたがやっていることは結構「次の段階」に近い
最近あなたが話していた、
- GitHub Copilot
- JetBrains AI
- Junie
- Claude Code
- MCP
- IntelliJ IDEA
- Skills
- 仕様駆動開発
を並べてみると、実はバラバラの技術を試しているというより、
「2023年型のAI Assistantから、2026年型のAI Agent開発へ移行している」
と捉えるとかなり整理できます。
特に今後重要になるのは、**「どのAIが一番賢いか」より「AIにどう仕事を渡すか」**です。
例えば、
従来
人間
↓
設計
↓
実装
↓
テスト
↓
レビュー
Agent時代
人間
↓
仕様・制約を定義
↓
Agent
├─ 調査
├─ 設計
├─ 実装
├─ テスト
└─ 修正
↓
人間がレビュー
となる。
だから最近出てきているSkills、MCP、CLAUDE.md、AGENTS.md、仕様駆動開発、テスト、GitHub連携などは、全部この「AIに仕事を委任する」ための周辺技術として一本につながります。
あなたが「最近AIエージェントを使っているけど、いまいち使いこなせていない気がする」と感じていたのも、かなり自然です。2023年までの「AIに質問する」という使い方の延長では、2025~2026年のAgentは使いこなせないからです。 The JetBrains Blog
むしろ今は、**「AIツールを覚える段階」から「AIに仕事をさせるための開発環境を設計する段階」**に移っている、と考えると分かりやすいです。
質問2
なるほど。確かにそんな感じですな。
確か2025年の頭にjunieが出たので色々試した記憶があります。
その時に得た感覚としてはやれる範囲にまだ得意不得意みたいなのがあるとか、命令の仕方によって上振れ下振れするとか、同じ命令でも2回目は違う結果になってしまうとかだった。自腹だったので使い所を見極めながら恐る恐る使ってた記憶。そうこうしているうちに夏くらいに忙しくなってエージェント開発の知識を得る機会が減っていき、大分遅れを取ってしまっていることに気がついたのが今年の春くらい
その感覚はかなり正しいと思います。むしろ、2025年初頭にJunieを触っていたなら、当時のAgentの限界をかなり正確に体験していたと言えます。
特に、
得意不得意がある
命令の仕方で上振れ下振れする
同じ命令でも結果が変わる
自腹なので恐る恐る使う
この4つは、当時のAgentを使う上で非常に重要なポイントでした。
2025年初頭の感覚
当時はまだ、
「AIに仕事を任せれば速くなる」
というより、
「うまく仕事を渡せば、ものすごく速くなる。
でも渡し方を間違えると、ものすごく遠回りする」
という段階だったと思います。
例えばJunieに、
この機能を実装して
だけ投げると、
AI
↓
コードを調査
↓
「たぶんこうだろう」
↓
実装
↓
別のところを壊す
↓
テスト失敗
↓
修正
↓
さらに別のところを変更
みたいなことが起こり得る。
一方で、
このクラスを調査して、既存の実装パターンを3つ確認してください。
まず実装方針を説明してください。コード変更はまだしないでください。
とやると、かなり結果が変わる。
つまり当時は、
「AIの性能」+「人間の指示能力」
の掛け算だったわけです。
そして、ここが2025年以降に大きく変わったところ
今振り返ると、あなたが2025年春くらいまでに感じていた問題は、その後のAgent開発でかなり研究・改善されてきています。
例えば、
当時
人間
↓
プロンプトを書く
↓
Agent
↓
結果を見る
↓
「あれ、違う」
↓
プロンプトを書き直す
だったものが、
現在
仕様
↓
Agentのルール
↓
Skills
↓
ツール
↓
テスト
↓
Agent
↓
検証
↓
修正
という方向になっています。
要するに、
「プロンプトを上手に書く」だけではなくなった
というのが大きいです。
ここは、あなたが一度「2025年初頭」に戻って考えると分かりやすい
当時のあなたが感じた、
「同じ命令なのに結果が違う」
という現象。
これはAgentを使い始めた人がかなり早い段階でぶつかる問題です。
例えば、
「このAPIをSpring Bootで実装して」
だけでは、AIは、
- どのレイヤーに置くのか
- DTOの形式
- エラー処理
- トランザクション境界
- Repositoryの使い方
- ログ
- テスト
- 命名規則
などを勝手に判断する。
だから結果がブレる。
そこで現在は、
プロジェクトのルール
+
仕様
+
既存コード
+
Skills
+
テスト
+
ツール
をAgentに与えて、判断の自由度を意図的に減らす方向に進んでいます。
これは、以前あなたが質問していた仕様駆動開発とも非常に相性がいいです。
そして「遅れを取った」という感覚について
ここは少し違う見方をしたほうがいいです。
2025年夏から忙しくなって、AI Agent関連を追えなくなった。
そして2026年春くらいに、
「あれ?俺、結構遅れてない?」
と気づいた。
これはたぶん、思っているほど致命的な遅れではありません。
むしろあなたの場合、
2025年初頭にJunieを実際に触って「Agentのクセ」を体験している
ことが大きいです。
例えば、
「Agentって何?」
という人に、
AIがコード書いてくれるやつ
と説明するのと、
「ああ、Agentね。
前にJunie使ったけど、あれ勝手に色々触るから怖いんだよな」
と言える人では、スタート地点が全然違います。
後者はすでにAgentの本質的な問題を体験済みだからです。
今のあなたに必要なのは「AI Agentの歴史を全部追うこと」ではない
むしろ、
2025年初頭に自分が感じた疑問の答え合わせ
をするのが一番効率がいいと思います。
当時感じた、
「得意不得意がある」
→ Agentに適したタスク設計
「命令で結果が変わる」
→ 仕様・コンテキスト・ルール設計
「同じ命令でも結果が違う」
→ 確率的モデル+検証プロセス
「勝手に色々変更されるのが怖い」
→ Agentの権限・スコープ・Git・テスト
「使いどころが分からない」
→ タスク分解とAgentへの委譲設計
という感じです。
そして2026年現在は、さらに一歩進んで、
「Agentに何をさせるか」ではなく「開発工程のどこまでをAgentに任せるか」
を考える段階に来ています。
これは、以前あなたが話していたCopilot、Junie、Claude Code、MCP、Skills、IntelliJを全部一つの体系として理解するうえでもかなり重要な視点です。
個人的には、今からキャッチアップするなら「AI Agentの最新ニュースを追う」より、2025年初頭のJunieを使っていた頃の自分が抱えていた疑問を、現在のClaude Code/Junie/Skills/MCP/仕様駆動開発で一つずつ解消していくのが一番早いと思います。