
23 сентября эксперты MWS расскажут, как самостоятельно создавать ИИ-агентов — с помощью кода или без. Мы поделимся, как доработали Langflow под реальные задачи. Встреча онлайн, регистрация — по ссылке.
Сегодня же мы собрали несколько полезных материалов для желающих разобраться самостоятельно в устройстве работы ИИ-агентов (или написать собственную интеллектуальную систему).
ИИ-агенты для чайников
Инженер и разработчик LLM Закари Хуанг подготовил руководство для начинающих погружение в сферу разработки ИИ-агентов. Он утверждает, что при сильном упрощении агентные системы можно представить в виде графов с тремя типами узлов: 1) принятия решений; 2) действий/операций; и 3) терминации процесса. Эти узлы могут быть связаны между собой или ребрами, или циклами — ребрами, которые начинаются и заканчиваются в одной и той же вершине.
Для наглядности автор сравнивает работу агентной системы с процессом приготовления пищи. Каждый узел может выполнять три задачи: собирать данные и ингредиенты, обрабатывать их согласно инструкциям и передавать на следующий этап «приготовления». При этом память системы — это своеобразная рабочая поверхность, на которой лежат промежуточные результаты.
Во второй части руководства Хуанг показывает, как собрать и запустить собственного ИИ-агента, способного искать ответы на вопросы в интернете. Разумеется, каждый этап разбирается на примерах с кодом и графами.
Автор использует фреймворк PocketFlow, который позволяет «заглянуть под капот», то есть увидеть, как работают ИИ-агенты изнутри.
В целом читатели хвалят материал за простоту и доступный разбор темы. В то же время автор отмечает, что его руководство предназначено для новичков, и к нему можно относиться как к упрощенной версии официальной документации PocketFlow Agent.
Параллельное обучение
Model Parallelism 101 — руководство по распараллеливанию обучения ML-моделей между несколькими GPU и вычислительными системами. Его автор — Эммануэль Амейзен, ML-специалист компании Anthropic и автор книги «Создание приложений машинного обучения: от идеи к продукту», изданной O’Reilly.
Его ноутбук посвящен подходам, позволяющим обучать модели с сотнями миллиардов параметров:
Параллелизм данных. На каждом узле хранится полная копия модели, узлы вычисляют градиенты, а затем они агрегируются и синхронизируются.
Тензорный параллелизм. Веса одного слоя делятся между нодами, например, вычисления идут на разных GPU. Такой подход жёстко завязан на архитектуру модели, а еще возрастает нагрузка на сеть.
Конвейерный параллелизм. Слои модели распределяются по узлам, и они работают с разными пакетами данных.
Руководства и код Амейзен выложил на GitHub под лицензией GNU GPL v3.0.
Агенты на TypeScript
Исаак Хагоэль — ведущий инженер в Atlassian (раньше он работал в Intel и TripAdvisor). Он занимается разработкой систем ИИ: в его портфолио числится коммерческая аналитическая система на базе RAG и несколько пет-проектов вроде ИИ-агента для написания тестов и автоматизации QA. Исаак заметил, что авторы материалов по теме ИИ-агентов обходят стороной многие практические вещи — чтобы заполнить пробел, он решил написать собственную статью.
Например, автор утверждает, что при разработке агентских систем необходимо в обязательном порядке использовать структурированные выводы (Structured Outputs). В частности, она позволяет задать JSON-схему, которой будет следовать модель при ответе — ее не придется каждый раз «умолять» предоставить данные в нужном виде.
Также автор предлагает обратить внимание на то, что иллюзия диалога с LLM создается за счет передачи предыдущих вопросов и ответов в новом запросе. Поэтому он предлагает сохранять только релевантную историю, исключая все лишнее из запроса — например, инструкции, которые не важны для текущей задачи.
Отдельно автор останавливается на извечной дилемме выбора языка — он проводит параллели между Python и TypeScript, выделяет преимущества и недостатки каждого ЯП. Как правило, Python гораздо привычнее для дата-сайентистов, которые работают с ML-библиотеками, но сам Исаак отдает предпочтение TypeScript (не в меньшей степени из-за статической типизации).
В материале автор показал свои идеи на примере маркетинговой email-системы из четырех агентов: один собирает данные о клиентах, другой подбирает продукты, третий пишет письмо по шаблону, а четвертый выступает редактором — для наглядности все лучшие практики проиллюстрированы кодом.
Контекст: базовый опыт
Погружение в разработку ИИ-агентов требует понимания лучших практик. Референсом могут быть материалы профильных компаний, в которых они делятся опытом.
Недавно команда ManusAI — стартапа, создающего универсального агента, способного не просто отвечать на запросы, но и выполнять задачи без участия пользователя — поделилась опытом управления контекстом.
Например, команда рекомендует по максимуму использовать KV-кеш — механизм, позволяющий хранить уже обработанные части текста. Это важно, потому что контекст расширяется за счет добавления новых действий и наблюдений. В Manus, среднее соотношение входных и выходных токенов составляет 100:1. При высоком проценте попаданий в кеш время отклика снижается, а стоимость вычислений сокращается в 10 раз.
Также авторы пишут, что контекстные окна современных LLM превышают 128 тыс. токенов, но в реальных агентных сценариях этого, как правило, недостаточно. Чтобы решить проблему, многие системы прибегают к усечению контекста, но чрезмерное сжатие непременно ведёт к потере информации. Manus же применяют иной подход и используют «абсолютный контекст», чтобы избегать компрессии.
В заключение специалисты отмечают: «то, как вы формируете контекст, определяет поведение агента: скорость работы, устойчивость к сбоям и способность к масштабированию».