← Agent Engine

Стек и структура

agent-engine · workzone
Backend
стек — библиотеки
Фоновый запуск → Полосы исполнения
SAQ · очередь прогонов SAQ cron → Cache & Workers
Агентный цикл / Модели → Агентный цикл
chat-client · tool-calling AI KS-примитивы как инструменты → Knowledge Store
Хранилище → Модель данных
SQLAlchemy 2.0 · async asyncpg Alembic
Фреймворк
FastAPI Pydantic v2
структура — файлы · achilles/agent_engine/
agent_engine/      модуль = отдельный пакет
├── *.py           router · service · schemas · constants
├── runtime/       агентный цикл: композиция промта → tools → выход
└── scheduler/     расписание + постановка прогонов в фоновую очередь
Почему runtime/ отдельной папкой
Агентный цикл — самостоятельный слой поверх сервиса: композиция слоёв промта, вызов инструментов KS, многошаговый reasoning и запись выхода в журнал прогона. Сами примитивы поиска, графа и sql — в Knowledge Store, не здесь.
Frontend
Своего фронтенда у Agent Engine нет. Экраны сотрудника (мои агенты, редактор с журналом прогонов и «Запустить сейчас») и админские (список всех агентов, профиль read-only, замок админа) рендерят surface'ы как тонкие клиенты единого API. У сотрудника это → Web App, у администратора — → Admin Panel.
Tool-calling харнесс — общий слой, не наш. Chat-client с инструментами под движком — один на платформу, общий с Query Engine; дом вынесен отдельной страницей Tool-calling харнесс. Agent Engine лишь параметризует его — три инструмента (search / graph / sql) и петля до потолка итераций.
Внешняя оркестрация — не в v1. Ядро агентов с внешними API напрямую не работает. Для сложной кросс-системной оркестрации Achilles выступает нодой в workflow n8n (отдельный контейнер) — Внешняя оркестрация.