26 марта 2026 года на KDnuggets вышла заметка — 40 строк Python, и у вас работает погодный ИИ-агент на библиотеке smolagents от Hugging Face. Звучит как развлекательный туториал, но для выпускника направления «Программная инженерия», «ИИ» или «Прикладная информатика» это готовый каркас практической главы. Почему: библиотека весит копейки по зависимостям, не тянет за собой оркестратор на сотни мегабайт и, что важнее для диплома, даёт наглядную архитектуру «LLM → инструменты → исполнение кода».
Проблема в том, что большинство студентов либо пересказывает туториал дословно (комиссия это чувствует за две минуты), либо уходит в обратную крайность — тянет LangChain и потом полгода не может объяснить, зачем в схеме пять слоёв абстракции. Ниже — как превратить материал статьи в защищаемую ВКР: с обоснованием стека, UML-диаграммами по ГОСТ, метриками и экономикой внедрения.
Актуальность. Статья демонстрирует переход от «чат-бота, который отвечает текстом» к «агенту, который сам вызывает API и обрабатывает результат». Это ровно тот сдвиг, который сейчас происходит в корпоративной разработке.
Актуальность. В smolagents есть два режима: CodeAgent (модель генерирует Python-код как действие) и ToolCallingAgent (классический JSON-вызов инструментов). Это готовый предмет для экспериментальной части ВКР.
Актуальность. Главный риск code-агентов — произвольное исполнение сгенерированного кода. Статья упоминает изоляцию, но не раскрывает её. Это идеальный «пробел», который студент закрывает собственной работой.
Комиссия почти всегда задаёт один и тот же вопрос: «Почему именно эта библиотека?». Ответ «она простая» не работает. Нужна сравнительная таблица с критериями, привязанными к требованиям вашей системы.
| Критерий | smolagents | Полноценный оркестратор (LangChain/LangGraph) | Прямые вызовы API LLM |
|---|---|---|---|
| Порог входа | Низкий: агент описывается десятком строк | Средний и выше: требуется понимание цепочек и состояний | Низкий, но всю логику пишете сами |
| Объём зависимостей | Минимальный | Значительный | Минимальный |
| Поддержка агентного цикла | Встроена | Встроена, гибкая | Отсутствует |
| Изоляция исполнения кода | Есть варианты sandbox | Решается отдельно | Не применимо |
| Уместность в ВКР | Прототип и исследование агентных режимов | Сложная многоагентная система | Базовая линия для сравнения |
Совет: сделайте «прямые вызовы API» базовой линией (baseline) в эксперименте. Тогда у вас появятся цифры «до/после», а это уже элемент научной новизны, а не реферат.
Туториал даёт линейный сценарий: запрос → модель → инструмент → ответ. В дипломе этого мало. Минимальный комплект графики: диаграмма компонентов (клиент, сервис-обёртка, агент, реестр инструментов, внешние API, среда исполнения), диаграмма последовательности для успешного сценария и отдельно — для сценария с ошибкой инструмента. Схемы алгоритмов оформляйте по ГОСТ 19.701-90, остальные — по правилам UML с расшифровкой нотации в приложении.
Инструмент в smolagents — это обычная функция с декоратором и типизированными аннотациями: именно из них библиотека строит описание, которое видит модель. Покажите это в листинге и объясните текстом, почему строгая типизация аргументов снижает долю некорректных вызовов.
from smolagents import tool
@tool
def get_weather(city: str, days: int = 1) -> dict:
"""Возвращает прогноз погоды для города.
Args:
city: название города на русском языке.
days: горизонт прогноза, от 1 до 5 суток.
"""
if not 1 <= days <= 5:
raise ValueError("days должен быть в диапазоне 1..5")
return weather_client.forecast(city, days)
Здесь же удобно вводить обработку исключений: агент должен не падать, а получать осмысленное сообщение об ошибке и корректировать план. В дипломе это оформляется как отдельный пункт «обеспечение отказоустойчивости агентного цикла».
Оберните агента в HTTP-сервис (FastAPI подойдёт) и опишите контейнеризацию. Это даёт вам законный повод поговорить в ВКР про CI/CD-пайплайн: сборка образа, прогон тестов, публикация. Без этого глава «внедрение» выглядит пустой.
Самая частая претензия на защите — «вы не показали эффективность». Ниже набор метрик, которые реально считаются на небольшом стенде.
| Метрика | Как измерять | Ориентир | Раздел ВКР |
|---|---|---|---|
| Доля успешно решённых задач (Task Success Rate) | Прогон тестового набора из 50–100 запросов с эталонными ответами | Сравнение с baseline, а не «абсолют» | Глава 3, эксперимент |
| Латентность p95 | Логирование времени полного агентного цикла | Указать целевое требование в ТЗ | Глава 3, нагрузочные тесты |
| Среднее число шагов агента | Трассировка шагов рассуждения | Рост шагов при том же результате — деградация | Глава 3, анализ |
| Стоимость обработки запроса | Учёт токенов на 1 запрос × тариф | Прямо влияет на экономику | Глава 3, экономика |
| Доступность сервиса, RTO/RPO | Симуляция отказа контейнера | Зависит от требований заказчика | Глава 3, надёжность |
Для мониторинга прикрутите OpenTelemetry — трассировка шагов агента выглядит выигрышно на слайдах и напрямую связывает работу с ISO/IEC 25010 в части надёжности и производительности.
Типичные ошибки студентов
Зависит от регламента кафедры. Там, где работа исследовательская, достаточно прототипа и подробного описания архитектуры. Но если в задачах заявлена «реализация», прототип обязателен. Минимально жизнеспособный вариант — именно такой агент, как в статье: его можно собрать за вечер, а потом наращивать инструменты.
Можно, но обязательно с указанием лицензий и версий в приложении, а также с оговоркой о зависимости от внешнего сервиса. Если сравниваете несколько LLM, зафиксируйте дату и параметры запуска — воспроизводимость результата это первое, что проверяет рецензент.
Единого ГОСТ на UML нет, поэтому обычно действуют так: нотация по UML, оформление рамки и основных надписей по правилам ЕСКД, а в тексте — краткая легенда. Главное, чтобы типы связей и элементов были единообразны во всей работе: если на одной схеме агрегация ромбом, то и дальше тоже.
Генерируйте набор запросов самостоятельно: 50–100 формулировок разной сложности, включая заведомо некорректные и провокационные. Плюс открытые датасеты и публичные API с бесплатным лимитом. Опишите методику формирования выборки — это увеличивает доверие к результатам.
Чек-лист перед сдачей
Если тема нравится, но непонятно, как уложить её в регламент кафедры, — начните с бесплатной консультации: мы разберём вашу формулировку, подскажем структуру глав и объём экспериментов. Средний срок работы над технической ВКР с нуля — около 120 часов, и часть из них реально сэкономить, если заранее согласовать план.
Источник: Getting Started with Smolagents: Build Your First Code Agent in 15 Minutes (опубликовано 2026-03-26)