エージェントのステップを追跡してアクションを監視する
バスケットボールのコーチを支援する smolagents アシスタントを構築しています。このアシスタントは、選手の統計データ、スカウティング情報、試合戦略などを含む PDF レポートの分析に活用されます。
コーチは「相手の第2ユニットに対してどのような守備戦略を取るべきか?」といった質問への回答をエージェントに求めています。
ただし、コーチが必要としているのは回答だけではありません。エージェントが裏側でどのような処理をしているか、その動作も把握したいと考えています。
この演習では、ツールの呼び出しやモデルの利用など、エージェントがステップを実行するたびに動作するアクションコールバックを実装します。このコールバックは以下の情報を表示します。
- ステップ数、
- エージェントが処理を完了した場合は、使用されたトークン数。
これにより、コーチ(そしてあなた自身も)がエージェントの進捗状況と、結論に至るまでの処理量を把握できるようになります。
この演習はコースの一部です
Hugging Face smolagents で学ぶ AI エージェント
演習の手順
agent_stepパラメータを追加して、関数のシグネチャを完成させてください。agent_stepの.is_final_answer属性を使って、現在のステップが最終回答を生成したかどうかを確認してください。- 最終回答であれば、
total_tokensからトークンの合計数を取得して出力してください。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# Define an action callback that accepts the agent step and the agent
def action_callback(____, agent):
step_num = agent_step.step_number
print(f"Step {step_num}: Analyzing basketball data!")
# Check if the agent step includes token usage
if agent_step.____:
total_tokens = agent_step.token_usage.total_tokens
# Print how many tokens were used
print(f"Analysis complete! Total tokens used: {____}")