KDnuggets→ оригинал

Hugging Face showed how to build a weather AI agent on smolagents in 15 minutes

Hugging Face simplified entry into the world of AI agents: with the smolagents library, you can build a weather assistant in about 40 lines of Python without a

Hugging Face showed how to build a weather AI agent on smolagents in 15 minutes
Источник: KDnuggets. Коллаж: Hamidun News.

smolagents от Hugging Face показывает, что первый полезный AI-агент можно собрать без тяжёлых фреймворков и сотен строк кода. В разборе автор строит погодного помощника на Python, который сам решает, какие инструменты вызвать, получает данные из интернета и возвращает готовый ответ.

Чем отличается smolagents

Главная идея здесь не в погоде, а в подходе. smolagents — это библиотека для так называемых code agents, где модель не просто выбирает инструмент из списка, а пишет маленькие фрагменты Python-кода, чтобы связать шаги между собой. Вместо JSON-схем и длинных оркестраторов агенту дают цель вроде «узнай погоду в Лондоне», а дальше он сам решает, какой tool вызвать, в каком порядке и как собрать финальный ответ.

Такой формат делает поведение агента понятнее и гибче. Код лучше выражает циклы, условия и преобразование данных, чем текстовые подсказки с жёсткими правилами. Для новичков это ещё и удобный вход: библиотека открытая, лёгкая и не заставляет поднимать сложную инфраструктуру.

Поэтому smolagents выглядит не как ещё один экспериментальный слой поверх LLM, а как практичный способ быстро понять механику автономных AI-сценариев.

Как собрать агента В демонстрации всё начинается с очень базовой

подготовки: создать папку проекта, поднять виртуальное окружение и установить всего три пакета — `smolagents`, `requests` и `python-dotenv`. Токен Hugging Face предлагается хранить в переменной окружения `HF_TOKEN`, а тем, кто не хочет ничего ставить локально, подойдёт Google Colab. Уже на этом этапе видно главный тезис материала: для первого агента не нужен большой стек, достаточно Python, доступа к модели и одной внешней функции. * `@tool` превращает обычную функцию Python в инструмент, который агент умеет вызывать сам.

  • Функция `get_weather(city: str)` идёт в сервис `wttr.in` и возвращает краткий прогноз для нужного города.
  • В качестве модели используется `InferenceClientModel` с `Qwen/Qwen2.5-Coder-32B-Instruct` и токеном из `HF_TOKEN`.
  • Сам агент создаётся через `CodeAgent`, которому передают список tools, модель и флаг `add_base_tools=False` для минимальной конфигурации. После этого остаётся запустить задачу обычной фразой, например попросить агента назвать погоду в Париже и Токио. Дальше происходит самое интересное: модель читает prompt, понимает, что у неё есть инструмент `get_weather`, пишет внутренний Python-сценарий с двумя вызовами, исполняет его в изолированной среде и возвращает человеку уже собранный ответ. Важная деталь — docstring у функции. Именно по нему агент понимает, что делает tool, какие аргументы принимает и в каких случаях его стоит использовать.

Как расширить сценарий На погоде пример не заканчивается.

В статье показано, как добавить второй инструмент `save_to_file`, который сохраняет текстовый отчёт в файл. После этого агент может не только сходить во внешний API, но и сделать следующий шаг в локальной среде: записать результат, например в `london_weather.txt`.

Такой переход важен, потому что именно комбинация маленьких tools превращает демонстрацию в зачаток реального рабочего процесса. Из этого же шаблона легко вырастают более полезные кейсы: подключение search API, работа с базой данных, сборка простого ресерча или даже управление браузером. Автор отдельно подчёркивает, что ядро логики здесь очень компактное: несмотря на весь эффект автономности, основная часть примера укладывается меньше чем в два десятка строк, а весь скрипт остаётся примерно в пределах сорока.

Порог входа в агентные сценарии за счёт этого резко снижается: ты думаешь не о фреймворке, а о том, какие именно действия нужно дать модели.

Что это значит smolagents показывает важный сдвиг: собирать автономных

помощников теперь можно не только в больших командах с собственным orchestration-слоем, но и в одиночку за один вечер. Для разработчиков это быстрый способ прототипировать AI-автоматизацию на привычном Python, а для продукта — шанс проверить полезный сценарий до того, как вкладываться в сложную архитектуру.

ЖХ
Hamidun News
AI‑новости без шума. Ежедневный редакторский отбор из 400+ источников. Продукт Жемала Хамидуна, Head of AI в Alpina Digital.
Загружаем комментарии…