dev-tools
Словарь ↗Агент (Agent)
AI-агент в смысле программных инструментов — это система, построенная вокруг большой языковой модели, которая не просто отвечает на один вопрос, а преследует цель через цикл рассуждения, использования инструментов и наблюдения — план, действие, наблюдение, повторное планирование — пока задача не будет выполнена или не потребуется вмешательство человека. Определяющая черта, отличающая «агента» от обычного чат-бота, — это агентность в отношении действий: агент может вызывать функции/инструменты (искать в интернете, запускать код, запрашивать базу данных, редактировать файлы, вызывать API) и использовать результаты для принятия решения о следующем шаге, а не просто выдавать один текстовый ответ. Почему это важно для разработчиков: агенты — это архитектура, стоящая за помощниками по коду, которые действительно могут запускать ваш набор тестов и исправлять сбои, ботами поддержки клиентов, которые могут найти заказ и оформить возврат средств, и внутренними инструментами, которые могут провести триаж отчёта об ошибке, воспроизведя её. Задача проектирования состоит в том, чтобы ограничить доступ агента к инструментам и добавить защитные механизмы, поскольку большая автономность означает больше способов накопления ошибки. Как это работает: цикл агента обычно состоит из системного промпта, определяющего его роль и доступные инструменты, шага рассуждения (модель решает, что делать дальше, иногда представляемого как видимое «размышление»), вызова инструмента (структурированный вызов функции с аргументами), выполнения этого инструмента окружающим приложением и передачи вывода инструмента обратно в контекст модели для следующего шага рассуждения. Это повторяется, пока модель не выдаст окончательный ответ или не достигнет условия остановки (лимит шагов, бюджет, явный шлюз одобрения человеком). Практический пример: агент поддержки, созданный для SaaS-продукта биллинга, получает сообщение «С меня дважды списали деньги за подписку в прошлом месяце». Цикл агента: (1) он вызывает инструмент `lookup_customer` с email пользователя, получая обратно ID аккаунта; (2) вызывает `list_charges(account_id, month="last")` и видит два идентичных списания по 49 $ с интервалом в 40 секунд — явный дубликат; (3) вызывает `check_refund_policy`, чтобы подтвердить, что дубликаты автоматически подлежат возврату; (4) вызывает `issue_refund(charge_id, reason="duplicate_charge")`; (5) отвечает пользователю: «Я нашёл дублирующее списание от 3 марта и вернул 49 $ на вашу карту — это отобразится в течение 5–7 рабочих дней». Каждый пронумерованный шаг был отдельным вызовом инструмента, при этом агент принимал решение о следующем действии на основе вывода предыдущего инструмента, а весь обмен — от сообщения клиента до оформленного возврата — завершился менее чем за десять секунд, по сравнению с несколькими минутами, которые понадобились бы человеку-оператору поддержки, чтобы найти аккаунт, сопоставить списания и вручную обработать тот же возврат.
Похожие термины