【要約】Microsoftの新機能CodeActは、ツールを1個ずつ呼ばせない [Zenn_Python] | Summary by TechDistill
> Source: Zenn_Python
Execute Primary Source
// Problem
従来のAIエージェント開発者は、ツール呼び出しのたびに発生する推論の往復に直面していた。モデルが1ステップごとに判断を行うため、以下の問題が発生する。
- ・モデルがJSONでツールを1つ出力し、実行結果を待ってから次の推論を行うループが発生する。
- ・ツール呼び出しの回数が、そのままシステム全体の遅延に直結する。
- ・中間結果を毎回コンテキストに戻すため、トークン消費量が膨大になる。
// Approach
Microsoftは、オーケストレーションの主導権をモデルの逐次判断から、コードの制御構文へ移す手法を採用した。具体的には以下のステップで実行される。
- ・モデルに「やりたいことを1本のPythonプログラムとして書け」と指示する。
- ・モデルは
execute_codeツールを使い、コード内でcall_toolを呼び出す。 - ・生成されたコードは、Rust製のマイクロVM「Hyperlight」内で隔離・実行される。
- ・Hyperlightは1〜2ミリ秒で起動するため、実行のオーバーヘッドを最小化できる。
// Result
CodeActの導入により、ツール呼び出しの連鎖が発生するワークロードで劇的な改善が確認された。典型的なデータルックアップのタスクにおいて、以下の成果が得られている。
- ・所要時間を52.4%短縮(27.81秒から13.23秒へ)。
- ・トークン消費量を63.9%削減(6,890から2,489へ)。
- ・モデルの品質に依存せず、制御フローの最適化のみで性能を向上させた。
Senior Engineer Insight
> モデルの知能向上ではなく、制御フローの最適化で性能を上げた点が極めて実践的だ。ツール定義の厳密さが求められるため、開発者には精緻な型設計のスキルが必要となる。大規模なワークフローではコストと速度の両面で強力な武器になるが、単純なタスクには不向きだ。実戦投入時は、タスクの複雑さに応じた使い分けが鍵となる。