Фреймворк JAWL (Just A While Loop) представляет собой асинхронный Python-инструмент для создания событийно-управляемых ИИ-агентов. Система работает на базе механизма Event-Driven ReAct Loop и использует гибридную векторно-графовую память Vector-Graph RAG, объединяющую Qdrant и KuzuDB для хранения семантических данных и логических связей. Архитектура разделена на четыре слоя: слой состояний для кэширования, слой баз данных для долгосрочной памяти, слой интерфейсов для внешних плагинов и ядро агента для высокоуровневой логики.
Для оптимизации затрат на запросы к моделям реализован локальный Event Bus, который управляет просыпанием агента в зависимости от приоритета событий. События разделены на уровни от BACKGROUND и LOW до CRITICAL, при этом критические события вызывают мгновенную активацию модели. Для корректной работы с русским языком в систему интегрированы алгоритмы RapidFuzz и FlashText.
Система позволяет делегировать рутинные задачи специализированным фоновым субагентам, таким как CODER, WEB_RESEARCHER и QA_ENGINEER. Субагенты работают в изолированных Stateless ReAct циклах на более дешевых моделях, например Gemini 3.5 Flash Lite, и предоставляют результат в виде Markdown-отчетов. Нагрузка на API регулируется через asyncio.Semaphore.
Для безопасной самомодификации кода предусмотрен механизм Deploy Sessions. Перед внесением правок система создает транзакционный Copy-on-Write бэкап файлов, после чего запускает синтаксический анализатор compileall и тесты pytest. В случае провала тестов и исчерпания лимита попыток система автоматически выполняет откат изменений. Проект распространяется под лицензией MIT и доступен на GitHub.

