概要
前回はSpringのA2Aのサンプルコードを無償で使用できる「さくらのAI Engine」に接続して、動作を確かめた。
A2Aの動作の理解を深めるために生成AIのリクエストとレスポンスを観察するための設定を紹介する。
Advisor
これらの参考情報によると、以下を行えば、生成AIのリクエストとレスポンスのログを観察できるようになる
- ChatClientにAdvisor追加
- ログレベル変更
ソースコードの変更
ChatClientにAdvisor追加
ChatClient に .defaultAdvisors(new SimpleLoggerAdvisor()) を追加する
以下は HostApplication.java の例
return chatClientBuilder.defaultSystem(systemPrompt).defaultAdvisors(new SimpleLoggerAdvisor()).defaultTools(remoteAgentConnections).build();
以下は WeatherAgentApplication.java の例
ChatClient chatClient = chatClientBuilder.clone()
.defaultSystem(WEATHER_SYSTEM_INSTRUCTION)
.defaultAdvisors(new SimpleLoggerAdvisor())
.defaultTools(weatherTools)
.build();
ログレベル変更
application.propertiesに
logging.level.org.springframework.ai.chat.client.advisor の設定を追加する
logging.level.org.springframework.ai.chat.client.advisor=DEBUG
動作確認
以下がリクエストの例
systemやuserプロンプトがわかる

以下がレスポンスの例
getTemperature ツールが実行されている

Advisorのカスタマイズ
Advisorは出力内容をカスタマイズできる。
デバッグでどんな情報を含んでいるか確かめてから必要な情報を出力するようにしたほうがいい。
以下の画像では、sendMessage(A2A通信を行うツール)が登録されていることがわかる。

