← Все проектыПроект / AI-платформа

AI-ассистент для внутренних приложений

Внутренняя AI-платформа: знания о приложениях, роли пользователей и управляемое выполнение инструментов.

PythonFastAPIAngularPostgreSQLCeleryRedisKeycloakCodex worker
О проекте

Что делает сервис

Сотрудник открывает ассистента внутри корпоративного продукта, задаёт вопрос о его работе и получает ответ с опорой на сохранённую версию исходников. Если ассистенту нужен инструмент, система проверяет допустимость действия и при необходимости просит подтверждение.

Знания о внутренних приложениях распределены между репозиториями и людьми. Полезному ассистенту нужен контекст выбранного продукта и чёткие границы действий от имени пользователя.

Кто пользуется

Сотрудники, которые поддерживают, используют или разрабатывают внутренние приложения: бизнес-пользователи работают с бизнес-контекстом, технические — с контекстом исходного кода.

Что на входе
  • Вопрос и выбранное приложение.
  • Профиль пользователя и разрешённые ему действия.
  • Синхронизированная версия исходников с идентификатором commit.
Что на выходе
  • Ответ, уточняющий вопрос или запрос на использование инструмента.
  • Запрос, который пользователь может подтвердить или отклонить до запуска инструмента.
  • История диалога и файлы, созданные в ходе работы.
Условия работы системы
  • Бизнес-пользователи видят сведения о продукте, а разработчики могут работать и с его исходным кодом.
  • Каждая сохранённая версия репозитория связана с конкретной ревизией.
  • В длительной задаче пользователь видит прогресс, отвечает на уточнения и подтверждает запуск инструментов.
  • Чат открывается внутри приложения, о котором спрашивает пользователь.
01 / Как работает сервис

Вопрос сотрудника → контекст продукта → проверка действия → ответ

Карта процессаСплошная линия: обычный ход · пунктир: повтор или возврат
Карта процесса: oracleКарта показывает последовательность работы, решения и альтернативные маршруты.
ВХОДВопрос сотрудникаВыбранный продукт и профиль
ДАННЫЕКонтекст продуктаВерсия исходников и карта кода
РАЗВИЛКАРешение ассистентаОтветить, уточнить или вызвать инструмент
РАЗВИЛКАПроверка доступаРазрешить, отказать или спросить
СЕРВИСВыполнить разрешённый инструментОграниченный доступ и режим запуска
РЕЗУЛЬТАТОтветОтвет сохраняется в истории
ДАННЫЕИстория диалогаВопрос, события, ответ и файлы
ШАГУточнениеОжидание ответа сотрудника
ШАГЗапросить подтверждениеДо запуска решение принимает сотрудник
РЕЗУЛЬТАТОтказ в действииИнструмент не запускается
  1. ВХОДВопрос сотрудника

    Выбранный продукт и профиль

    ДалееКонтекст продукта
    новый диалогИстория диалога
  2. ДАННЫЕКонтекст продукта

    Версия исходников и карта кода

    ДалееРешение ассистента
  3. РАЗВИЛКАРешение ассистента

    Ответить, уточнить или вызвать инструмент

    ответОтвет
    нужно уточнитьУточнение
    запрос инструментаПроверка доступа
  4. РАЗВИЛКАПроверка доступа

    Разрешить, отказать или спросить

    разрешеноВыполнить разрешённый инструмент
    нужно подтверждениеЗапросить подтверждение
    отказОтказ в действии
  5. СЕРВИСВыполнить разрешённый инструмент

    Ограниченный доступ и режим запуска

    результат инструментаОтвет
  6. РЕЗУЛЬТАТОтвет

    Ответ сохраняется в истории

    ответ в историиИстория диалога
  7. ДАННЫЕИстория диалога

    Вопрос, события, ответ и файлы

  8. ШАГУточнение

    Ожидание ответа сотрудника

  9. ШАГЗапросить подтверждение

    До запуска решение принимает сотрудник

    подтвержденоВыполнить разрешённый инструмент
  10. РЕЗУЛЬТАТОтказ в действии

    Инструмент не запускается

Стрелки показывают направление работы; подписи на ветках объясняют решения, ошибки и повторы.
02 / Архитектура системы

Основные части и их роль

OIDC / app registry

Выбор контекста

Пользователь выбирает приложение и профиль под свою задачу.

Как устроено

Встроенная авторизация связывает пользователя с группой приложения и убирает технические роли.

Git sync / commit SHA

Загрузка знаний

Ассистент получает версионированный контекст нужных репозиториев.

Как устроено

Фоновая синхронизация сохраняет ревизию репозитория и строит карту кода, по которой ассистент находит нужные файлы.

PostgreSQL / Celery

Фиксация запуска

Вопрос и параметры выполнения становятся отслеживаемой задачей.

Как устроено

Планировщик не запускает новую задачу, пока предыдущая не завершена. PostgreSQL хранит текущую попытку и состояние сессии, а Celery передаёт задачу worker.

Agent worker

Решение агента

Worker может ответить, запросить уточнение или предложить инструмент.

Как устроено

Перед продолжением система проверяет ответ worker. Запуск инструмента зависит от выбранного режима и ограничен таймаутом.

Capability policy

Проверка действия

Действие разрешается, отклоняется или отправляется на подтверждение.

Как устроено

Политика проверяет запрошенный инструмент, режим запуска и контекст диалога. Для доступа к папкам дополнительно нужно разрешение браузера на выбранную папку.

SSE / sequence cursor

Ход работы

Пользователь видит прогресс и может вернуться после разрыва соединения.

Как устроено

События агента сохраняются по порядку. При разрыве соединения интерфейс продолжает получать события с последнего принятого.

Messages / artifacts

Сохранение результата

Ответ, версия контекста и созданные файлы остаются связаны с диалогом.

Как устроено

В диалоге сохраняются ответ ассистента, ревизия репозитория и файлы, созданные во время задачи.

03 / Детали реализации

Инженерные решения

01

Доступ перед действием

Запросы инструментов проходят через явную политику и состояние подтверждения.

02

Версионированный контекст

Ревизии репозиториев связаны со снимком знаний: ответ можно соотнести с исходным кодом.

03

Возобновляемое взаимодействие

Сохранённые события и курсор последовательности поддерживают продолжение долгих задач после разрыва связи.

Разработка приложений для бизнеса

Есть задача для разработки?

Расскажите, что должно делать приложение, как команда работает сейчас и какие требования или сроки важно учесть.