Внутри ИИ-агента: объяснение моделей, инструментов, памяти и процесса рассуждений
Разбирает основную архитектуру ИИ-агентов — цели, модели, инструменты, память и процесс рассуждений — и приводит пример практического исследовательского агента на Python.
В первой части серии AI Agents with Python 2026 мы рассмотрели фундаментальный вопрос:
Что же такое ИИ-агент?
Мы проанализировали, чем традиционное программное обеспечение отличается от чат-ботов, систем генеративного ИИ и агентов, способных самостоятельно достигать целей. Также мы определили основные компоненты, из которых состоит агент — модели, инструменты, память, знания, действия и механизмы безопасности.
На этот раз мы откроем «кузов» и рассмотрим внутренние механизмы.
Что на самом деле происходит, когда агент работает?
Как он выбирает следующее действие?
Как он подбирает подходящий инструмент для выполнения задачи?
Как он сохраняет информацию на протяжении нескольких шагов?
И как он определяет, что задача выполнена?
Добро пожаловать во вторую часть этой серии — мы движемся от простой автоматизации к по-настоящему автономным системам.
Архитектура агента ИИ
На концептуальном уровне агент ИИ объединяет несколько компонентов в цикле, повторяющемся снова и снова:
Цель → Модель → Решение → Инструмент → Наблюдение → Следующее решение → Результат
Упрощённая версия этой архитектуры может выглядеть так:
USER / APPLICATION
│
▼
┌──────────────┐
│ GOAL │
└──────┬───────┘
│
▼
┌──────────────┐
│ AI MODEL │
│ LLM / Model │
└──────┬───────┘
│
▼
┌──────────────┐
│ DECISION │
│ / PLANNING │
└──────┬───────┘
│
┌─────────┼─────────┐
▼ ▼ ▼
TOOL 1 TOOL 2 TOOL 3
│ │ │
└─────────┼─────────┘
│
▼
OBSERVATION
│
▼
┌──────────────┐
│ NEXT ACTION? │
└──────┬───────┘
│
┌──────┴──────┐
│ │
YES NO
│ │
▼ ▼
Continue Result
Имейте в виду, что это упрощённое представление.
Системы агентов промышленного уровня обычно гораздо более сложны, но понимание этого основного цикла даст вам прочную отправную точку для всего остального.
1. Цель
Поведение каждого агента начинается с цели.
Системе необходимо чёткое понимание того, что она должна достичь.
Рассмотрим следующий пример:
"Проанализируйте данные о продажах за этот месяц и выявите три продукта с наибольшим падением продаж."
Цель определяет направление всего процесса.
Когда цель не сформулирована четко, агент рискует давать несоответствующие ответы или предпринимать действия, которые на самом деле не помогают.
Хорошо сформулированная цель обычно включает:
- Задачу, которую необходимо выполнить
- Данные или информацию, имеющую значение
- Ожидаемый формат результата
- Любые ограничения, которым следует соблюдать
Рассмотрим два варианта:
Слабая цель:
"Проанализировать данные."
Более четкая цель:
"Изучить набор данных о продажах, отметить все товары, у которых ежемесячный доход снизился более чем на 10 процентов, и составить таблицу с кратким обзором полученных результатов."
По сравнению с расплывчатой версией такая формулировка дает агенту гораздо более четкую цель для работы.
2. Модель ИИ
Модель выступает в роли механизма рассуждений и обработки языка, лежащего в основе большинства современных агентов.
Большие языковые модели (БЯМ) занимают здесь своё место потому, что они способны:
- Анализировать входные данные на естественном языке
- Понимать инструкции
- Учитывать контекстуальную информацию
- Генерировать хорошо структурированный результат
- Выбирать из возможных действий
- Составлять аргументы, необходимые инструменту
Тем не менее модель — это лишь одна из составляющих целого.
Представьте её как мозг внутри более крупного организма.
Мозг, изолированный от глаз, рук, памяти и внешнего мира, не может сделать многое сам по себе.
То же самое касается и БЯМ — её полезность возрастает, когда она соединяется с соответствующими инструментами и источниками данных.
3. Инструкции и контекст
Модели необходимо знать свою роль и детали текущей задачи.
К этому обычно относится:
- Инструкции на уровне системы
- Инструкции от пользователя
- Список инструментов, которые он может использовать
- История предыдущих разговоров
- Данные, полученные путем поиска
- Текущее состояние задачи
- Любые правила или ограничения, которым он должен следовать
В качестве примера, агент, предназначенный для поддержки службы технической помощи, может быть настроен с использованием чего-то вроде:
You are an IT support assistant.
Your responsibilities:
1. Diagnose common technical issues.
2. Search the approved knowledge base.
3. Provide troubleshooting instructions.
4. Escalate high-risk issues to a human technician.
Do not modify production systems without authorization.
Такие инструкции определяют ожидаемое поведение агента.
4. Инструменты
Хотя модель может генерировать текст и выводить логику, именно инструменты позволяют агенту взаимодействовать с внешними системами.
К распространенным категориям инструментов относятся:
- Поиск в Интернете
- Внешние API
- Базы данных
- Файловые системы
- Калькуляторы
- Собственные функции на Python
Рассмотрим ассистента, задача которого — сообщать о текущей погоде.
Встроенные знания модели не включают информацию о реальных погодных условиях.
Поэтому агент обращается к API погоды с помощью вызова инструмента.
Поток действий выглядит примерно так:
User Request
↓
AI Model
↓
Weather Tool
↓
Current Weather Data
↓
AI Model
↓
Response
Инструмент предоставляет данные, которые модель не может получить самостоятельно надежным способом.
Вызов инструмента
Одной из ключевых идей в системах агентов является так называемый вызов инструмента.
Вместо того чтобы генерировать простой текстовый ответ, модель может указать на необходимость запуска определенного инструмента.
Например:
tools = [
"search_database",
"calculate",
"get_weather"
]
Предположим, пользователь спрашивает:
"Какая погода в Аккре?"
Модель может понять, что get_weather — это подходящий инструмент для этого запроса.
Затем приложение, в котором она находится, запускает эту функцию и возвращает результат обратно в модель.
В Python это можно выразить просто так:
def get_weather(city):
# Call an approved weather service
return weather_data
Основное правило здесь заключается в том, что модель предлагает то, что ей нужно, но приложение сохраняет контроль над тем, что на самом деле будет выполнено.
Такое разделение имеет огромное значение с точки зрения безопасности.
У моделей не должен быть неограниченный доступ
Представьте, что вы предоставляете ИИ-модели неограниченный контроль над:
- Вашей базой данных
- Вашими почтовыми аккаунтами
- Вашей файловой системой
- Вашими финансовыми системами
- Вашей операционной системой
Такая степень доступа создаст серьезные риски.
Агентам следует предоставлять только тот уровень доступа, который им действительно необходим для выполнения работы.
Это соответствует известной идее из инженерии безопасности:
Принцип минимальных привилегий
Предоставляйте системе только те разрешения, которые ей действительно нужны для выполнения задачи, и ничего больше.
Например:
Сотрудник службы поддержки клиентов может действительно нуждаться в чтении записей о клиентах.
Но у него, скорее всего, нет причин удалять эти записи.
Эта идея будет рассмотрена более подробно позже в этой серии при обсуждении безопасности агентов.
5. Память
Память позволяет агенту сохранять важную информацию на протяжении всего разговора или задачи.
Без неё каждый обмен информацией казался бы оторванным от предыдущего.
Представьте себе личного ИИ-ассистента.
Вы говорите:
«Мой предпочитаемый язык программирования — Python».
Затем позже вы спрашиваете:
«Порекомендуйте мне проект для программирования».
Если у ассистента есть рабочая память, он может связать эти два момента и адаптировать свой ответ, используя информацию, которую вы ему ранее сообщили.
Память — это не единое понятие; она действует в разных масштабах.
Краткосрочная память
Краткосрочная память хранит детали, актуальные только в рамках текущей сессии или задачи.
User:
My budget is GHS 5,000.
User:
Show me laptops.
Agent:
I'll focus on options around your GHS 5,000 budget.
Без учета ранее упомянутого бюджета агент не смог бы правильно определить критерии для рекомендаций ноутбуков.
Долгосрочная память
Долгосрочная память сохраняет информацию на протяжении нескольких разговоров.
User Preference:
Prefers Python tutorials.
Previous Project:
Built an AI study assistant.
Current Goal:
Learning AI agents.
Обычно приложение хранит такие данные в специализированной базе данных или слое памяти.
Тем не менее хранение личных данных вызывает вопросы конфиденциальности, которые нельзя игнорировать.
Вам потребуется тщательно обдумать следующее:
- Какая информация стоит сохранять
- Как долго её следует хранить
- Где она будет храниться
- Кто имеет право на неё получать доступ
- Как пользователь может её удалить
Память никогда не должна рассматриваться как второстепенный аспект — для её использования требуется тщательное проектирование.
6. Знания
Память и знания звучат похоже, но выполняют разные функции.
Память обычно используется для хранения информации о пользователе, ходе разговора или текущем состоянии задачи.
Поиск знаний, с другой стороны, означает извлечение соответствующих фактов из внешних источников.
Рассмотрим корпоративного ИИ-агента, которому может потребоваться обращение к:
- Политикам компании
- Документации к продуктам
- Техническим руководствам
- Внутренним процедурам
- Часто задаваемым вопросам
Вместо того чтобы загружать все документы в промпт, система может получать только ту информацию, которая необходима в данный момент.
Это основа важного подхода в архитектуре ИИ:
Retrieval-Augmented Generation (RAG)
В общих чертах процесс RAG выглядит следующим образом:
User Question
↓
Retrieve Relevant Information
↓
Knowledge Source
↓
Relevant Context
↓
AI Model
↓
Answer
RAG становится особенно ценным, когда используется в сочетании с агентами.
Агент может определить, что у него отсутствует определенная информация, получить необходимый контент и затем продолжить выполнение задачи с использованием найденных данных.
Мы более подробно рассмотрим этот подход в Части 6.
7. Расчеты и планирование
Одной из наиболее привлекательных особенностей ИИ-агентов является способность разбивать крупную задачу на серию меньших, управляемых шагов.
Допустим, пользователь просит агента подготовить сравнение трех облачных провайдеров для небольшого бизнеса.
Для выполнения этой задачи может потребоваться:
- Идентификация платформ
- Сбор информации о ценах
- Сравнение функций
- Оценка преимуществ и недостатков
- Систематизация полученных данных
- Подготовка итогового отчета
Агенту может потребоваться динамически определять, какой шаг следует выполнить дальше на основе имеющейся у него информации.
В этом и заключается роль планирования.
Планирование не всегда подразумевает сложное рассуждение
Не стоит предполагать, что каждому агенту требуется сложный, полностью автономный механизм планирования.
Некоторые рабочие процессы могут оставаться простыми:
Input
↓
Call API
↓
Format Result
↓
Return Response
Другие действительно предлагают более сложные решения:
Goal
↓
Plan
↓
Research
↓
Analyze
↓
Verify
↓
Generate
↓
Review
↓
Complete
Выбор подходящего варианта полностью зависит от проблемы, которую вы решаете.
Стоит повторить:
Выбирайте самую простую архитектуру, способную надежно решить проблему.
8. Наблюдение
Как только агент совершает действие, ему необходима обратная связь о реальном результате.
Это и есть шаг наблюдения.
Agent:
Search for information about Python.
Tool:
Returns 20 search results.
Agent:
Analyze the results and determine which are relevant.
Данные, возвращаемые обратно, становятся информацией для наблюдения, которую агент учитывает при принятии следующего решения.
Все это вместе образует цикл, повторяющийся снова и снова:
Мыслим → Действуем → Наблюдаем → Принимаем решение → Снова действуем
Цикл агента
Когда все элементы на своих местах, вот как они соединяются между собой:
┌──────────────┐
│ GOAL │
└──────┬───────┘
↓
┌──────────────┐
│ CONTEXT │
└──────┬───────┘
↓
┌──────────────┐
│ AI MODEL │
└──────┬───────┘
↓
┌──────────────┐
│ DECISION │
└──────┬───────┘
↓
┌──────────────┐
│ TOOL │
└──────┬───────┘
↓
┌──────────────┐
│ OBSERVATION │
└──────┬───────┘
↓
┌──────────────┐
│ COMPLETE? │
└───┬──────┬───┘
│ │
NO YES
│ │
↓ ↓
Continue Result
Понимание этого цикла крайне важно для осмысления того, как функционируют агентные системы.
Практический пример: исследовательский агент
Давайте рассмотрим простую схему проектирования исследовательского агента.
Представьте запрос к помощнику о том, чтобы он изучил, как малые предприятия в Гане могут извлечь пользу от использования солнечной энергии, и подготовил краткое резюме результатов.
Обработка этого запроса может быть разделена на следующие этапы.
Шаг 1 — Понимание
Определите:
- Тему
- Географический район исследования
- Целевую аудиторию
- Формат ожидаемого результата
Шаг 2 — Планирование
Определите, какая информация действительно необходима.
Шаг 3 — Получение данных
Соберите данные из одобренных источников.
Шаг 4 — Анализ
Изучите собранные данные.
Шаг 5 — Организация
Разделите полученные результаты на логические категории.
Шаг 6 — Генерация
Составьте запрошенное резюме.
Шаг 7 — Проверка
Убедитесь, что результат действительно отвечает первоначальному запросу.
Шаг 8 — Возврат
Предоставьте окончательный ответ.
Это иллюстрирует практическое применение рабочего процесса агента, ориентированного на достижение цели.
Что происходит, если инструмент не сработал?
В реальном мире вещи ломаются.
API перестают работать.
Базы данных выходят из строя из-за истечения времени.
Поиски возвращают нерелевантные результаты.
Инструменты иногда возвращают поврежденные данные.
Хорошо спроектированный агент должен учитывать такие сценарии.
Например:
try:
result = get_data()
except Exception as error:
print("Tool failed:", error)
Системы производственного уровня обычно требуют гораздо более надежной обработки.
В зависимости от ситуации агент может:
- Повторить неудачный шаг
- Перейти на другой одобренный инструмент
Грамотное управление сбоями является основной частью проектирования агентов, а не отдельным крайним случаем.
Участие человека в процессе
Автоматизация не должна применяться ко всем решениям.
Некоторые действия действительно требуют предварительного одобрения человека.
Например:
AI Agent
↓
Prepare financial transaction
↓
Human Approval
↓
Execute Transaction
Этот подход называется Участие человека в процессе (HITL).
Он особенно ценен, когда агент способен принимать решения с высокой степенью риска, такие как:
- Финансовые операции
- Удаление данных
- Отправка конфиденциальных сообщений
- Изменение производственных систем
- Утверждение важных решений
Добавление этапа проверки со стороны человека может значительно снизить ущерб от ошибок агента.
Детерминистические и агентные рабочие процессы
Есть ещё одно различие, которое стоит понимать.
Детерминистический рабочий процесс следует фиксированной последовательности шагов:
Step 1 → Step 2 → Step 3 → Step 4
В отличие от этого, агентный рабочий процесс принимает решение о дальнейших действиях «на лету»:
Goal
↓
Decision
↓
Action
↓
Observation
↓
Next Decision
Ни один из вариантов по своей сути не является лучшим выбором.
Для задач, которые предсказуемы и хорошо поняты, детерминистический рабочий процесс обычно легче тестировать, отслеживать и обеспечивать его безопасность.
Когда условия неопределённы, а требования постоянно меняются, предоставление агенту возможности самому выбирать путь обычно оказывается более эффективным решением.
Ни один из подходов не является оптимальным во всех ситуациях. Выбор между ними — это просто часть качественной инженерной практики.
Роль Python
Python отлично подходит для того, чтобы служить связующим звеном между компонентами агента.
Упрощённая архитектура может выглядеть примерно так:
Python Application
│
├── AI Model
│
├── Tools
│
├── APIs
│
├── Database
│
├── Memory
│
└── RAG / Knowledge Base
Python обеспечивает координацию между этими компонентами и реализует связанную с ними бизнес-логику.
Именно поэтому Python стал таким подходящим инструментом для создания систем искусственного интеллекта.
Простая архитектура агента на Python
Вот концептуальный набросок минимального агента:
class SimpleAgent:
def __init__(self, model, tools):
self.model = model
self.tools = tools
def run(self, goal):
context = goal
while True:
decision = self.model.decide(
context,
self.tools
)
if decision["action"] == "finish":
return decision["result"]
tool = self.tools[decision["tool"]]
result = tool(**decision["arguments"])
context = {
"goal": goal,
"previous_result": result
}
Этот пример преднамеренно упрощённый.
Настоящий агент, готовый к использованию в производстве, потребует гораздо большего количества вспомогательной инфраструктуры, такой как:
- Проверка входящих данных
- Способ верификации того, кто вызывает систему
- Обработка сбоев на этапах выполнения
- Запись информации о том, что произошло и когда
- Правила относительно использования доступных инструментов
- Отслеживание текущего состояния агента
Тем не менее, этот фрагмент отражает основной порядок действий:
Установить цель → принять решение → вызвать инструмент → наблюдать за результатом → продолжить или остановиться.
Почему циклам агентов нужны ограничения
Представьте агента, который постоянно приходит к выводу, что ему нужно совершить ещё одно действие.
Без ограничений он может работать бесконечно.
Если этого не контролировать, это может привести к:
- Чрезмерным затратам на API
- Медленным ответам
- Чрезмерному использованию ресурсов
- Повторяющимся, избыточным действиям
- Непредсказуемому поведению
Чтобы избежать этого, разработчики должны внедрять такие механизмы контроля, как:
- Лимит на количество итераций
- Временные ограничения на выполнение
- Ограничения на вызовы инструментов
- Лимиты расходов
- Обязательные этапы утверждения
Например:
MAX_STEPS = 10
Система может остановить агента, как только он превысит установленное количество шагов.
Такая простая мера защиты может быть достаточной, чтобы предотвратить выход рабочих процессов из-под контроля.
Безопасность — часть архитектуры
Безопасность для агента — это не то, что можно добавить позже.
Её необходимо учесть с самого начала.
К ключевым аспектам, которые следует рассмотреть, относятся:
Аутентификация
Кто имеет право взаимодействовать с агентом?
Авторизация
К каким ресурсам имеет доступ агент?
Проверка входных данных
Какие данные могут отправлять пользователи?
Разрешения на использование инструментов
Какие функции действительно может выполнять агент?
Защита данных
Каким конфиденциальным данным может быть подвержен агент?
Логирование
Что именно делал агент, шаг за шагом?
Подтверждение человеком
Какие действия требуют подписи человека перед тем, как они будут выполнены?
Эти проблемы становятся всё более важными по мере того, как агенты приобретают больше возможностей.
Стек технологий агента
Искусственного интеллект-агента также можно рассматривать как многоуровневый стек технологий:
┌──────────────────────────────┐
│ USER / GOAL │
├──────────────────────────────┤
│ AGENT LOGIC │
├──────────────────────────────┤
│ AI MODEL / LLM │
├──────────────────────────────┤
│ TOOLS & FUNCTIONS │
├──────────────────────────────┤
│ MEMORY & STATE │
├──────────────────────────────┤
│ KNOWLEDGE / RAG │
├──────────────────────────────┤
│ APIs & DATABASES │
├──────────────────────────────┤
│ SECURITY / GUARDRAILS / LOGS │
└──────────────────────────────┘
Каждый уровень выполняет свою собственную функцию.
Знакомство с этими уровнями значительно облегчает проектирование и отладку агентов.
Ментальная модель для начинающих
Пока вы только начинаете работать с агентами, имейте в виду эти шесть вопросов:
1. Какова цель?
Какой результат должна дать система?
2. Что нужно понимать модели?
Какие инструкции и контекст необходимы ей для выполнения задачи?
3. Какие инструменты доступны?
На какие внешние ресурсы он может обратиться?
4. Какая информация ему нужна?
Откуда на самом деле берутся его знания?
5. Какие действия он может совершить?
Что ему на самом деле разрешено делать?
6. Что происходит, если что-то пойдет не так?
Как реагирует система, когда что-то ломается?
Умение ответить на эти шесть вопросов означает, что вы уже мыслите как человек, создающий агентов.
Ваш практический упражнение
Прежде чем переходить дальше, попробуйте набросать на бумаге концепцию агента.
Выберите сценарий, например:
Помощник по изучению ИИ
Затем определите:
Цель:
Помогать студентам лучше понимать учебные материалы.
Модель:
Языковая модель.
Инструменты:
Читатель документов и калькулятор.
Знания:
Сами учебные материалы курса.
Память:
Текущая сессия обучения.
Действия:
Создание объяснений и генерация упражнений.
Ограничения:
Никогда не выдумывайте факты, если соответствующих учебных материалов нет.
Человеческий надзор:
Студент проверяет всё, что генерирует агент.
На этом этапе вы уже набросали архитектуру рабочего агента.
Что будет в части 3?
Имея архитектуру, следующим шагом будет преобразование её в рабочий код.
В части 3 будет рассказано о создании вашего первого простого ИИ-агента с использованием Python.
Вы перейдете от диаграмм и теории к практической реализации и научитесь запускать проект с агентом, подключать Python к языковой модели, четко определять цель для агента, создавать базовый инструмент для его использования, позволять ему вызывать этот инструмент, обрабатывать результаты его работы и в конечном итоге получать готовый ответ.
Первая версия будет намеренно минимальной.
На этом этапе цель — понять, как все элементы взаимосвязаны, а не сразу создавать полностью готовую производственную систему.
Заключительные мысли
Искусственный интеллект-агент — это не просто чат-бот с новой маркировкой.
Это система, построенная вокруг определенной цели, обладающая средствами для работы с информацией и действий через инструменты.
По сути, архитектура сводится к следующему:
Цель → Модель → Решение → Инструмент → Наблюдение → Следующее действие → Результат
Вокруг этого ядра добавляются следующие элементы:
Память + Знания + Безопасность + Ограничения + Человеческий надзор
Как только все эти компоненты сработают вместе, искусственный интеллект перестает казаться чем-то волшебным.
Он превращается в обычную задачу инженерии программного обеспечения.
И именно такие задачи Python отлично справляется решать.
Теперь вы знаете, что такое ИИ-агенты и как они функционируют.
Следующим шагом является создание такого агента собственноручно.
Связанные материалы
- Понимание ИИ-агентов: цели, инструменты, память и цикл агента — простое для новичков объяснение того, чем ИИ-агенты отличаются от чат-ботов, с описанием основных компонентов, цикла принятия решений, уровней автономии и практических применений.