開始使用免費開始

追蹤代理步驟,監控執行狀況

你正在為一位籃球教練打造一個 smolagents 助理,協助分析包含球員數據、球探觀察與比賽策略的 PDF 報告。

這位教練會請代理回答像是:「我們對上他們的第二陣容時,該採用哪些防守策略?」

不過,教練不只要答案——他也想看見代理在幕後做了哪些事。

在這個練習中,你將撰寫一個動作 callback,在代理每次採取一步行動時執行,例如呼叫工具或使用模型。這個 callback 會:

  • 顯示目前的步數,
  • 若代理已完成,則顯示使用了多少權杖(tokens)。

這能幫助教練(也包括你!)監控代理的進度,以及它為了得出結論所做的工作量。

本練習屬於課程

使用 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: {____}")
編輯並執行程式碼