AIエージェント
ChatGPTに始まるいわゆるAIの発展が衆目の前にあらわになってもはや久しい。 そして今、AIエージェントが来ているという。
さて、ChatGPTのようなLLM、あるいは他のAIに関しても、基本的には「人間が何かを依頼」→「AIが結果を出力」という形態をとっている。
AIエージェントはこれと少し違う。一度AIエージェントに対して目的を設定したら、それを達成するように自律的に行動をし続けて、目的が達成できたと思ったら停止する、あるいはずっと動き続けるといったものがAIエージェントの特性と思われる。
AIエージェントの利用シーンが具体的になってきている物の一つは、エンジニアのタスクを達成してくれるAIエージェントだ。ジュニアエンジニアに依頼するような簡単な仕事はこなせるようになっているとかなんとか。今後もっと洗練されてより難しいタスクもこなせるようになるのだろう。
ここについて思うことは、達成タスクの難易度も大事なことなのだが、ソフトウェアプロジェクトでよく観測される「人を増やしても遅れを取り戻すことができない」という法則についてだ。
より人手を増やせば早く終わらせられるのではないか、と一瞬思うが、実際には人を増やせば増やすほどコミュニケーション時間が爆発的に増えてしまい、工数の投下量に対して純粋な作業時間が確保されないというのが経験則らしい。
では、これがAIエージェントにどう関係するかというと、AIエージェントは並列に立ち上げるなどでガンガン追加しても適切にタスクが設定できていれば、人間を追加した時と違い、リニアに効果が発揮されていくのではないか?ということだ。
これが真だとすると、「AIエージェントの能力は人間と比べて〜だ」というようなクオリティの議論とは別の軸で、AIエージェントは人間より良いという評価がされてくるのではないだろうか。
これについては、おそらくAIがソースコードをはじめとしたデータを高速にリーディングできるみたいなところがキモであって、だからこそAIに理解しやすいデータや資料を揃えておけているかどうかが、今後のソフトウェアプロジェクトの健全性を測る指標になるのかもしれない。逆の言い方をすると、AIエージェントReadyじゃないということが「技術的負債」の一種になっていくのかもしれない。
適当な目測ではあるが、ここら辺は経験や統計データが増えていけば明らかになっていくと思う。もしかしたら、1人の管理者と数百のAIエージェントで作った大規模ソフトウェアとか、運営されているWebサービスとか、そういうものも生まれてくるかもしれない。