Как создать ИИ-агента на базе GigaChat 3.5 Ultra и интегрировать его в бизнес-процессы своего сайта — это один из самых частых вопросов после масштабного обновления нейросети от Сбера. Благодаря новой архитектуре линейного внимания, модель теперь поддерживает сложные агентные сценарии. Это значит, что ИИ может не просто отвечать на сообщения, а автономно выполнять последовательность действий: анализировать данные, обращаться к внешним API и принимать решения на основе контекста.
В этом практическом руководстве мы пошагово разберем процесс проектирования автономного ИИ-агента — от распределения ролей до написания системного промпта и логики вызова функций (Function Calling).
Шаг 1. Проектирование архитектуры и распределение ролей
Прежде чем писать код, необходимо четко определить роль (Role) и границы ответственности вашего агента. В агентных системах архитектура строится на жестком ограничении прав ИИ, чтобы он не уходил во флуд и выполнял только целевые действия.
Для веб-мастера наиболее актуальны три базовые роли:
- Агент-поддержка (Support Agent): Интегрируется в чат на сайте или Telegram. Его цель — отвечать на вопросы пользователей, используя строго внутреннюю базу знаний компании (документацию, FAQ).
- Агент-аналитик логов (DevOps Agent): Автоматически сканирует
error.logна VPS, группирует ошибки по критичности и присылает готовые решения админу. - Агент-контентщик (SEO Content Agent): Мониторит RSS-ленты конкурентов, отбирает тренды, формирует структуру статей и генерирует черновики под контролем веб-мастера.
Шаг 2. Разработка системного промпта (System Prompt) и инициализация роли
Системный промпт — это фундамент поведения ИИ-агента. Именно здесь задается его личность, правила поведения и ограничения. С моделью GigaChat 3.5 Ultra лучше всего работает англоязычная или строго структурированная русскоязычная разметка промпта с использованием XML-тегов.
Пример идеального системного промпта для Агента-поддержки:
xml
<system_prompt>
<role>
Вы — автономный ИИ-агент технической поддержки хостинг-провайдера webindex.su. Ваш позывной — WebIndex Bot. Вы общаетесь вежливо, профессионально и лаконично.
</role>
<task>
Ваша задача — помогать веб-мастерам решать проблемы с доступностью сайтов, настройкой VPS и серверов Nginx/Apache.
</task>
<constraints>
1. Отвечайте ТОЛЬКО на основе верифицированных данных из базы знаний хостинга.
2. Если в базе знаний нет ответа на вопрос, строго используйте встроенную функцию [transfer_to_human]. Ничего не выдумывайте.
3. Запрещено отвечать на любые личные, политические или отвлеченные темы, не связанные с веб-разработкой.
</constraints>
<output_format>
- Форматируйте технические команды и пути к файлам с помощью Markdown тегов (например, `/var/log/nginx/error.log`).
- Разбивайте длинные инструкции на маркированные списки.
</output_format>
</system_prompt>
Шаг 3. Подключение внешних инструментов через Function Calling
ИИ-агент отличается от обычного чат-бота тем, что у него есть «руки» — инструменты (Tools). Модель GigaChat 3.5 Ultra умеет на основе запроса пользователя понимать, какую функцию в вашем коде нужно вызвать, и передает для нее правильные аргументы.
При инициализации запроса к API Сбера через Cloud.ru, вы передаете массив доступных функций (tools).
Пример JSON-схемы инструмента для проверки статуса сервера:
json
{
"type": "function",
"function": {
"name": "check_server_status",
"description": "Проверяет доступность VPS сервера по его IP-адресу или домену",
"parameters": {
"type": "object",
"properties": {
"domain": {
"type": "string",
"description": "Домен сайта или IP-адрес сервера (например, webindex.su)"
}
},
"required": ["domain"]
}
}
}
Шаг 4. Написание базового скрипта интеграции (Python)
Когда архитектура готова, мы объединяем роль, инструменты и саму языковую модель в единый цикл управления (Agent Loop).
python
import requests
import json
# Инициализация сессии с API GigaChat в Cloud.ru
API_URL = "https://sberbank.ru"
AUTH_TOKEN = "YOUR_CLOUD_RU_TOKEN"
def run_ai_agent(user_message):
headers = {
'Content-Type': 'application/json',
'Authorization': f'Bearer {AUTH_TOKEN}'
}
# Формируем тело запроса с системной ролью и доступными инструментами
data = {
"model": "GigaChat-Pro-3.5", # Или Ultra-версия в зависимости от лимитов
"messages": [
{"role": "system", "content": "<system_prompt>...</system_prompt>"}, # Наш промпт из Шага 2
{"role": "user", "content": user_message}
],
"tools": [
# Наша схема функции check_server_status из Шага 3
],
"tool_choice": "auto"
}
response = requests.post(API_URL, headers=headers, json=data, verify=False)
result = response.json()
# Проверяем, решила ли модель запустить внешнюю функцию (инструмент)
message = result['choices'][0]['message']
if 'tool_calls' in message:
function_name = message['tool_calls'][0]['function']['name']
arguments = json.loads(message['tool_calls'][0]['function']['arguments'])
print(f"[AGENTS LOG] ИИ-агент решил вызвать функцию: {function_name} с параметрами {arguments}")
# Здесь вы вызываете реальную функцию в вашем Python-коде
# и возвращаете результат обратно модели для финального ответа пользователю
return message['content']
Шаг 5. Тестирование и отладка агентного цикла
После запуска агента критически важно провести его «песочное» тестирование. Нейросети склонны к галлюцинациям в сложных сценариях.
- Проверка на стрессоустойчивость: Попробуйте увести агента от темы. Задайте вопрос: «Как приготовить пиццу?». Правильно настроенный агент с жесткой системной ролью должен ответить: «Извините, я являюсь техническим ассистентом webindex.su и консультирую только по вопросам работы серверов».
- Оптимизация контекста: Следите за размером истории диалога. Из-за линейного внимания GigaChat 3.5 Ultra отлично держит длинный контекст, но старые, неактуальные сообщения годовой давности лучше очищать из памяти агента (держать окно памяти в пределах последних 10-15 реплик), чтобы экономить токены.
В чем главное отличие ИИ-агента от обычного скрипта или чат-бота?
Обычный бот работает по жестко прописанным правилам и веткам условий (if/else). ИИ-агент сам оценивает контекст ситуации, самостоятельно выбирает нужный инструмент (функцию API) из списка доступных и решает, в какой последовательности выполнять шаги для достижения цели.
Зачем использовать XML-теги в системном промпте для GigaChat 3.5 Ultra?
Архитектура модели отлично распознает блочную XML-разметку (например, <role>, <constraints>). Это позволяет изолировать инструкции от пользовательского ввода, предотвращая инъекции промптов (Prompt Injection) и заставляя ИИ строго следовать правилам.
Можно ли запустить ИИ-агента локально без облака Cloud.ru?
Тяжелую флагманскую модель Ultra запустить на домашнем ПК или обычном VPS не получится — требуются огромные мощности видеокарт (A100/H100). Однако Сбер поставляет облегченные версии аудио- и текстовых моделей, которые крупные компании могут развернуть внутри своего закрытого контура (On-Premise).












