Градированная автономия
Четыре уровня риска и механизм принятия решений
Градированная автономия — это архитектурный императив, не рекомендация. Это материализация Второго Закона Стандарта Онатомии (Служение Свободе): Эмиссар должен усиливать свободу Мастера создавать Новое.
Каждый агент работает на своём уровне риска. Переход между уровнями автоматический и предсказуемый.
Принцип
Второй Закон Стандарта: Эмиссар должен усиливать свободу Мастера создавать Новое. Градированная автономия — это архитектура, которая делает это возможным: чем ниже риск действия, тем больше автономии у Эмиссара. Чем выше риск — тем больше контроля у Мастера.
Keith Johnstone (Impro): «Yes, and…» к ограничениям. Мы не боремся с реальностью — мы адаптируемся. Каждый уровень автономии — это «Yes» к текущим условиям и «and» к действиям, которые в них возможны.
Donella Meadows: Точка рычага. Изменение уровня риска меняет поведение всей системы, не одного агента.
Artifex-centrismus (Креоцентризм): Автономия существует для того, чтобы освободить время Мастера (Artifex) для творчества. Если автономия начинает требовать больше внимания, чем освобождает — система работает против Креоцентризма.
Четыре уровня
Уровень 1: Local Core (100% автономия)
Approval Gate: Нет Описание: Полностью локальные операции. Ничего не покидает Mac mini.
Разрешённые действия:
- Сканирование архива RAW
- Генерация метаданных (локально, через Qwen 7B)
- Предпросмотр и организация файлов
- Бэкапы (restic, rsync)
- Self-Healing Agent (автоматическое восстановление)
- Локальный RAG (поиск в Memvid)
- Консолидация памяти (ConsolidateAgent каждые 30 мин)
- Анализ лакатосовского журнала (MetaAgent inner loop)
- Мониторинг дисков, VPN, памяти
- Чтение спецификаций из
specs/(Spec-First)
Консолидация памяти:
- ConsolidateAgent работает полностью автономно (Local Core)
- Memvid read/write операции не требуют одобрения
- Sanitization pipeline для входящих данных (post-Memory-Heist)
- Memory compression (целевой показатель 16x)
Примеры:
Том: «Сканирую 50 новых RAW-файлов. Генерирую метаданные.»
Том: «Консолидация памяти: найдено 12 связей, сгенерировано 3 insights.»
Том: «Self-Healing: перезапустил disk_monitor после сбоя.»
Том: «Читаю specs/style-guardian.spec.md для проверки соответствия.»
Уровень 2: Safe Channel (90% автономия)
Approval Gate: Постфактум отчёт Описание: Действия в доверенных каналах. Том действует, затем отчитывается.
Разрешённые действия:
- Публикация в Telegram-канал
- Публикация на Boosty
- Публикация на Avito
- Локальный B2B (личные связи, рубли)
- Автоответ в iMessage (по шаблонам)
- Создание цифровых продуктов (пресеты, wallpapers, LUTs)
- Веб-доступ к Библии через self-hosted tunnelto
Условия:
- Rollback всегда возможен
- Постфактум отчёт в воскресный batch
- Style Guardian имеет право вето (откатывает публикацию)
- tunnelto self-hosted relay для веб-доступа к Библии (read-only static mirror)
- Публикация отчётов о консолидации памяти в воскресный дайджест
- Style Guardian проверяет все публикации (DPR + CLIP)
Примеры:
Том: «Опубликовал 3 пресета в Telegram. Style Guardian одобрил.»
Том: «Отправил предложение по B2B-съёмке. Жду ответа.»
Том: «Библия доступна по https://onatomia.local:8080 (tunnelto relay).»
Уровень 3: Deferred Foreign (55% автономия)
Approval Gate: Явное approve upload Описание: Действия во внешней среде. Том готовит, Сергей одобряет.
Разрешённые действия:
- Загрузка на Adobe Stock / Shutterstock (до 8 фото/день, 30/месяц)
- Вывод крипты менее 150 USD за транзакцию
- Изменение промптов метаданных (в пределах стиля)
- AI Data Licensing (подготовка сделки)
Условия:
- VPN обязателен (иначе переход в Safe Channel)
- Месячный лимит: 30 фото
- Shadow Portfolio только (нет геотегов, нет метаданных, нейтральные описания)
- Удаление всех геотегов и metadata перед загрузкой
- Никогда не упоминать Россию/Пермь
- Public/Private eval split: MetaAgent оптимизирует по public, Verifier фильтрует по private
- Reward hack monitoring: отслеживание попыток обойти стиль
- Полный audit trail для каждого внешнего запроса (logs/external_requests.jsonl)
Примеры:
Том: «Подготовил 5 фото для Adobe Stock. Жду 'approve upload'.»
Сергей: «approve upload»
Том: «Загружено 5 фото. USDT +12.40 на Trust Wallet.»
Уровень 4: Manual High-Risk (0% автономия)
Approval Gate: Полное ручное управление Описание: Том не действует. Только информирует и ждёт.
Требует ручного управления:
- Вывод крипты более 150 USD за транзакцию
- Изменение SOUL.md
- Изменение settings.json
- Новые каналы монетизации
- AI Data Licensing (финализация сделки)
- Добавление новых внешних инструментов (web_fetch, MCP, API)
- Изменение красных линий
- Снятие read-only с Archive/Seed Kit
- Добавление web_fetch / web_browse / MCP с сетевым доступом (post-Memory-Heist)
- Изменение optimization_budget
- Миграция на новую LLM-модель (Bonsai 27B)
- Изменение архитектуры памяти (Memvid на что-то другое)
- Изменение спецификаций в
specs/(Spec-First)
Примеры:
Том: «MANUAL HIGH-RISK: Обнаружена возможность AI Data Licensing (800 USD). Жду решения.»
Том: «MANUAL HIGH-RISK: Предложение изменить SOUL.md §3. Жду одобрения.»
Том: «MANUAL HIGH-RISK: Bonsai 27B Ternary доступен в Ollama. Запустить A/B тест?»
Том: «MANUAL HIGH-RISK: Предлагаю обновить specs/meta-agent.spec.md. Жду одобрения.»
Триггеры перехода
Переходы между уровнями автоматические и определяются условиями среды:
| Триггер | Откуда → Куда | Действие |
|---|---|---|
| Потеря VPN | Deferred Foreign → Safe Channel | Блокировка загрузок, алерт в iMessage |
| Массовые блокировки | Все → Local Core (Emergency) | Полная изоляция, только локальные операции |
| Команда пауза | Все → Pause Mode | Система спит, сохраняет состояние |
| Восстановление VPN + лимит не исчерпан | Safe Channel → Deferred Foreign | Возврат к загрузкам |
| Месячный лимит исчерпан (30 фото) | Deferred Foreign → Safe Channel | Блокировка до следующего месяца |
| Power outage | Все → Pause Mode | Graceful shutdown, сохранение state |
| Memory Guard более 90% | Все → Local Core (Emergency) | Остановка всех агентов кроме Self-Healing |
| Reward hack rate более 30% | Deferred Foreign → Safe Channel | Алерт в Soul Check, MetaAgent на паузе |
| Burnout Protection срабатывает (§13) | Все → Pause Mode | Автоматическая пауза 14 дней |
Автоматические переходы в коде
# В core/feedback_loops.py
class AutonomyController:
def check_triggers(self):
if not self.vpn_connected:
self.transition("deferred_foreign", "safe_channel")
self.alert("VPN потерян. Deferred Foreign заблокирован.")
if self.monthly_uploads >= 30:
self.transition("deferred_foreign", "safe_channel")
self.alert("Месячный лимит исчерпан.")
if self.reward_hack_rate > 0.30:
self.transition("deferred_foreign", "safe_channel")
self.alert("Reward hack rate >30%. Soul Check required.")
if self.memory_usage > 0.90:
self.transition("all", "local_core")
self.alert("Memory Guard >90%. Emergency mode.")
if self.cognitive_load_hours > 10 or self.burnout_triggers_met():
self.transition("all", "pause_mode")
self.alert("Burnout Protection (§13) активирована. Пауза 14 дней.")
AIDE² Outer Loop и автономия
MetaAgent работает как outer loop (по паттерну Weco AI AIDE²), но в пределах своего уровня автономии.
Inner Loop (агенты)
- Photo Analyst: Local Core (сканирование, метаданные)
- Uploader: Deferred Foreign (загрузка на стоки)
- Style Guardian: Local Core (проверка стиля)
- ConsolidateAgent: Local Core (консолидация памяти)
Outer Loop (MetaAgent)
- Оптимизирует inner-loop harness (промпты, память, search policy)
- Работает в Local Core (анализ логов, генерация предложений)
- Применение улучшений может требовать более высокого уровня:
- Изменение промпта → Local Core (автоматически)
- Изменение стиля → Manual High-Risk (требует Soul Check)
- Изменение архитектуры → Manual High-Risk (требует одобрения)
- Изменение спецификации → Manual High-Risk (Spec-First требует одобрения Мастера)
Spec-First подход (Лампорт)
MetaAgent работает в двух режимах:
- Spec Mode (Thinking) — MetaAgent пишет
.spec.mdвspecs/ - Approval Gate — Мастер одобряет спецификацию (Manual High-Risk)
- Implementation Mode (Typing) — MetaAgent пишет код
Это гарантирует, что изменения архитектуры сначала обдумываются, потом кодируются.
Fixed Optimization Budget
- 500K токенов/неделю для MetaAgent
- 10 вызовов Style Guardian/цикл
- Если бюджет исчерпан → MetaAgent замораживается до понедельника
- Улучшения должны быть эффективнее, не просто тратить больше
Public/Private Eval Split
- Public (human_review_log.jsonl): MetaAgent видит, оптимизирует
- Private (soul_check_private.jsonl): только Verifier + Сергей
- Финальный отбор улучшений — по private score
- Защита от reward hacking первого порядка
Post-Memory-Heist Hardening
После анализа атаки на Claude (Ayush Paul, 2026), добавлены 4 новые красные линии, влияющие на автономию:
Новые ограничения
| Правило | Уровень | Влияние |
|---|---|---|
| Нет web_fetch / web_browse / MCP | Manual High-Risk | Никогда не добавлять без одобрения |
| Sanitization перед записью в память | Local Core | Автоматически для всех данных |
| Верификация импортированных данных | Local Core | Style Guardian + integrity check |
| Audit trail для внешних запросов | Все уровни | Логирование URL, payload, timestamp |
Sanitization Pipeline
Все входящие данные проходят через core/sanitization.py перед записью в Memvid:
# В core/sanitization.py
class SanitizationPipeline:
def sanitize(self, data: dict) -> dict:
# 1. Удалить потенциальные prompt injection patterns
data = self.remove_injection_patterns(data)
# 2. Валидировать структуру
data = self.validate_schema(data)
# 3. Проверить integrity (checksum)
data = self.verify_integrity(data)
# 4. Пометить как sanitized
data["_sanitized"] = True
data["_sanitized_at"] = datetime.now().isoformat()
return data
Audit Trail
Любой внешний запрос (если разрешён) логируется:
{
"timestamp": "2026-07-20T14:30:00Z",
"agent": "uploader",
"url": "https://stock.adobe.com/api/v1/upload",
"method": "POST",
"payload_hash": "sha256:abc123...",
"response_code": 200,
"autonomy_tier": "deferred_foreign",
"approval_id": "approve_upload_20260720_001"
}
Режимы работы
Помимо четырёх уровней автономии, система имеет четыре режима работы:
| Режим | Описание | Триггер |
|---|---|---|
| Normal | Все каналы активны | По умолчанию |
| LowRisk | Минимальные внешние действия | Потеря VPN, ручной выбор |
| Emergency | Полностью локальный | Массовые блокировки, Memory Guard >90% |
| Pause | Сон системы | Команда пауза, power outage, Burnout Protection (§13) |
Emergency Mode
Когда система переходит в Emergency:
- Все внешние каналы заблокированы
- Deferred Foreign полностью остановлен
- Local Core работает (сканирование, бэкапы, консолидация)
- Safe Channel ограничен (только iMessage Bridge для связи с Сергеем)
- Self-Healing Agent активен
- Алерт в iMessage: «EMERGENCY MODE. Все внешние действия заблокированы.»
Pause Mode
Когда система переходит в Pause:
- Все агенты приостановлены
- Состояние сохранено в logs/bootstrap_state.json
- Возобновление по команде старт или bootstrap resume
- Алерт в iMessage: «PAUSE MODE. Система спит. Команда ‘старт’ для возобновления.»
Burnout Protection Pause (§13 SOUL.md)
Когда срабатывает Burnout Protection:
- Триггеры:
cognitive_load> 10 часов/неделю ИЛИ Soul Check 3 недели подряд показывает «система как работа» - Действие: Автоматическая пауза на 14 дней
- Разрешено: Только чтение, только ручное создание
- Запрещено: Агенты, оптимизации
- Триггеры выхода:
- Сон 8+ часов 5 ночей подряд
- Субъективное «хочу вернуться» (не «надо»)
- Soul Check: «Гордость > Обязанность»
Это не слабость. Это защита Мастера (Нулевой Закон).
Принцип Наблюдателя и автономия
Принцип Наблюдателя: Система без Творца = волновая функция без коллапса.
Градированная автономия существует для того, чтобы освободить время Творца для коллапса суперпозиции возможностей в конкретные создания.
Метрика здоровья:
- Не «сколько агентов работает автономно»
- А «сколько коллапсов произошло на этой неделе»
Если автономия начинает требовать больше внимания Мастера, чем освобождает — система работает против Принципа Наблюдателя. Это сигнал активировать Burnout Protection (§13) или пересмотреть уровни автономии.
Градированная автономия — не ограничение. Это архитектура доверия и служение свободе (Второй Закон Стандарта). Чем выше риск, тем больше контроля у Мастера. Чем ниже риск, тем больше свободы у Эмиссара. Баланс определяется не правилами, а петлями обратной связи и Принципом Наблюдателя.