Что такое Cradle?
Cradle — шлюз между вашим агентом и его инструментами. Агент предлагает действие, правила решают, можно ли его выполнить, и решение остаётся в журнале, который нельзя переписать незаметно.
Определение
Cradle — шлюз между вашим агентом и его инструментами. Агент предлагает действие, правила решают, можно ли его выполнить, и решение остаётся в журнале, который нельзя переписать незаметно.
У механизма во всей документации одно имя: шлюз исполнения (execution gate). Ваш агент не вызывает инструменты напрямую. Он подаёт типизированное предложение; шлюз оценивает его без участия модели; результат дописывается в журнал с хеш-цепочкой.
Отсюда три свойства, именно в этом порядке:
- Governed. Правило живёт снаружи агента и версионировано — видно, по
какому именно разрешили вызов. Подтверждено
policy.ts,registry.ts,approvals.ts. - Sovereign. Своё железо, свой контур. Модели и данные его не покидают.
Подтверждено Docker, локальными GGUF-моделями,
node-llama-cpp. - Auditable. Append-only журнал с хеш-цепочкой, проверяется запуском
команды. Подтверждено
audit.tsиverifyAuditChain().
Эта страница разделяет что работает сегодня и принятую архитектуру. Разделение существенно: архитектура — это решение, а не описание всех путей, которые есть в коде прямо сейчас.
Что работает сегодня
В коде существуют два механизма. Они управляют разными вещами и между собой не связаны.
Шлюз исполнения — действия над системами
src/core/runtime/ решает, можно ли выполнить вызов инструмента:
Предложение агента типизированное, вместо прямого вызова
→ детерминированный контракт, регистрация инструмента, требуемые права,
гейт класс побочного эффекта (чистый → необратимый),
идемпотентность
→ одобрение человека для необратимого: с границами, со сроком,
однократное, никогда не выданное самому себе
→ исполнение незарегистрированный инструмент вызвать нельзя
→ запись в журнал предложение, решение, наблюдение — цепочка SHA-256Сегодня доступен через агентный цикл вызова инструментов и десктопный клиент.
По HTTP не выставлен: src/server/ не ссылается на gateway.ts, поэтому
внешний агент не может подать предложение в сервер.
Двухуровневая оценка риска — ответы людям
src/core/triage/ решает, можно ли отправить черновик ответа:
Входящее сообщение
→ Риск L1 (детерминированные правила) → флаги PII / инъекций / опасного
→ Риск L2 (LLM-классификатор) → { category, risk, confidence, skills }
→ Роутер → выбирает агента по роли и навыкам
→ RAG → опирает черновик на вашу базу знаний
→ Агент → пишет черновик с цитатами
→ Решение:
green → автоответ
yellow / red → Inbox оператора → approve / edit / reject → отправкаЭтот путь не проходит через шлюз исполнения: orchestrator.ts не вызывает
gateway.ts.
Верификация
Движок верификации существует — реестр, верификаторы поверх инструментов,
компенсация, переходы состояния. С доменными пакетами не поставляется ни
одного верификатора (verifiers: [] в обоих). Постусловие без
зарегистрированного верификатора завершается как inconclusive, но никогда как
pass. Механизм построен, содержимого нет. «Доказать, что произошло на самом
деле» — пока не часть продукта.
Принятая архитектура
Cradle — нейросимволическая среда исполнения: модель рассуждает в вероятностях, среда управляет явными правилами, и эти правила выражены над словарём выполнения, а не в прозе промпта. Это решение о том, куда движется продукт; полностью оно описано в документе нейросимволическая среда исполнения, где каждый раздел помечен как текущее состояние или как цель.
Чего этот документ не утверждает: что риск-гейт сегодня обращается к словарю выполнения. Не обращается — два механизма выше независимы. Утверждение станет верным, когда появится путь, и не раньше.
Из чего это состоит
| Часть | Что это | Роль |
|---|---|---|
| Cradle (десктоп) | Electron-клиент | Консоль: настроить коннекторы, проверить и одобрить. Инференс сам не выполняет. |
Cradle Server / cradle-cli | Headless cradle-server + тонкий CLI | Хранит данные и коннекторы, выполняет инференс. |
| SmartNotes | Отдельное приложение | Интеграция, а не часть Cradle: отдельный репозиторий, связь по MCP через smartnotes-local. |
Существующие каналы: Telegram, встраиваемый веб-виджет, HTTP API и MCP в обе стороны — Cradle может и потреблять ваши MCP-серверы, и выступать одним из них.
Куда дальше
- Впервые с Cradle? Установите десктопное приложение.
- Есть GPU-машина? Следуйте руководству по GPU-серверу.
- Нужна общая картина? Прочитайте обзор архитектуры.
- Нужен полный целевой замысел? Прочитайте нейросимволическую среду исполнения.
- Пользуетесь голосовыми заметками? Прочитайте документацию SmartNotes.