ソフトウェアは遍在しており、私たちの生活のほぼあらゆる側面を支えている。自動車のコンピュータ化されたシステムだけでも、数千万行のコードが組み込まれている。社会のデジタル変革が進むにつれて、より多くのより良いソフトウェアへの需要は今後も続くと思われる。
ジレンマは、このすべてのソフトウェアを構築するための人間のプログラマーが十分にいないことである。これは、日常的に使用するソフトウェアの多くが、人工知能(AI)の支援を受けて構築されていることを意味する。
ソフトウェア開発者はすでに、プログラマー向けのChatGPTのようなGitHub Copilotなどのツールに非常に精通している。これは、人間のプログラマーの生産性を向上させるためのスマートな自動補完ツールのように機能する。
しかし、私たちは今、AIの「エージェント」が人間のプログラマーに代わって多くのタイプの開発タスクを実行しようとしている、より根本的な革命を目の当たりにしている。エージェントは、AIを使用してタスクを実行し、人間のユーザーのために特定の目標を達成するプログラムである。AIエージェントは学習し、ある程度の自律性を持って決定を下すことができるが、依然として人間の監督下にある – 今のところは。
私たちは、近い将来、多くのソフトウェアアプリケーションがAIエージェントによって完全に構築されると予測している。「エージェント型」システムは、AIエージェントのコミュニティが協力し合い、各エージェントが特定のタイプのタスクを解決することに特化している。エージェント型システムを用いると、アプリケーションに何をさせたいかを平易な英語で説明するだけで、ソフトウェアアプリケーションを生成することができる。
これには潜在的なプラスの影響がある。エージェント型システムは、ソフトウェアプログラミングのスキルを持たないユーザーが、自分のニーズに合わせてソフトウェアを構築または適応させることを可能にする。潜在的な負の結果もある。エージェントは完璧からほど遠く、攻撃に対して脆弱なコード、効率的でないコード、または特定のコミュニティに対して偏見のあるコードを簡単に生成する可能性がある。
例えば、採用ソフトウェアを構築するエージェントは、ソフトウェアのトレーニングまたは改善に使用されるデータの偏りにより、女性よりも男性の候補者を優先する可能性がある。したがって、EUのAI法などのAI規制が要求するように、そのようなリスクを最小限に抑えるためのメカニズムを導入する必要がある。
研究者はまず、あらゆるエージェントの中核にあるLLM(大規模言語モデル)を集中的にテストすることでこの課題に取り組んでいる。LLMは、膨大な量のデータでトレーニングされたAIシステムである。エージェントは、ユーザーのリクエストに対する最良の応答を予測し生成するために、内部のLLMに依存している。
精度、セキュリティの脆弱性、偏見などの懸念に対して主要なすべてのLLMを評価することで、ソフトウェア開発者はAIエージェントに最適なLLMを選択することができる。これはエージェントが関与する特定のタスクによって異なる。

これにより、エージェントにある程度の倫理的行動が確保される。しかし、彼らが私たちの指示を理解し従っていることをどのように確認できるだろうか?私たちの解決策は、構築されるソフトウェアの設計図(デザイン)から始めることである。
大まかに言えば、建築家でなくても家の設計図を理解することは可能である。同様に、ソフトウェアの設計図を可能な限り理解しやすくすれば、高度なソフトウェア開発スキルを持たないユーザーでも概念とその変更方法を把握できるはずである。
ユーザーの最初の説明から、AIエージェントは潜在的な解決策の詳細な設計図を提案し、平易な英語でユーザーに説明する。ユーザーはそれを検証するか、改善を要求することができる。最終的な検証の後にのみ、設計図からソフトウェアアプリケーションが自動的に生成される。
このようなソフトウェア構築方法は、ローコードまたはノーコード開発として知られており、コード(一部のアプリケーションではすべて)のほとんどは、人間がゼロから手書きするのではなく、設計図からコンピュータによって生成される。私たちのオープンソースのBESSERプラットフォームは、このような方法でアプリケーションを構築するのに役立つ。
SF作家のArthur C Clarkeが一度観察したように、「十分に進んだ技術は魔法と区別がつかない」。そしてすぐに、この魔法は私たちの日常生活の一部となるだろう。ただ、魔法が改善ではなく混乱を引き起こす可能性のある魔術に変わらないように注意する必要がある。
私たちと多くの他の研究者は、AIエージェントの行動にガードレール(潜在的な害を防ぐためのメカニズム)を設置して、それらを制御下に置くために取り組んでいる。これは、すべての市民が能力のある開発者に変わり、企業や生活の他の側面に理想的なソフトウェアソリューションを自律的に構築する力を持つよう支援するだろう。