<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
    <title>Notes &amp; Insights - mcp</title>
    <subtitle>Блог об архитектуре систем, AI-агентах, распределенных системах и алгоритмическом трейдинге.</subtitle>
    <link rel="self" type="application/atom+xml" href="https://xsa-dev.github.io/tags/mcp/atom.xml"/>
    <link rel="alternate" type="text/html" href="https://xsa-dev.github.io"/>
    <generator uri="https://www.getzola.org/">Zola</generator>
    <updated>2026-10-27T00:00:00+00:00</updated>
    <id>https://xsa-dev.github.io/tags/mcp/atom.xml</id>
    <entry xml:lang="ru">
        <title>Архитектура автономного AI-агента: 6 уровней от 24/7 демона и шлюзов до MCP, иерархической памяти и Kanban-оркестрации</title>
        <published>2026-10-27T00:00:00+00:00</published>
        <updated>2026-10-27T00:00:00+00:00</updated>
        
        <author>
          <name>Alexei Savin</name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://xsa-dev.github.io/posts/hermes-agent-autonomous-runtime-kanban-architecture/"/>
        <id>https://xsa-dev.github.io/posts/hermes-agent-autonomous-runtime-kanban-architecture/</id>
        
        <content type="html" xml:base="https://xsa-dev.github.io/posts/hermes-agent-autonomous-runtime-kanban-architecture/">&lt;p&gt;Интерактивные интерфейсы языковых моделей (браузерные веб-чаты, REPL в терминале) функционируют в синхронной модели запрос-ответ (In-the-loop): вычислительный процесс привязан к клиентской сессии. При потере сетевого соединения, закрытии окна терминала или сбое локального устройства исполнение инструкций прерывается, а контекстное состояние сбрасывается. Построение автономных систем требует отделения процесса принятия решений от клиентского интерфейса и развертывания &lt;strong&gt;агентного рантайма как постоянного фонового сервиса операционной системы&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;В такой архитектуре рантайм функционирует непрерывно, самостоятельно обрабатывает внешние события по расписанию или через вебхуки, исполняет операции в локальной песочнице и координирует распределенные подзадачи.&lt;/p&gt;
&lt;p&gt;Инженерный разбор открытой платформы &lt;strong&gt;Hermes Agent&lt;/strong&gt; (Nous Research) позволяет формализовать шестиуровневую модель архитектурной зрелости агентных рантаймов: от изоляции системного процесса до мультиагентной оркестрации через визуальный интерфейс Kanban.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Первоисточники и материалы анализа:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Видеоматериал:&lt;/strong&gt; &lt;a rel=&quot;external&quot; href=&quot;https://youtu.be/XNcKUSL1CTE&quot;&gt;The Ultimate Beginner’s Guide to Hermes Agent&lt;/a&gt; (канал Metics Media, автор Matt).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Официальная спецификация:&lt;/strong&gt; &lt;a rel=&quot;external&quot; href=&quot;https://hermes-agent.nousresearch.com/docs&quot;&gt;Hermes Agent Documentation&lt;/a&gt; (Nous Research).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Концептуальная база:&lt;/strong&gt; Model Context Protocol (Anthropic/Open-Source MCP Specification), POSIX Process Supervision, Persistent Markdown-based State Layers.&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;
&lt;hr /&gt;
&lt;h2 id=&quot;6-urovnei-arkhitekturnoi-zrelosti-agentnogo-rantaima&quot;&gt;6 уровней архитектурной зрелости агентного рантайма&lt;/h2&gt;
&lt;p&gt;Архитектура надежного автономного агента декомпозируется на шесть изолированных уровней абстракции:&lt;/p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #BFBDB6; background-color: #0D1017;&quot; &gt;&lt;code data-lang=&quot;mermaid&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;flowchart&lt;/span&gt;&lt;span style=&quot;color: #FFB454;&quot;&gt; BT&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    L1&lt;/span&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #AAD94C;&quot;&gt;&amp;quot;Уровень 1: Инфраструктурный фундамент&amp;lt;br/&amp;gt;(Headless VPS, Systemd Daemon, Process Isolation)&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;]&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    L2&lt;/span&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #AAD94C;&quot;&gt;&amp;quot;Уровень 2: Декомпозиция интерфейсов&amp;lt;br/&amp;gt;(Telegram Gateway, Desktop App, Protocol Decoupling)&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;]&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    L3&lt;/span&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #AAD94C;&quot;&gt;&amp;quot;Уровень 3: Интеграция окружения&amp;lt;br/&amp;gt;(Model Context Protocol, JSON-RPC, Tool Execution Engine)&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;]&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    L4&lt;/span&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #AAD94C;&quot;&gt;&amp;quot;Уровень 4: Иерархическая память и навыки&amp;lt;br/&amp;gt;(USER.md, MEMORY.md, Procedural SKILL.md, SOUL.md)&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;]&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    L5&lt;/span&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #AAD94C;&quot;&gt;&amp;quot;Уровень 5: Фоновая автономия и роутинг моделей&amp;lt;br/&amp;gt;(Cron Scheduler, Heartbeat Alerts, SLM/LLM Cost Tiers)&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;]&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    L6&lt;/span&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #AAD94C;&quot;&gt;&amp;quot;Уровень 6: Мультиагентность и оркестрация&amp;lt;br/&amp;gt;(Sub-agent Delegation, Isolated Sandboxes, Kanban Board)&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;]&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    L1 &lt;/span&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;--&amp;gt;&lt;/span&gt;&lt;span&gt; L2&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    L2 &lt;/span&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;--&amp;gt;&lt;/span&gt;&lt;span&gt; L3&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    L3 &lt;/span&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;--&amp;gt;&lt;/span&gt;&lt;span&gt; L4&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    L4 &lt;/span&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;--&amp;gt;&lt;/span&gt;&lt;span&gt; L5&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    L5 &lt;/span&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;--&amp;gt;&lt;/span&gt;&lt;span&gt; L6&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Каждый уровень решает изолированную задачу управления ресурсами, состоянием или протоколами взаимодействия.&lt;/p&gt;
&lt;hr /&gt;
&lt;h2 id=&quot;uroven-1-infrastrukturnyi-fundament-i-headless-demon&quot;&gt;Уровень 1: Инфраструктурный фундамент и headless-демон&lt;/h2&gt;
&lt;p&gt;Базовым требованием автономности является исполнение рантайма на независимом сервере (VPS) под управлением супервизора процессов ОС.&lt;/p&gt;
&lt;h3 id=&quot;spetsifikatsiia-sistemnogo-servisa-systemd&quot;&gt;Спецификация системного сервиса (systemd)&lt;/h3&gt;
&lt;p&gt;Для обеспечения непрерывности выполнения агент регистрируется как юнит &lt;code&gt;systemd&lt;/code&gt; с жесткими квотами ресурсов (&lt;code&gt;cgroups v2&lt;/code&gt;):&lt;/p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #BFBDB6; background-color: #0D1017;&quot; &gt;&lt;code data-lang=&quot;ini&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #59C2FF;&quot;&gt;[Unit]&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;Description&lt;/span&gt;&lt;span style=&quot;color: #BFBDB6B3;&quot;&gt;=&lt;/span&gt;&lt;span&gt;Hermes Agent Headless Runtime Daemon&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;After&lt;/span&gt;&lt;span style=&quot;color: #BFBDB6B3;&quot;&gt;=&lt;/span&gt;&lt;span&gt;network-online.target&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;Wants&lt;/span&gt;&lt;span style=&quot;color: #BFBDB6B3;&quot;&gt;=&lt;/span&gt;&lt;span&gt;network-online.target&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #59C2FF;&quot;&gt;[Service]&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;Type&lt;/span&gt;&lt;span style=&quot;color: #BFBDB6B3;&quot;&gt;=&lt;/span&gt;&lt;span&gt;simple&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;User&lt;/span&gt;&lt;span style=&quot;color: #BFBDB6B3;&quot;&gt;=&lt;/span&gt;&lt;span&gt;hermes&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;Group&lt;/span&gt;&lt;span style=&quot;color: #BFBDB6B3;&quot;&gt;=&lt;/span&gt;&lt;span&gt;hermes&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;WorkingDirectory&lt;/span&gt;&lt;span style=&quot;color: #BFBDB6B3;&quot;&gt;=&lt;/span&gt;&lt;span&gt;/home/hermes&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;Environment&lt;/span&gt;&lt;span style=&quot;color: #BFBDB6B3;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #AAD94C;&quot;&gt;&amp;quot;HOME=/home/hermes&amp;quot;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;Environment&lt;/span&gt;&lt;span style=&quot;color: #BFBDB6B3;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #AAD94C;&quot;&gt;&amp;quot;PYTHONUNBUFFERED=1&amp;quot;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;ExecStart&lt;/span&gt;&lt;span style=&quot;color: #BFBDB6B3;&quot;&gt;=&lt;/span&gt;&lt;span&gt;/home/hermes/.local/bin/hermes daemon --config /home/hermes/.hermes/config.yaml&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;Restart&lt;/span&gt;&lt;span style=&quot;color: #BFBDB6B3;&quot;&gt;=&lt;/span&gt;&lt;span&gt;always&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;RestartSec&lt;/span&gt;&lt;span style=&quot;color: #BFBDB6B3;&quot;&gt;=&lt;/span&gt;&lt;span&gt;5s&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #5A6673;font-style: italic;&quot;&gt;# Ресурсная изоляция ядра Linux (cgroups v2)&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;MemoryMax&lt;/span&gt;&lt;span style=&quot;color: #BFBDB6B3;&quot;&gt;=&lt;/span&gt;&lt;span&gt;8G&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;MemoryHigh&lt;/span&gt;&lt;span style=&quot;color: #BFBDB6B3;&quot;&gt;=&lt;/span&gt;&lt;span&gt;7G&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;CPUQuota&lt;/span&gt;&lt;span style=&quot;color: #BFBDB6B3;&quot;&gt;=&lt;/span&gt;&lt;span&gt;200%&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;TasksMax&lt;/span&gt;&lt;span style=&quot;color: #BFBDB6B3;&quot;&gt;=&lt;/span&gt;&lt;span&gt;1024&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #5A6673;font-style: italic;&quot;&gt;# Ограничения безопасности файловой системы&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;ProtectSystem&lt;/span&gt;&lt;span style=&quot;color: #BFBDB6B3;&quot;&gt;=&lt;/span&gt;&lt;span&gt;full&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;ProtectHome&lt;/span&gt;&lt;span style=&quot;color: #BFBDB6B3;&quot;&gt;=&lt;/span&gt;&lt;span&gt;read-only&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;ReadWritePaths&lt;/span&gt;&lt;span style=&quot;color: #BFBDB6B3;&quot;&gt;=&lt;/span&gt;&lt;span&gt;/home/hermes/.hermes /home/hermes/workspace /tmp&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;NoNewPrivileges&lt;/span&gt;&lt;span style=&quot;color: #BFBDB6B3;&quot;&gt;=&lt;/span&gt;&lt;span&gt;true&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #59C2FF;&quot;&gt;[Install]&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;WantedBy&lt;/span&gt;&lt;span style=&quot;color: #BFBDB6B3;&quot;&gt;=&lt;/span&gt;&lt;span&gt;multi-user.target&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&quot;otkazoustoichivost-i-kontrol-nye-tochki&quot;&gt;Отказоустойчивость и контрольные точки&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Супервизия жизненного цикла:&lt;/strong&gt; При возникновении аппаратных перезагрузок или падении процесса из-за Out-Of-Memory супервизор автоматически перезапускает демон (&lt;code&gt;Restart=always&lt;/code&gt;) с задержкой 5 секунд.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Транзакционные контрольные точки:&lt;/strong&gt; Состояние диалогов, очереди вызовов и метаданные задач фиксируются в локальной реляционной базе SQLite (&lt;code&gt;state.db&lt;/code&gt;) в режиме WAL (Write-Ahead Logging), исключая повреждение данных при внезапном сбросе питания.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Изоляция сессионных директорий:&lt;/strong&gt; Все операции изменения кода выполняются в выделенной рабочей директории (&lt;code&gt;~/workspace/&lt;/code&gt;), изолированной от системных каталогов хоста.&lt;/li&gt;
&lt;/ol&gt;
&lt;hr /&gt;
&lt;h2 id=&quot;uroven-2-otdelenie-rantaima-ot-interfeisov-vzaimodeistviia&quot;&gt;Уровень 2: Отделение рантайма от интерфейсов взаимодействия&lt;/h2&gt;
&lt;p&gt;В агентном рантайме пользовательские клиенты являются точками отправки событий (Event Sources), а не владельцами вычислительного процесса.&lt;/p&gt;
&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th style=&quot;text-align: left&quot;&gt;Шлюз управления&lt;/th&gt;&lt;th style=&quot;text-align: left&quot;&gt;Сетевой транспорт&lt;/th&gt;&lt;th style=&quot;text-align: left&quot;&gt;Профиль сценариев использования&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: left&quot;&gt;&lt;strong&gt;Telegram Bot Gateway&lt;/strong&gt;&lt;/td&gt;&lt;td style=&quot;text-align: left&quot;&gt;HTTPS Long-Polling / Webhook&lt;/td&gt;&lt;td style=&quot;text-align: left&quot;&gt;Мобильное управление, аудиокоманды, push-нотификации и интерактивный контур подтверждения (HITL)&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: left&quot;&gt;&lt;strong&gt;Hermes Desktop App&lt;/strong&gt;&lt;/td&gt;&lt;td style=&quot;text-align: left&quot;&gt;WebSocket / Local IPC / gRPC&lt;/td&gt;&lt;td style=&quot;text-align: left&quot;&gt;Десктопная среда разработки, синхронизация файлов, просмотр диффов кода, инспекция логов&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: left&quot;&gt;&lt;strong&gt;Web Dashboard&lt;/strong&gt;&lt;/td&gt;&lt;td style=&quot;text-align: left&quot;&gt;REST API + Server-Sent Events&lt;/td&gt;&lt;td style=&quot;text-align: left&quot;&gt;Панель администрирования, аудит токенов, управление профилями моделей Nous Portal&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;h3 id=&quot;obrabotka-asinkhronnykh-vkhodiashchikh-sobytii-cherez-telegram&quot;&gt;Обработка асинхронных входящих событий через Telegram&lt;/h3&gt;
&lt;p&gt;Шлюз Telegram решает задачу круглосуточного асинхронного канала связи. Архитектура обработки сообщения:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Прием пакета:&lt;/strong&gt; Шлюз получает обновление Telegram Bot API через HTTPS.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Аудио-транскрибация:&lt;/strong&gt; При наличии голосовой заметки бинарный аудиопоток передается в оптимизированный инференс-модуль (Whisper), возвращающий нормализованный текст.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Асинхронная постановка в очередь:&lt;/strong&gt; Команда помещается в системную очередь задач демона. Пользователю возвращается подтверждение приема (&lt;code&gt;msg_id&lt;/code&gt;), предотвращая разрыв соединения по таймауту.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Доставка результата:&lt;/strong&gt; По завершении вычислений результат (текстовый отчет, скомпилированный артефакт или лог) отправляется ответным сообщением с корректным MIME-типом.&lt;/li&gt;
&lt;/ol&gt;
&lt;hr /&gt;
&lt;h2 id=&quot;uroven-3-integratsiia-okruzheniia-cherez-model-context-protocol&quot;&gt;Уровень 3: Интеграция окружения через Model Context Protocol&lt;/h2&gt;
&lt;p&gt;Для взаимодействия с внешними подсистемами рантайм использует протокол &lt;strong&gt;Model Context Protocol (MCP)&lt;/strong&gt;. MCP стандартизирует обмен данными между LLM и инструментами через JSON-RPC 2.0.&lt;/p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #BFBDB6; background-color: #0D1017;&quot; &gt;&lt;code data-lang=&quot;mermaid&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;sequenceDiagram&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;    autonumber&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;    participant&lt;/span&gt;&lt;span&gt; Agent&lt;/span&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt; as&lt;/span&gt;&lt;span style=&quot;color: #AAD94C;&quot;&gt; Hermes Agent Runtime&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;    participant&lt;/span&gt;&lt;span&gt; Client&lt;/span&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt; as&lt;/span&gt;&lt;span style=&quot;color: #AAD94C;&quot;&gt; MCP Client Manager&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;    participant&lt;/span&gt;&lt;span&gt; Server&lt;/span&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt; as&lt;/span&gt;&lt;span style=&quot;color: #AAD94C;&quot;&gt; External MCP Server&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;    participant&lt;/span&gt;&lt;span&gt; Target&lt;/span&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt; as&lt;/span&gt;&lt;span style=&quot;color: #AAD94C;&quot;&gt; External API / Subsystem&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    Agent&lt;/span&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;-&amp;gt;&amp;gt;&lt;/span&gt;&lt;span&gt;Client&lt;/span&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color: #AAD94C;&quot;&gt; Запрос списка доступных инструментов (tools/list)&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    Client&lt;/span&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;-&amp;gt;&amp;gt;&lt;/span&gt;&lt;span&gt;Server&lt;/span&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color: #AAD94C;&quot;&gt; JSON-RPC 2.0 Request: tools/list&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    Server&lt;/span&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;--&amp;gt;&amp;gt;&lt;/span&gt;&lt;span&gt;Client&lt;/span&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color: #AAD94C;&quot;&gt; Схема инструментов (JSON Schema: name, params, types)&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    Client&lt;/span&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;--&amp;gt;&amp;gt;&lt;/span&gt;&lt;span&gt;Agent&lt;/span&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color: #AAD94C;&quot;&gt; Регистрация определений в контексте LLM&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;    Note&lt;/span&gt;&lt;span style=&quot;color: #FFB454;&quot;&gt; over&lt;/span&gt;&lt;span&gt; Agent&lt;/span&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color: #AAD94C;&quot;&gt; Модель генерирует Tool Call с аргументами&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    Agent&lt;/span&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;-&amp;gt;&amp;gt;&lt;/span&gt;&lt;span&gt;Client&lt;/span&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color: #AAD94C;&quot;&gt; tool_call(name=workspace_search, args=...)&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    Client&lt;/span&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;-&amp;gt;&amp;gt;&lt;/span&gt;&lt;span&gt;Server&lt;/span&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color: #AAD94C;&quot;&gt; JSON-RPC 2.0 Request: tools/call&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    Server&lt;/span&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;-&amp;gt;&amp;gt;&lt;/span&gt;&lt;span&gt;Target&lt;/span&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color: #AAD94C;&quot;&gt; Исполнение запроса к API / Файловой системе&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    Target&lt;/span&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;--&amp;gt;&amp;gt;&lt;/span&gt;&lt;span&gt;Server&lt;/span&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color: #AAD94C;&quot;&gt; Ответ целевой системы&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    Server&lt;/span&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;--&amp;gt;&amp;gt;&lt;/span&gt;&lt;span&gt;Client&lt;/span&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color: #AAD94C;&quot;&gt; JSON-RPC Response: structured result&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    Client&lt;/span&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;--&amp;gt;&amp;gt;&lt;/span&gt;&lt;span&gt;Agent&lt;/span&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color: #AAD94C;&quot;&gt; Инъекция результата в контекст следующей итерации&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&quot;spetsifikatsiia-json-rpc-2-0-vyzova-instrumenta&quot;&gt;Спецификация JSON-RPC 2.0 вызова инструмента&lt;/h3&gt;
&lt;p&gt;Пример полезной нагрузки между клиентом MCP и сервером инструментов:&lt;/p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #BFBDB6; background-color: #0D1017;&quot; &gt;&lt;code data-lang=&quot;json&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;{&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #39BAE6;&quot;&gt;  &amp;quot;jsonrpc&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #BFBDB6B3;&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color: #AAD94C;&quot;&gt; &amp;quot;2.0&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #BFBDB6B3;&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #39BAE6;&quot;&gt;  &amp;quot;id&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #BFBDB6B3;&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color: #AAD94C;&quot;&gt; &amp;quot;req-10492&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #BFBDB6B3;&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #39BAE6;&quot;&gt;  &amp;quot;method&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #BFBDB6B3;&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color: #AAD94C;&quot;&gt; &amp;quot;tools/call&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #BFBDB6B3;&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #39BAE6;&quot;&gt;  &amp;quot;params&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #BFBDB6B3;&quot;&gt;:&lt;/span&gt;&lt;span&gt; {&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #39BAE6;&quot;&gt;    &amp;quot;name&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #BFBDB6B3;&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color: #AAD94C;&quot;&gt; &amp;quot;sqlite_query&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #BFBDB6B3;&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #39BAE6;&quot;&gt;    &amp;quot;arguments&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #BFBDB6B3;&quot;&gt;:&lt;/span&gt;&lt;span&gt; {&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #39BAE6;&quot;&gt;      &amp;quot;db_path&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #BFBDB6B3;&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color: #AAD94C;&quot;&gt; &amp;quot;/home/hermes/data/metrics.db&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #BFBDB6B3;&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #39BAE6;&quot;&gt;      &amp;quot;query&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #BFBDB6B3;&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color: #AAD94C;&quot;&gt; &amp;quot;SELECT timestamp, cpu_load, mem_used FROM host_metrics ORDER BY timestamp DESC LIMIT 10;&amp;quot;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    }&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;  }&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Преимущества протокольной изоляции:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Валидация типов данных:&lt;/strong&gt; Параметры проверяются на соответствие JSON Schema до исполнения на хосте.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Изоляция сбоев процесса:&lt;/strong&gt; Серверы инструментов функционируют как дочерние процессы по &lt;code&gt;stdio&lt;/code&gt; или внешние сервисы по HTTP/SSE. Аварийный останов сервера не дестабилизирует супервизор агента.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Переносимость инструментария:&lt;/strong&gt; Любой сервис, реализующий спецификацию MCP, подключается конфигурационным блоком без правок кода рантайма.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr /&gt;
&lt;h2 id=&quot;uroven-4-ierarkhicheskaia-pamiat-protsedurnye-navyki-i-povedencheskaia-kalibrovka&quot;&gt;Уровень 4: Иерархическая память, процедурные навыки и поведенческая калибровка&lt;/h2&gt;
&lt;p&gt;Для устранения проблемы потери контекста между независимыми задачами состояние агента распределяется по четырем специализированным декларативным слоям.&lt;/p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #BFBDB6; background-color: #0D1017;&quot; &gt;&lt;code data-lang=&quot;plain&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;┌────────────────────────────────────────────────────────┐&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;│                   SOUL.md                              │&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;│       Поведенческие директивы, стиль, правила отказа   │&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;└───────────────────────────┬────────────────────────────┘&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;                            │&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;┌───────────────────────────▼────────────────────────────┐&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;│                   USER.md                              │&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;│       Профиль пользователя: аппаратный стек, лимиты    │&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;└───────────────────────────┬────────────────────────────┘&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;                            │&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;┌───────────────────────────▼────────────────────────────┐&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;│                  MEMORY.md                             │&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;│       Эпизодическая память: прецеденты, аудит ошибок   │&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;└───────────────────────────┬────────────────────────────┘&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;                            │&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;┌───────────────────────────▼────────────────────────────┐&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;│            ~/.hermes/skills/*.md                       │&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;│    Процедурные навыки: детерминированные алгоритмы     │&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;└────────────────────────────────────────────────────────┘&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&quot;matematicheskaia-model-kontekstnogo-biudzheta&quot;&gt;Математическая модель контекстного бюджета&lt;/h3&gt;
&lt;p&gt;Контекстное окно языковой модели строго ограничено размером $C_{\text{total}}$. Доступный объем памяти для генерации новых шагов рассуждения $C_{\text{avail}}$ рассчитывается по балансовому уравнению:&lt;/p&gt;
&lt;p&gt;$$C_{\text{avail}} = C_{\text{total}} - \left( C_{\text{sys}} + C_{\text{soul}} + C_{\text{user}} + C_{\text{tools}} + C_{\text{mem}} + C_{\text{hist}} + C_{\text{out}} \right)$$&lt;/p&gt;
&lt;p&gt;где:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;$C_{\text{sys}}$ — фиксированный системный промпт рантайма;&lt;/li&gt;
&lt;li&gt;$C_{\text{soul}}$ и $C_{\text{user}}$ — постоянные профили ролевых директив и пользовательских ограничений;&lt;/li&gt;
&lt;li&gt;$C_{\text{tools}}$ — токены схем зарегистрированных инструментов MCP;&lt;/li&gt;
&lt;li&gt;$C_{\text{mem}}$ — фрагменты долговременной памяти, извлеченные семантическим поиском;&lt;/li&gt;
&lt;li&gt;$C_{\text{hist}}$ — линейная история сообщений текущей задачи;&lt;/li&gt;
&lt;li&gt;$C_{\text{out}}$ — гарантированный резерв генерации ответа модели.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;При приближении размера истории $C_{\text{hist}}$ к пороговому значению ($C_{\text{hist}} \ge 0.7 \cdot C_{\text{total}}$) активируется процедура контекстного уплотнения (Context Compaction): выводы выполненных системных утилит заменяются структурированными фактами, записываемыми в &lt;code&gt;MEMORY.md&lt;/code&gt;, а сырой вывод очищается из буфера внимания.&lt;/p&gt;
&lt;h3 id=&quot;protsedurnye-navyki-arkhitektura-skill-md&quot;&gt;Процедурные навыки: архитектура SKILL.md&lt;/h3&gt;
&lt;p&gt;Повторяющиеся сложные алгоритмические процедуры упаковываются в формат навыков (Skills). Спецификация хранится в каталоге &lt;code&gt;~/.hermes/skills/&amp;lt;name&amp;gt;/SKILL.md&lt;/code&gt;:&lt;/p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #BFBDB6; background-color: #0D1017;&quot; &gt;&lt;code data-lang=&quot;markdown&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;---&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #39BAE6;&quot;&gt;name&lt;/span&gt;&lt;span style=&quot;color: #BFBDB6B3;&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color: #AAD94C;&quot;&gt; zola-blog-deployment&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #39BAE6;&quot;&gt;description&lt;/span&gt;&lt;span style=&quot;color: #BFBDB6B3;&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color: #AAD94C;&quot;&gt; Use when building and deploying blog updates to GitHub Pages via Zola.&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;---&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #AAD94C;font-weight: bold;&quot;&gt;# Zola Deployment Pipeline&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FFB454;&quot;&gt;1.&lt;/span&gt;&lt;span&gt; Build static output: &lt;/span&gt;&lt;span style=&quot;color: #F29668;&quot;&gt;`cd ~/blog &amp;amp;&amp;amp; zola build`&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FFB454;&quot;&gt;2.&lt;/span&gt;&lt;span&gt; Verify exit status: must be 0 with 0 orphan pages.&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FFB454;&quot;&gt;3.&lt;/span&gt;&lt;span&gt; Commit modified posts: &lt;/span&gt;&lt;span style=&quot;color: #F29668;&quot;&gt;`git add content/ &amp;amp;&amp;amp; git commit -m &amp;quot;feat: new post&amp;quot;`&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FFB454;&quot;&gt;4.&lt;/span&gt;&lt;span&gt; Push to remote: &lt;/span&gt;&lt;span style=&quot;color: #F29668;&quot;&gt;`git push origin main`&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FFB454;&quot;&gt;5.&lt;/span&gt;&lt;span&gt; Watch CI workflow: &lt;/span&gt;&lt;span style=&quot;color: #F29668;&quot;&gt;`gh run watch $(gh run list --limit 1 --json databaseId -q &amp;#39;.[0].databaseId&amp;#39;)`&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Благодаря явному предикату в &lt;code&gt;description&lt;/code&gt; тело навыка не загружается в контекст по умолчанию, сохраняя токены для полезной нагрузки.&lt;/p&gt;
&lt;hr /&gt;
&lt;h2 id=&quot;uroven-5-fonovaia-avtonomiia-i-optimizatsiia-stoimosti-inferensa&quot;&gt;Уровень 5: Фоновая автономия и оптимизация стоимости инференса&lt;/h2&gt;
&lt;p&gt;Автономность требует от агента инициативы: регулярного исполнения контрольных процедур без прямого промпта оператора.&lt;/p&gt;
&lt;h3 id=&quot;planirovshchik-fonovykh-zadach-cron-engine&quot;&gt;Планировщик фоновых задач (Cron Engine)&lt;/h3&gt;
&lt;p&gt;Рантайм содержит внутренний планировщик периодических задач (Cron Scheduler). Каждая задача описывается тремя атрибутами:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Расписание:&lt;/strong&gt; стандартное POSIX-выражение (например, &lt;code&gt;*/30 * * * *&lt;/code&gt;).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Исполняемая цель:&lt;/strong&gt; декларативная системная инструкция.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Политика оповещения:&lt;/strong&gt; отправка сообщения оператору только при фиксации дельты состояния (&lt;code&gt;notify_on_change=true&lt;/code&gt;).&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&quot;dvukhurovnevyi-routing-modelei-po-stoimosti-slm-vs-reasoning-llm&quot;&gt;Двухуровневый роутинг моделей по стоимости (SLM vs Reasoning LLM)&lt;/h3&gt;
&lt;p&gt;Круглосуточный опрос инфраструктуры с использованием крупных reasoning-моделей экономически нецелесообразен. Hermes применяет разделение на два вычислительных контура:&lt;/p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #BFBDB6; background-color: #0D1017;&quot; &gt;&lt;code data-lang=&quot;mermaid&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;flowchart&lt;/span&gt;&lt;span style=&quot;color: #FFB454;&quot;&gt; LR&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    A&lt;/span&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #AAD94C;&quot;&gt;&amp;quot;Событие таймера / Cron Trigger&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;] --&amp;gt;&lt;/span&gt;&lt;span&gt; B&lt;/span&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #AAD94C;&quot;&gt;&amp;quot;Tier 1: Дешевая SLM / Fast LLM&amp;lt;br/&amp;gt;(DeepSeek V3 / Llama-3-8B / Haiku)&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;]&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    B &lt;/span&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;--&amp;gt;&lt;/span&gt;&lt;span&gt; C&lt;/span&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color: #AAD94C;&quot;&gt;&amp;quot;Обнаружено событие&amp;lt;br/&amp;gt;или аномалия?&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;}&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    C &lt;/span&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;--&amp;gt;|&lt;/span&gt;&lt;span style=&quot;color: #AAD94C;&quot;&gt;&amp;quot;Нет (штатный режим)&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;|&lt;/span&gt;&lt;span&gt; D&lt;/span&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #AAD94C;&quot;&gt;&amp;quot;Запись в локальный лог&amp;lt;br/&amp;gt;(Стоимость: ~0.0001 USD)&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;]&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    C &lt;/span&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;--&amp;gt;|&lt;/span&gt;&lt;span style=&quot;color: #AAD94C;&quot;&gt;&amp;quot;Да (требуется анализ)&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;|&lt;/span&gt;&lt;span&gt; E&lt;/span&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #AAD94C;&quot;&gt;&amp;quot;Tier 2: Reasoning Model&amp;lt;br/&amp;gt;(DeepSeek-R1 / Claude 3.5 Sonnet / o1)&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;]&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    E &lt;/span&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;--&amp;gt;&lt;/span&gt;&lt;span&gt; F&lt;/span&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #AAD94C;&quot;&gt;&amp;quot;Генерация фикса, плана и отчета&amp;lt;br/&amp;gt;Отправка алерта оператору в Telegram&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;]&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Формула суммарных суточных эксплуатационных затрат $\text{Cost}_{\text{daily}}$ при двухуровневом роутинге:&lt;/p&gt;
&lt;p&gt;$$\text{Cost}_{\text{daily}} = \sum_{j \in \mathcal{T}_{\text{poll}}} \left( T_{\text{in}}^{(j)} P_{\text{in}}^{\text{SLM}} + T_{\text{out}}^{(j)} P_{\text{out}}^{\text{SLM}} \right) + \sum_{k \in \mathcal{T}_{\text{synth}}} \left( T_{\text{in}}^{(k)} P_{\text{in}}^{\text{LLM}} + T_{\text{out}}^{(k)} P_{\text{out}}^{\text{LLM}} \right)$$&lt;/p&gt;
&lt;p&gt;где:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;$\mathcal{T}_{\text{poll}}$ — множество рутинных проверок состояния;&lt;/li&gt;
&lt;li&gt;$\mathcal{T}_{\text{synth}}}$ — множество инцидентов, потребовавших глубокого анализа;&lt;/li&gt;
&lt;li&gt;$P^{\text{SLM}} \ll P^{\text{LLM}}$ — тарифная ставка за 1000 токенов соответствующего класса моделей.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Применение легковесных моделей первого эшелона снижает суммарные затраты на фоновый мониторинг на 85–92% по сравнению с монолитной архитектурой.&lt;/p&gt;
&lt;hr /&gt;
&lt;h2 id=&quot;uroven-6-mul-tiagentnost-i-kanban-orkestratsiia&quot;&gt;Уровень 6: Мультиагентность и Kanban-оркестрация&lt;/h2&gt;
&lt;p&gt;При выполнении комплексных инженерных проектов (миграция кодовой базы, аудит безопасности) контекст одиночного агента быстро переполняется противоречивыми подзадачами. Архитектура решает это разделением труда между специализированными субагентами.&lt;/p&gt;
&lt;h3 id=&quot;izolirovannoe-ispolnenie-subagentov-delegate-task&quot;&gt;Изолированное исполнение субагентов (delegate_task)&lt;/h3&gt;
&lt;p&gt;Родительский агент декомпозирует целевую директиву на граф задач и порождает дочерние процессы через интерфейс &lt;code&gt;delegate_task&lt;/code&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Песочница окружения:&lt;/strong&gt; Каждый субагент инициализируется в отдельном подкаталоге с независимой сессией терминала.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Изоляция контекста:&lt;/strong&gt; Промежуточные логи сборки и тестовые итерации не транслируются в контекст родителя.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Верифицируемый контракт возврата:&lt;/strong&gt; Субагент возвращает строго типизированный отчет с проверяемыми идентификаторами (хэш git-коммита, путь к скомпилированному артефакту, код возврата линтера).&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;mashina-sostoianii-kanban-orkestratsii&quot;&gt;Машина состояний Kanban-оркестрации&lt;/h3&gt;
&lt;p&gt;Координация потока задач моделируется конечным автоматом (FSM), синхронизированным с доской Kanban:&lt;/p&gt;
&lt;p&gt;$$\mathcal{S} = { \text{Backlog}, \text{Todo}, \text{InProgress}, \text{InReview}, \text{Done} }$$&lt;/p&gt;
&lt;pre class=&quot;giallo&quot; style=&quot;color: #BFBDB6; background-color: #0D1017;&quot; &gt;&lt;code data-lang=&quot;mermaid&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;stateDiagram-v2&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;    [*] --&amp;gt;&lt;/span&gt;&lt;span&gt; Backlog&lt;/span&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color: #AAD94C;&quot;&gt; Декомпозиция цели пользователем&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    Backlog&lt;/span&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt; --&amp;gt;&lt;/span&gt;&lt;span&gt; Todo&lt;/span&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color: #AAD94C;&quot;&gt; Приоритизация и назначение роли&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    Todo&lt;/span&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt; --&amp;gt;&lt;/span&gt;&lt;span&gt; InProgress&lt;/span&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color: #AAD94C;&quot;&gt; Запуск специализированного субагента&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    InProgress&lt;/span&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt; --&amp;gt;&lt;/span&gt;&lt;span&gt; InReview&lt;/span&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color: #AAD94C;&quot;&gt; Генерация артефакта (PR / Код / Отчет)&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    InReview&lt;/span&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt; --&amp;gt;&lt;/span&gt;&lt;span&gt; InProgress&lt;/span&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color: #AAD94C;&quot;&gt; Замечания ревьюера (Rejected)&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    InReview&lt;/span&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt; --&amp;gt;&lt;/span&gt;&lt;span&gt; Done&lt;/span&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color: #AAD94C;&quot;&gt; Успешная верификация гейтов (Approved)&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    Done&lt;/span&gt;&lt;span style=&quot;color: #FF8F40;&quot;&gt; --&amp;gt; [*]:&lt;/span&gt;&lt;span style=&quot;color: #AAD94C;&quot;&gt; Задача закрыта&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Субагенты принимают на себя специализированные роли (Architect, Developer, Reviewer, Tester) и перемещают карточки задач по колонкам доски только при успешном прохождении программных гейтов верификации.&lt;/p&gt;
&lt;hr /&gt;
&lt;h2 id=&quot;sravnitel-nyi-analiz-arkhitekturnykh-paradigm&quot;&gt;Сравнительный анализ архитектурных парадигм&lt;/h2&gt;
&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th style=&quot;text-align: left&quot;&gt;Параметр сравнения&lt;/th&gt;&lt;th style=&quot;text-align: left&quot;&gt;Web-чатбот (ChatGPT/Claude)&lt;/th&gt;&lt;th style=&quot;text-align: left&quot;&gt;Монолитный CLI (Claude Code/Aider)&lt;/th&gt;&lt;th style=&quot;text-align: left&quot;&gt;Автономный рантайм (Hermes Agent)&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: left&quot;&gt;&lt;strong&gt;Среда исполнения&lt;/strong&gt;&lt;/td&gt;&lt;td style=&quot;text-align: left&quot;&gt;Облачный stateless-контейнер&lt;/td&gt;&lt;td style=&quot;text-align: left&quot;&gt;Локальный процесс в активном терминале&lt;/td&gt;&lt;td style=&quot;text-align: left&quot;&gt;Headless-демон на VPS (24/7) под управлением systemd&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: left&quot;&gt;&lt;strong&gt;Жизненный цикл сессии&lt;/strong&gt;&lt;/td&gt;&lt;td style=&quot;text-align: left&quot;&gt;Завершается при закрытии страницы&lt;/td&gt;&lt;td style=&quot;text-align: left&quot;&gt;Завершается при прерывании терминала&lt;/td&gt;&lt;td style=&quot;text-align: left&quot;&gt;Устойчив к сбоям сети, непрерывная супервизия&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: left&quot;&gt;&lt;strong&gt;Каналы управления&lt;/strong&gt;&lt;/td&gt;&lt;td style=&quot;text-align: left&quot;&gt;Веб-интерфейс&lt;/td&gt;&lt;td style=&quot;text-align: left&quot;&gt;Stdin/stdout терминала&lt;/td&gt;&lt;td style=&quot;text-align: left&quot;&gt;Мультиканальные шлюзы: Telegram, Desktop App, REST&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: left&quot;&gt;&lt;strong&gt;Модель памяти&lt;/strong&gt;&lt;/td&gt;&lt;td style=&quot;text-align: left&quot;&gt;Изолированный чат / плоская память&lt;/td&gt;&lt;td style=&quot;text-align: left&quot;&gt;Локальный git-репозиторий&lt;/td&gt;&lt;td style=&quot;text-align: left&quot;&gt;Иерархическая: &lt;code&gt;USER.md&lt;/code&gt;, &lt;code&gt;MEMORY.md&lt;/code&gt;, &lt;code&gt;SKILL.md&lt;/code&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: left&quot;&gt;&lt;strong&gt;Фоновое исполнение&lt;/strong&gt;&lt;/td&gt;&lt;td style=&quot;text-align: left&quot;&gt;Отсутствует&lt;/td&gt;&lt;td style=&quot;text-align: left&quot;&gt;Отсутствует&lt;/td&gt;&lt;td style=&quot;text-align: left&quot;&gt;Нативный Cron Scheduler, Push-on-Delta&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: left&quot;&gt;&lt;strong&gt;Оркестрация задач&lt;/strong&gt;&lt;/td&gt;&lt;td style=&quot;text-align: left&quot;&gt;Одиночная модель в одном окне&lt;/td&gt;&lt;td style=&quot;text-align: left&quot;&gt;Одиночная модель с вызовом подфункций&lt;/td&gt;&lt;td style=&quot;text-align: left&quot;&gt;Иерархические субагенты с Kanban-синхронизацией&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: left&quot;&gt;&lt;strong&gt;Протокол расширения&lt;/strong&gt;&lt;/td&gt;&lt;td style=&quot;text-align: left&quot;&gt;Проприетарные плагины&lt;/td&gt;&lt;td style=&quot;text-align: left&quot;&gt;Локальные bash-команды&lt;/td&gt;&lt;td style=&quot;text-align: left&quot;&gt;Открытый стандарт Model Context Protocol (MCP)&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;hr /&gt;
&lt;h2 id=&quot;inzhenernye-vyvody-i-pravila-razvertyvaniia&quot;&gt;Инженерные выводы и правила развертывания&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Разделение рантайма и интерфейса:&lt;/strong&gt; Вычислительный процесс агента должен исполняться как независимый системный сервис операционной системы, защищенный от сбоев клиентских устройств.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Динамическая загрузка навыков:&lt;/strong&gt; Процедурные знания должны быть оформлены в виде отдельных файлов &lt;code&gt;SKILL.md&lt;/code&gt; и загружаться в оперативный контекст исключительно по релевантному триггеру.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Двухуровневая модель расходов:&lt;/strong&gt; Фоновый мониторинг инфраструктуры должен быть поручен компактным моделям (SLM), сохраняя дорогостоящие reasoning-модели для этапа разрешения верифицированных аномалий.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Верифицируемые артефакты вместо заверений:&lt;/strong&gt; Результатом работы любого субагента должен являться детерминированный системный артефакт (хэш коммита, путь к файлу, успешный вывод тестов), исключающий галлюцинации завершенности.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Управление контекстным бюджетом:&lt;/strong&gt; Предотвращение деградации логики требует периодического уплотнения оперативной истории диалога и выгрузки фактов в долговременную память.&lt;/li&gt;
&lt;/ol&gt;
</content>
        
    </entry>
</feed>
