Агент (термин)
Программа, которая работает внутри подконтрольной системы и действует от имени другой: собирает метрики, выполняет команды или решает задачу сама.
Что такое агент
Агент — программа, которая постоянно работает внутри наблюдаемой системы и действует от имени кого-то другого: собирает данные, выполняет присланные команды или решает поставленную задачу. Слово взято из обычного языка почти без изменений: агент — тот, кто действует по поручению принципала, находясь там, где принципала нет.
В IT термин перегружен и означает разные вещи в зависимости от контекста:
| Контекст | Что за агент | Пример |
|---|---|---|
| Мониторинг | Демон на сервере, собирающий метрики | Zabbix agent |
| Безопасность | Сенсор, следящий за событиями хоста | Wazuh agent, EDR |
| Резервное копирование | Клиент, снимающий копию изнутри ОС | Veeam agent |
| CI/CD | Исполнитель задач пайплайна | GitLab Runner, Jenkins agent |
| Сети | Софт на устройстве, отвечающий менеджеру | SNMP-агент |
| HTTP | Строка User-Agent в заголовке | Идентификация браузера |
| AI | LLM с инструментами и циклом принятия решений | AI-агент |
Общее у всех перечисленных — топология: агент живёт на управляемой стороне и общается с центральным сервером, который сам туда попасть не может или не хочет.
Агент в мониторинге
Классический случай. На каждом сервере крутится небольшой демон, а центральный сервер собирает с них данные:
┌──────────────┐ ┌──────────────┐
│ Сервер A │ │ Сервер B │
│ ┌────────┐ │ │ ┌────────┐ │
│ │ агент │ │ │ │ агент │ │
│ └───┬────┘ │ │ └───┬────┘ │
└──────┼───────┘ └──────┼───────┘
└───────────┬───────────┘
┌──────┴───────┐
│ Сервер │ → метрики, триггеры,
│ мониторинга │ алерты
└──────────────┘
Данные, собранные агентами, превращаются в алерты по правилам на стороне сервера.
Агент видит то, что снаружи не видно: загрузку CPU, свободное место на диске, состояние процессов и служб, данные с датчиков железа. Проверка снаружи покажет только, отвечает ли порт.
Два режима работы, которые важно различать при настройке Zabbix:
- Пассивный — сервер сам опрашивает агента (агент слушает порт 10050). Просто, но требует доступа снаружи внутрь.
- Активный — агент сам подключается к серверу и забирает список проверок. Единственный рабочий вариант за NAT и в жёстком firewall: соединение идёт изнутри наружу.
Agent-based и agentless
Противоположный подход — обходиться без установки чего-либо на цель.
| С агентом | Без агента | |
|---|---|---|
| Установка | На каждый хост, нужны обновления | Ничего не ставим |
| Глубина данных | Всё, что видно изнутри ОС | Только по сети или через API |
| Работа за NAT | Да, агент звонит сам | Нужен доступ к хосту |
| Оффлайн | Копит данные и досылает | Данные теряются |
| Накладные расходы | Процесс на каждом хосте | Нагрузка на опрашивающий сервер |
| Поверхность атаки | Больше: код с правами на всех хостах | Меньше |
Пример agentless-инструмента — Ansible: подключается по SSH и ничего постоянного на хосте не оставляет. Пример обратного — Wazuh или Veeam, где без агента внутри задача принципиально не решается: файловые события и консистентный снимок открытых файлов снаружи не увидеть.
Практическое правило: агент нужен, когда требуется глубина или работа изнутри закрытого периметра; agentless — когда важнее не плодить софт с высокими правами на сотнях машин. Помните и об обратной стороне: агент — это код, работающий на всех ваших серверах, обычно от root. Его уязвимость становится проблемой сразу всего парка.
AI-агент
Новое и самое шумное значение термина. AI-агент — система, где LLM не просто отвечает текстом, а действует в цикле: получает цель, выбирает инструмент, вызывает его, смотрит на результат и решает, что делать дальше — и так, пока задача не решена.
Цель → LLM думает → выбор инструмента → вызов → результат
↑ │
└────────────────────────────────────────┘
повторять до готовности
Отличие от обычного запроса к модели — наличие обратной связи и права на действие. Модель не предсказывает ответ одним проходом, а меняет состояние внешнего мира: читает файлы, ходит в API, запускает код, и корректирует план по итогам.
Инструменты подключают через описания функций; отраслевой стандарт для этого — MCP, протокол, позволяющий подключать источники данных и инструменты к модели единообразно.
Ирония в том, что смысл слова здесь тот же, что у Zabbix-агента двадцатилетней давности: программа, которая действует от вашего имени там, где вас нет. Изменилось только то, что решение о следующем шаге принимает модель, а не заданный заранее список проверок — и вместе с этим выросла цена ошибки: агенту с правами на инфраструктуру доверяют выполнение того, чего никто не проверял заранее.
Связанные термины
Готовы запустить GPU-задачу?
Запустить GPU-сервер