Multi AI Agent プログラミング

【 Multi AI Agent プログラミング 】

このセッションでは、AI Agent プログラミングの基本を、あらためて確認したいと思います。これまでの展開とは、少し切り口とトーンが変わっています。

ここでは、AI Agent を用いた実装が、どういう意味で「新しい」のかという、もっとも基本的なポイントを概説しています。

【 現在の技術的焦点 】

AI Agent プログラミングの発展が向いている先が、ソフトウェア開発ライフサイクル(SDLC)の自動化であることは、前回のセッションで見たようにSDLCの「部品」に当たるものの開発が急ピッチで進んでいることからもわかると思います。

ただ、「部品」ではなく、SDLCのそのもののAI エージェント化のコードをずっと探していたのですが、なかなか見つかりません。

そのことは、現時点でのAI Agent プログラミングの技術的焦点が、SDLCそのもののAI Agentかを進めるためにも、ネットワーク上に存在する複数の AI Agent をどのように協調させて、一つの統合されたサービスを作るのかにあることを意味していると思います。

部品から全体を構成する方法を明確にすることが必要なのです。その課題に、当面、フォーカスしようと思います。

【 具体的なプログラムから考えよう 】

セミナーのタイトルに掲げたテーマ「ソフトウェア開発サイクルの変革 」からは、回り道になりますが、今後のいくつかのセッションで、複数の AI Agentを利用する Multi AI Agentプログラミングの基本を確認したいと思います。

切り口を変えたついでに、しばらくの間、技術を紹介するスタイルも変えてみようと思っています。具体的なプログラムのサンプルから、Multi AI Agentプログラミングの基本を確認するスタイルを取ってみようと思います。

例えば、Multi AI Agent の協調と統合を支える基本的なプロトコルは、A2A(Agent-to-Agent)、MCP(Model Context Protocol)なのですが、これらのプロトコルを形式的に説明する前に、こうした技術を必要としたプログラムのサンプルを説明したいと思います。

A2A,MCPのキチンとした説明は、後のセッションで行います。

【 具体的なコードから気づいたこと 】

いくつかの 具体的なdemoコードを見ているうちに、二つのことに気づきました。

最初に気づいたのは、「これって、ソフトウェアのデザインは、アレと同じじゃない?」ということでした。

「アレ」というのは、J2EEの当時の代表的なデモだった、”Java Pet Store” でした。

もう一つ、気づいたことは、デザインの類似にも関わらず、大きな違いもあるということです。それがあるテキストの存在です。

【 似ている理由と本当は大きな違い 】

四半世紀前のJ2EEのデモと現在のAI Agent のデモが、ソフトウェアとしてのパターンとしてはよく似ていることがあるのは、お気づきだと思いますが、両者ともにエンタープライズ向けのアプリのデザイン・パターンを踏襲しているからです。

問題は、両者の違いをどう考えるかということです。もちろん実装は違っています。例えば、Pet StoreのWeb層の実装では、J2EE以降、WSDLを使った「Webサービス」や、もっと軽量のRESTによる実装が登場しています。

ただ、AI Agentの導入による実装の変化は、こうしたこれまでの実装の変化とも全く異なる質のものだと僕は考えています。

【 このテキストの正体 】

先に示したものは、プログラムに見えないと思います。プログラム言語ではなく、自然言語で書かれていますから。

このテキストの存在が AI Agent を利用した「実装」が、それまでののさまざまなスタイルの「実装」とは大きく異なるところです。

どんなAI Agent も、内部に LLMを抱えています。AI Agentの振る舞いは、基本的にはそのLLMの振る舞いによって規定されます。

このテキストは、そのLLMに対する指示書なのです。

日本語に訳してみました。

===============
あなたの役割は、旅行者の要望を慎重に分析し、問い合わせの詳細に応じて適切な担当者に転送することです。

お金の金額、為替レート、通貨換算、為替関連手数料、金融取引、または支払い方法に関する問い合わせはすべて、CurrencyExchangeAgent に転送してください。
 
活動の計画、観光のおすすめ、食事の提案、イベント予約、旅程の作成、または金銭的な取引を明示的に伴わない旅行の体験的側面に関するリクエストは、ActivityPlannerAgent に転送してください。

あなたの主な目標は、旅行者に正確かつ専門的な支援を迅速に提供するために、正確かつ効率的な業務分担を行うことです。
===============

【 AI Agentの「自律性」 】

Agent の特徴の一つは、その「自律性」にあると言われます。それは、人間があれこれ口を出さなくとも、機械自身が自分の判断で行動することができるということです。

AI Agent は、AIの力を借りて、人間が具体的指示をプログラムの形で与えなくても、人間の意図するところを理解して、行動をおこします。

このAI Agentの「自律性」は、プログラム開発の大幅な単純化をもたらします。ただし、AIに対する人間の指示は不可欠です。それが先に見たテキストの役割です。

もっとも、先のような指示を与えれば、AIがすべて実行してくれるわけではありません。

先のテキストは、別のAI Agentに仕事を転送することを指示しているのですが、これらが、全体として一つの統合されたサービスとして機能するためには、やはり、プログラムのコードが必要になります。

次のセッションで、その具体的なプログラムを見ていきたいと思います。

−−−−-−−−-−−−−-−−−−−−−−-

blog page

https://maruyama097.blogspot.com/2025/05/multi-ai-agent.html

マルレク「ソフトウェア開発サイクルの変革と AI Agent の動向 」まとめページ 
https://www.marulabo.net/docs/sdlc/

マルレク「ソフトウェア開発サイクルの変革と AI Agent の動向 」のショートムービーの再生リスト
https://www.youtube.com/playlist?list=PLQIrJ0f9gMcNu1_67bfQT4URZLzb1k9Wh

ショートムービー「 Multi AI Agent プログラミング 」のpdf
https://drive.google.com/file/d/1dpfHEMerdCYHuZJzZwPhw_llZHQONxF7/view?usp=sharing

ショートムービー「 Multi AI Agent プログラミング 」
https://youtu.be/2zksnsqoaKg?list=PLQIrJ0f9gMcNu1_67bfQT4URZLzb1k9Wh

コメント

このブログの人気の投稿

初めにことばありき

密度行列とは何か?

宇宙の終わりと黒色矮星