Відстежуйте кроки агента, контролюйте дії
Ви створюєте помічника smolagents для баскетбольного тренера, якому потрібна допомога з аналізом PDF-звітів із статистикою гравців, скаутськими інсайтами та ігровими стратегіями.
Тренер покладається на агента, щоб отримувати відповіді на запитання на кшталт: «Які захисні стратегії нам варто застосовувати проти їхньої другої п'ятірки?»
Але тренер хоче не лише відповіді — йому потрібна видимість того, що агент робить „за лаштунками".
У цій вправі ви напишете зворотний виклик дії, що запускатиметься щоразу, коли агент робить крок, наприклад викликає інструмент або використовує модель. Цей зворотний виклик буде:
- Показувати кількість кроків,
- А якщо агент завершив роботу — відображати, скільки токенів було використано.
Це допоможе тренеру (і вам!) стежити за тим, як просувається агент і скільки роботи він виконує, щоб дійти висновку.
Ця вправа є частиною курсу
AI-агенти з Hugging Face smolagents
Інструкції до вправи
- Доповніть сигнатуру функції, додавши параметр
agent_step. - Перевірте, чи поточний крок дав остаточну відповідь, використавши атрибут
agent_step.is_final_answer. - Якщо це остаточна відповідь, отримайте загальну кількість токенів із
total_tokensі виведіть її за допомогоюprint.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
# 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: {____}")