🙌

ChatGPT上でGPT-4.5のツール呼び出し能力を検証してみる

2025/02/28に公開

きっかけと内容

  • 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回繰り返し、感染者数と経済的損失のバランスを最適化せよ。

評価ポイント(全課題共通)

継続的に状況を再評価・再判断する動的な意思決定能力

単一のコード生成だけでは解決できない連続的な改善プロセス

シミュレーション結果の深い分析と戦略的な対応能力

結果

これを動かした結果は以下
(課題自体の妥当性の議論より、ツールを複数回呼んで反省しているプロセスを確認して欲しい)
https://chatgpt.com/share/67c13abc-e7b4-800e-84a0-effdaec84f54

何度もツールを呼んでいるのが窺える

GPT-4oやo3-miniだと一撃で解こうとする

4o
https://chatgpt.com/share/67c13aee-93b4-800e-876c-1e8e470846a7

o3-mini-high
https://chatgpt.com/share/67c13afb-4f94-800e-a17e-ea85b9b5770b

Claude3.7Sonnetでも同様の検証をしてみたところ
都度コードがフルで吐かれてちょっと面倒だったので挫折(効率悪い?JSが悪い?)
https://claude.ai/share/f8793523-1bf3-4b0c-b882-f8d19a7c7bc7

Discussion