1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Junieがやばすぎる ~AI Agentの現在と未来~

Last updated at Posted at 2025-06-30

はじめに

ここ最近、AI Agentサービスが続々登場している。
JetBrains社のJunieを早速使ってみたのだが、あまりにも精度の高いコードを生成してくる。生成されたコードに驚きつつも、一方で、「まだこんなもんか」という気持ちもあった。なぜなら、まだ人間による介入が必要だったからである。

しかし、ここで疑問が生まれる。「私たちはどのくらいAI Agentを使えているのか」。
そこで、いつくかの事例や書籍を調べてみたところ、たいしてAI Agentのパフォーマンスを引き出せていないことがわかった。

その、AI Agentのパフォーマンスを引き出せていない理由と、改善方法を書いていく。

AI Agentのパフォーマンスを引き出せていない理由

具体的な指示を出してしまう。

はじめてJunieを触ったとき、具体的な指示を自分で作った後に、それをJunieに渡していた。
しかし、この方法ではAI Agentのパフォーマンスを最大限に引き出すことはできない。なぜならば、人間が作った具体的な指示のクオリティは低いからである。

なぜこのようなことがいえるのか、実は単純である。
とあるコードベースがあったとき、人間が1分間に読める文字数はたかが知れている。もし、そのコードベースについて、多少の知識があったとしても、どれだけ正確にコードベースの暗記ができているか怪しいものだし、結局、実際のコードを見にいって確認することになるだろう。
一方、AI Agentではどうなるか。すべてのコードベースを検索し、対応するコードを短時間で示してくれる。
つまり、「文字を読む」という能力に関して、人間をはるかにしのいでいる、といえる。

では、「文字を書く」という能力に関してはどうだろうか。
AIは、要約が得意である。その一方で、人間は苦手といってよいだろう。情報の抜け落ちた議事録を提出して怒られるのはこのためである。

つまり、人間は、「文字を読む」「文字を書く」という能力において、AIに大きく負けている、といえる。

「文字を読む」「文字を書く」という能力の低い人間が作り出した「具体的な指示」はどれくらい信用できるだろうか。個人的には、信用に足らない、と考える。

解決策

では、どのようにしてこの問題に対応すればよいか。
具体的な指示は、AIに作成させればよいのである。これはつまり、人間の出す指示は抽象的でなければならない、という意味である。

この問題は、次の書籍で言及されている。

情報が足らない

AI Agentの生成したコードに満足できないことは多いのではないだろうか。「AI Agentにコードを生成させてレビューしてみたら全然ダメ。仕方ないから自分でコードを書いたよ。早く技術が発展してくれないかな。」このような声は、SNS上でいくらでも見つけられる。
さて、前述したように、AIは「文字を読む」「文字を書く」という能力において、人間よりも優れている。では、なぜ、優秀なAIの生成するコードは全然ダメなのか。
これは、AIに情報を渡していない、人間の問題である。

ここでいう情報とは、プロダクトコード、テストコード、設計ドキュメント、コーディング規則、チームの方針、会議での決定事項、Slackでのやりとり、などが当てはまる。
AI Agentは、コードベースから情報を読み取り、それを利用して出力を行う。では、コードベースに上記のような情報はどれだけ保存されているだろうか。チームによってさまざまではあると思うが、会議での決定事項やSlackでのやりとりをコードベースに保存している人はかなり少ないのではないだろうか。

このように、人間が使える情報と、AI Agentが使える情報にはギャップがある。このギャップのせいで、人間から見ると、質の低いコードが生成されるのである。

どんなに優秀でも、情報がなければお手上げなのである。

解決策

この問題にはどのように対応すればよいか。
単に、情報をコードベースに保存すればよい。
複数のツール(Slack、Zoom、Notion、Backlog、GitHubなど)を使って開発することは一般的ではあるが、情報があらゆるところに散っていることになり、このような場合、AI Agentは検索することができない。
関係のありそうな情報は、とりあえずコードベースに保存することをおすすめする。

ここまでのまとめ

人間はAIと比べ、「文字を読む」「文字を書く」という能力は低いが、「情報を入手する」という能力は高い、といえる。
また、AI Agentのパフォーマンスを高めるには、「AIに抽象的な指示を出す」「情報を渡す」ことが重要だということがわかった。これを合わせると、「AIのパフォーマンスを最大化するには、AIに具体的な情報を提供し、抽象的な指示を出す」といえる。

これは、逆もしかりである。「AIのパフォーマンスを最小化するには、AIに情報を提供せず、具体的な指示を出す」ともいえる。

AI Agentを使いこなす

「具体的な情報を提供し、抽象的な指示を出す」。これを達成するにはどうしたらよいか。
実は、そこまで大変ではない。まず、会議体での情報をAIを使って要約し、保存する。それを元に、どのようなことが考えられるか、AI Agentに提案してもらうのである。

既存の情報が足らない場合も、およそ同様である。現存する、コードベースに保存されていない情報をAIを使って要約し、保存する。かつ、設計ドキュメントやテストコードが足らない場合は、AI Agentに指示をすれば作成してくれる。

このように、AIのパフォーマンスを引き出すためには、AIを使いこなす必要がある。

AIによるソフトウェア開発のフロー

さて、次は開発フローについて考える。AIの能力は非常に高く、これを有効活用できるように開発フローを変更していくことが、私たちには求められている。
では、どのような開発フローがよいのか、例を挙げる。

  1. 会議を行う
  2. 会議で得た情報を要約し、保存する
  3. その情報を元に、何ができるのか、AIに提案してもらう
  4. その提案を元に、AIに実装してもらう
  5. 人間がテスト・承認を行う
  6. 本番にリリースする
  7. 問題が検出された場合、ロールバックする

どのくらい現実的なのか考えてみたいが、これを行うための、技術的な解決策は既に用意されている。(AWSなどのクラウドサービスを参照してほしい。)

ここで問題になるのが、テストと承認を人間が行っていることである。先ほど、人間の「文字を読む」「文字を書く」能力は低く、信用に足らない、と述べた。では、ここで人間を信用できる理由はなんであろうか。ここで私は、人間がテスト・承認を行わないことを提案する。
もし、問題が発生したとすれば、入力された情報が誤っているということであり、それは人間の問題なのである。

現実的に言えば、カナリアリリースと、素早くロールバックする仕組みがあれば実現可能である。

AIはどれくらい信用できるのか

上記の開発フローを導入しようとした際に考えられる反論は、「AIはどれくらい信用できるのか」ということである。
これについては、あらかじめ反論しておく。AIを信用するかどうかは人間の問題であり、AIのパフォーマンスを最大限引き出すためには、AIを信用するしかない。

AIを信用することができないのであれば、AIのパフォーマンスを引き出せないが、それは各人が選択すればよいと考える。なぜならば、各人が自ら選択し、成長することは、まさに幸福の追求であり、それを私は尊重するからである。

おわりに

AIのパフォーマンスを最大限活用するための方法の提案を行った。
実は、技術的な問題はほとんど解決されており、残るは、人間側の問題であることがわかった。

AIの将来についても少し触れておきたい。
近年の成長速度を鑑みると、自立型AI Agentが出てくる日も近いだろう。「どれだけAIを邪魔しないか」がソフトウェア開発の中心的な考え方になることを、私たちは覚悟しなければならない。

参考文献

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?