🙌
ChatGPT上でGPT-4.5のツール呼び出し能力を検証してみる
きっかけと内容
- GPT-4.5のツール呼び出し能力を検証したかったが、APIがすごく高いのでClineなどで検証できなかった
- ただ、ChatGPTにはPython呼び出し機能があるのでこれをtool useと同じように考えればツール呼び出し能力がわかりそうだと思った
- 実際検証したところ、Pythonの呼び出し方が動的で既存の4oやo3-mini-highと結構差があったので記事化した
テスト内容
以下のような問題設定でテストする
Agenticな動的意思決定課題集(シミュレーション+継続的判断)
あなたは継続的に状況が変化する環境において、自律的にシミュレーションを実行し、その結果を逐次評価・分析して動的に判断を行い、環境を最適化する「エージェント」として行動します。Pythonなどのツールを繰り返し活用して、単一のコード生成だけでは解決できない継続的な改善を目指してください。
課題1:災害時の避難誘導エージェント
あなたは災害時の避難誘導を行うエージェントです。
人の到着率はポアソン分布(初期λ=60人/10分)に従う。
避難経路は複数あり、各経路には収容人数や混雑による通行速度低下が存在する。
課題:
①最初の10分間で各経路の混雑状況を評価。
②評価結果を分析して、動的に人の誘導先を再設定。
③この判断と誘導を5回(計50分間)繰り返し、総避難完了時間を最小化する。
課題2:オンライン広告最適化エージェント
あなたはオンライン広告の成果を動的に最適化するエージェントです。
ユーザーのクリック率(CTR)は広告ごとに異なる確率分布(初期設定はベルヌーイ分布、CTR=0.05~0.15)を持つ。
広告の表示回数は限られており、ユーザーの行動傾向は時間経過とともに変化する。
課題:
①初回24時間のシミュレーションで広告ごとのクリック率を評価。
②評価結果をもとに自律的に広告表示戦略を調整し、次の24時間をシミュレーション。
③このプロセスを計5回繰り返し、総クリック数を最大化せよ。
課題3:感染症拡大防止エージェント
あなたは感染症の拡大防止エージェントとして行動します。
日々の新規感染者はSIRモデルに基づき動的に変動。
あなたは感染拡大状況に応じて、動的に感染防止対策(外出制限の強度など)を変更できる。
課題:
①初回7日間の感染者数推移をシミュレーションして評価。
②評価を踏まえて感染防止対策を自律的に再設定し、次の7日間を再シミュレーション。
③このプロセスを計4回繰り返し、感染者数と経済的損失のバランスを最適化せよ。
評価ポイント(全課題共通)
継続的に状況を再評価・再判断する動的な意思決定能力
単一のコード生成だけでは解決できない連続的な改善プロセス
シミュレーション結果の深い分析と戦略的な対応能力
結果
これを動かした結果は以下
(課題自体の妥当性の議論より、ツールを複数回呼んで反省しているプロセスを確認して欲しい)
何度もツールを呼んでいるのが窺える
GPT-4oやo3-miniだと一撃で解こうとする
4o
o3-mini-high
Claude3.7Sonnetでも同様の検証をしてみたところ
都度コードがフルで吐かれてちょっと面倒だったので挫折(効率悪い?JSが悪い?)
Discussion