目次
- 結論
- どれくらい🐤なのか
- なぜこの検証をしたのか
- 基本要件
- 生成結果
- 生成したAI Agentの動作確認
- まとめ
結論
🐤レベルでは自然言語で雑に作りたいAI Agentを言うだけでは、
そのまま業務で使える品質のAI Agentを自動生成することはできませんでした。
ただ、人が少し手直しすればすぐ動く開発標準に準拠したAI Agentであれば、自動生成はできました。
どれくらい🐤なのか
- 学士新卒2年目24歳(エンジニア歴は2カ月)
- クラウドエンジニア(🐤)
- AWS SAA SOA CLF AIF所持
なぜこの検証をしたのか
私は最近、AWSを中心としたクラウドアーキテクチャを検討するチームに配属されました。
業務上、AI Agentを開発している別チームと連携する機会があり、皆さんがA2Aや開発標準を理解するのに結構苦戦されているのを見て
(AI Agentを自然言語で作れるAI Agentがあったら面白いのでは?)
と前から思っていました。
冬休みが始まり暇だった時間が取れたので、試しに作ってみることにしました。
基本要件
今回はA2Aプロトコルを使った実際に社内の開発標準に合わせて自動生成させたかったため、プロンプトはかなり細かく設定しています。ここに記載しても大丈夫そうなものを一部抜粋して記載します。
長いので折りたたみ
基本要件(構成・アーキテクチャ)
- a2a-sdk を使用すること
- HTTP Server に準拠した **Python 製 A2A エージェント(サーバ)**を生成
- 生成するファイルは明示的に指定
- 例:
__main__.py、agent_executor.py
- 例:
実装・仕様要件(コードの中身)
※ あくまで今回の検証用の制約です。
起動・基本構成
- サーバ起動は
uvicorn + A2AStarletteApplicationを使用 - ポートは 9999 固定
- streaming は使用しない(単発応答のみ)
A2Aコンポーネント構成
-
AgentCard/AgentCapabilities/AgentSkillを正しく設定 -
RequestHandlerはDefaultRequestHandler -
TaskStoreはInMemoryTaskStore
通信仕様
- 起動後、
GET /.well-known/agent-card.jsonが 200 で返ること - JSON-RPC で
POST /にmethod=message/sendを投げると応答が返ること
コード生成ルール
-
agent_executor.pyは 指定した import とクラスシグネチャのみ使用 -
executeメソッドの形式を明示的に指定 - 余計な説明文は出力しない
- コードとファイル内容のみ出力
-
__main__.pyの処理手順を細かく指定
クラス設計ルール
-
agent_executor.pyには Executor クラスを1つだけ定義 - クラス名は必ず具体名にする
- 例:
IrohaNoUtaExecutor(※サンプル)
- 例:
-
__main__.pyでは、そのクラスを import して使用 -
YourAgentExecutorなどの抽象名・仮名は禁止
細かめに指定しておかないと作る物がバラバラになり安定性に欠けてしていました。
なお、プロンプトは Markdown で記述していましたが、自分が要件を上手く纏めれず、
要件整理が甘く、結果として冗長になってしまいました。
今回上手くいかなかった原因の一つだと思っています。
少しややこしいので、以降は以下の呼び方で統一します。
- 僕が作ったAI Agent:エージェント
- エージェントが生成する成果物:AI Agent
生成結果
上記要件をすべてプロンプトに含め、エージェントを実行してみます。
構成は以下の通りです。
- モデル:Claude 4.5 Sonnet(モデルの賢さにかなり助けられました)
① エージェントを起動
まず __main__.py を実行し、A2Aサーバーを起動します。
② AI Agentの生成を依頼
test_agent.py から、
「どんなAI Agentを作ってほしいか」を自然言語で指示します。
今回は雑に、
「いろは歌を歌うA2Aエージェントを作って」
と依頼しました。
③ AI Agentの生成完了
test_agent.py を実行すると、A2Aサーバーにアクセスし、
エージェントがAI Agentを生成してくれます。
今回は非常にシンプルなAI Agentなので、30秒程度で生成完了しました。
制約をかなり入れているため、要件を減らせばもう少し高速化できそうです。
生成後は、期限付きURLが返却され、
中身は Zip形式でまとめられたAI Agent になっています。
ZipファイルはS3バケット内に保存されています。
生成したAI Agentの動作確認
最後に、エージェントが作成したAI Agentが正しく動くかを確認します。
- 生成された
main.pyでサーバーを起動 -
test_agent.pyからリクエストを送信
結果としては、エラーが発生しました。
エラー内容は「必須パラメータが不足している」というもので、
🐤エンジニアでも数秒で修正できるレベルだったため、そこだけ手動で修正しました。
修正後
問題箇所を修正すると、正常に動作するようになりました。
まとめ
何度かプロンプトを変えて試しましたが、
🐤レベルではAI Agentの完全自動生成は現時点では難しいという結論になりました。
ただし、
- A2Aプロトコル周りの初期実装
- 定型的で面倒なボイラープレートコード
- 開発標準に沿った開発
を自動で正解一歩手前くらいまで作ってくれるのでそこはいいなと思いました。
開発標準をA2Aに設定した時、AI Agent開発をしているエンジニアは
A2Aプロトコルの扱いや開発標準に少し苦戦している様子が見られました。
そこを自動化できるのであれば、
人が考えるべき部分に集中できる環境作りとしては使える?レベルかな感じました。







