Проблема «черного ящика» в AI-агентах
Современные LLM-агенты часто работают как «черные ящики»: вы даете задачу, получаете результат, но не можете гарантировать его корректность или воспроизвести процесс. Kotra решает эту проблему, внедряя парадигму verifiable AI workflows. Система разделяет роли: LLM-модели занимаются рассуждением, код — проверкой результатов, а люди — принятием решений, требующих контекста.
Ключевая особенность — сохранение истории выполнения и артефактов между перезапусками. Это позволяет не только запускать пайплайны, но и «отматывать» их назад, сравнивать разные запуски и экспортировать доказательную базу (evidence) для аудита.
Архитектура и стек технологий
Проект написан на Go для бэкенда (CLI и Engine) и Rust/React для десктопного приложения (Tauri). В основе выполнения лежит движок River (очередь задач), хранящий состояние в PostgreSQL. Для изоляции выполнения кода используются Docker-песочницы.
Система поддерживает интеграцию с популярными провайдерами через профили:
- Ollama (локальные модели)
- OpenAI Responses
- Anthropic Messages
- MCP (Model Context Protocol) через Streamable HTTP или изолированный stdio
Типы узлов и контроль исполнения
Worflow-графы описываются в YAML с использованием JSON Schema для типизации входных данных. Knotra предлагает 9 типов узлов, позволяющих строить сложные логики:
| Тип узла | Назначение |
|---|---|
llm |
Вызов языковой модели для генерации или анализа |
code |
Выполнение произвольного кода (Python/JS) для проверки |
human |
Пауза для ручного одобрения или корректировки |
tool |
Вызов внешних инструментов (API, файлы) |
switch |
Условная логика (if/else) на основе CEL-выражений |
foreach / loop |
Итерации по массивам данных |
pipeline |
Вложенные пайплайны |
Важно: система поддерживает run budgets (лимиты на ресурсы), строгие сетевые ограничения и явные разрешения на доступ к секретам. Это критично для безопасности при работе с внешними API.
Практические кейсы: от игры до релиза
В репозитории представлены два демонстрационных сценария, показывающих мощь верификации:
- Генерация и исправление игры (Tic-Tac-Toe): AI генерирует JS-код, запускает фиксированные тесты. Если тест падает, следующий итеративный шаг использует ошибку для исправления кода. Финальный результат проверяется в изолированной песочнице перед экспортом в HTML.
- Пайплайн релиза сервиса: Проверка 6 сервисов через 30 узлов. Система собирает отчеты о тестах, хэши снимков репозитория и рекомендации агентов. Финальный пакет (ZIP) содержит SHA-256 хэши всех артефактов, что позволяет доказать неизменность данных с момента проверки до деплоя.
Старт и доступность
Kotra не требует установки Go. Достаточно Docker, Docker Compose и Ollama (или ключей API). Установка через CLI-утилиту:
./knotra doctor
./knotra quickstart --dir $PWD/knotra-data
Проект распространяется под лицензией MIT. На текущий момент система рассчитана на однопользовательское выполнение на одном хосте. Функции RBAC, многопользовательского одобрения и политик хранения данных заявлены в roadmap.
Источник: Github ↗
