Я поставил ИИ-агента перед 20-летней историей тикетов техподдержки
У нас есть система helpdesk с миллионом тикетов. У нас есть 2400 руководств и две огромные кодовые базы.
Когда разработчик спрашивает, решали ли мы подобную проблему раньше, ответ всегда — «да». Просто данные зарыты слишком глубоко. Старшие специалисты тратят часы на поиск. Младшие — недели.
Я создал ИИ-агента, который работает поверх всех этих данных. Сейчас он в продакшене. Вот что произошло на самом деле.
Данные не были самой сложной частью. Сложно было понять, где именно искать. А заставить агента перестать выдумывать факты было еще сложнее.
Как это работает:
- Один агент с вводом на естественном языке.
- Он читает базу данных helpdesk, инструменты управления проектами, GitLab и SVN.
- Он выполняет векторный поиск по руководствам и старым тикетам.
- Он может генерировать файлы, такие как .xlsx или .docx.
- Он сам выбирает инструменты и запускает их параллельно.
Архитектура проста. Он работает в Node-контейнере, отдельно от основного приложения. Я сделал это для изоляции сбоев. Если ИИ упадет, helpdesk продолжит работать.
Самый важный урок касался промпта. Я начал с одной гигантской «стены текста». В нем было 40 000 токенов. Его было трудно поддерживать, и агент терял фокус.
Я изменил подход. Я разделил промпт на небольшие файлы навыков (skill files).
- Поиск тикетов — это один файл.
- История кода — другой.
- Управление проектами — третий.
Основной промпт работает как роутер. Он загружает навык только тогда, когда тот необходим. Это позволило сократить количество токенов с 40 000 до 8 000 на запрос. Агент не отвлекается от задачи, а код легко обновлять.
Я также добавил профили пользователей. Разработчик получает пути к коду. Менеджер проекта — сводки о статусах. Агент понимает, кто задает вопрос, без дополнительных уточнений.
Он не идеален. Мы столкнулись с реальными проблемами:
- Галлюцинации: агент выдумывал несуществующие URL. Решение: закрепить точные паттерны или принудительно использовать поиск.
- Потеря памяти: агент забывал правила в длинных чатах. Решение: внедрять структурированный список задач (to-do list) в каждый ход диалога.
- Бесконечные циклы: агент делал слишком много вызовов инструментов. Решение: установить строгий лимит на количество вызовов за запрос.
- Безопасность: пользователи пытались его обмануть. Решение: не полагаться на промпты в вопросах безопасности. Используйте учетные данные базы данных только для чтения в вашей инфраструктуре.
Настоящая работа — это еженедельный цикл. Я читаю логи. Я оцениваю сессии. Я подправляю навыки. Я обновляю профили.
Если вы пропустите этот цикл, у вас будет демо-версия. Если пройдете его — у вас будет продукт.
Цель не только в быстрых ответах. Цель — сохранить институциональные знания внутри компании. Когда человек уходит, его знания остаются в транскриптах.
Summary for your build:
- Начните с RAG по вашей собственной истории.
- Используйте файлы навыков с ленивой загрузкой вместо одного огромного промпта.
- Используйте профили пользователей для персонализированного контекста.
- Изолируйте ИИ в отдельном контейнере.
- Обеспечивайте безопасность на уровне инфраструктуры, а не инструкций.
- Читайте логи каждую неделю.
Optional learning community: https://t.me/GyaanSetuAi
