Глоссарий

Предметный словарь DeepSeek Harness держит по одному каноническому термину на понятие. Термины ссылаются на свои статьи обычными Markdown-якорями; детали реализации остаются в README пакетов и в Agent Notes.

Шов возможностей (capability-seam)

  • шов (seam) — заменяемая возможность с тремя ролями: определение сервиса (Service Definition) (класс Cordis Service, владеющий своим ctx.<key> и типами словаря — абстрактный класс вроде ShellExecutor или конкретный реестр вроде WebRuntime, но никогда не TypeScript-interface), один или больше провайдеров сервиса (Service Provider) и один или больше потребителей (Consumer), которые инжектируют сервис. Канонический пример — packages/shell: dsh-shell (определение сервиса), dsh-bash-local / dsh-bash-sandbox (провайдеры) и dsh-tool-bash (потребитель). Обычно роли занимают отдельные пакеты, когда развиваются независимо, но пакет может владеть несколькими ролями, если это одна забота (dsh-user-approval держит в одном пакете и определение сервиса шва подтверждений, и его конкретную реализацию). Шов — это возможность целиком, а не одна роль; берегите термин для этого смысла, а составную часть называйте по её роли, классу, сервису, контракту или точке расширения.

Область агента (agent-scope)

  • область (scope) — единица регистрации на агента: вклад (инструмент, секция промпта, переменная, ограничение, слушатель) либо глобальный (виден каждому агенту), либо в области (принадлежит ровно одному ключу области). Два уровня, плоско: регистрации в области не наследуются вниз к субагентам; поведение поддерева выражается данными родословной, а не структурой областей.
  • ключ области (scope key) — непрозрачная идентичность, по которой ключуется область; сравнивается по идентичности объекта. Соглашение harness: живой агент — ключ собственной области.
  • контекст агента (agent context, agent.ctx) — контекст агента в его области; регистрации через него одновременно видимы в области И живут столько, сколько область (один факт определяет и то и другое), а слушатели на нём участвуют в диспетчеризациях, отфильтрованных по области этого агента. События с субъектом-реестром могут намеренно оставаться неотфильтрованными по собственным контрактам.
  • носитель области (scope carrier) — thisArg, который несёт отфильтрованная по области диспетчеризация (строится через scopeTarget); его фильтр пропускает непомеченных слушателей плюс слушателей самого субъекта. Носитель без субъекта (без ключа) пропускает только непомеченных.
  • диспетчеризация по области (scoped dispatch) — правило: событие о деятельности одного агента диспетчеризуется с носителем этого агента. События о самом реестре (добавлен инструмент) имеют субъект-реестр и остаются неотфильтрованными.
  • затенение (shadowing) — разрешение имён по принципу «побеждает более конкретное»: инструмент/секция/переменная в области замещает одноимённого глобального близнеца только для этой области. Так устроены персона на агента и вариант инструмента на агента.
  • ограничение / регистрация локально в области (restriction / scope-local registration) — ограничение (tools.restrict) фильтрует ГЛОБАЛЬНЫЙ набор инструментов для одной области (композиция через пересечение); регистрации локально в области подмешиваются после этого фильтра. Отфильтрованный глобальный инструмент отсутствует в промпте И отказывается выполняться — так же, как несуществующий.
  • окно настройки (setup window) — слот при создании, в котором создатель собирает мир агента в его области (CreateAgentOptions.setup): после того как область и объект агента существуют, но до публикации агента или сессии, срабатывания agent/created и сборки первого промпта. Настройка регистрирует; она никогда не управляет агентом.
  • родословная (lineage) — факты «родитель/потомок», переносимые как данные (parentSession, сохраняемый delegationDepth, subagentDepth времени выполнения); на видимость не влияют никогда.

Цель (goal)

  • цель (goal) — одна сохраняемая задача на завершение, прикреплённая к существующей сессии, с версионируемой фазой active / paused / blocked / complete и лимитом раундов цели; blocked хранит код политики и объяснение. Цель — состояние, а не планировщик и не отдельный разговор; источником истины остаётся лог сессии.
  • раунд цели (goal round) — один цикл продолжения, допущенный для текущей цели. Драйвер той же сессии материализует раунд цели как один ход, инициированный целью, который может содержать ноль или больше шагов; не связанные с целью ходы человека в той же сессии лимит раундов не расходуют.
  • активация цели (goal activation) — локальное для процесса разрешение потребителю продолжений допустить ещё один раунд цели. Активация либо armed, либо disarmed; из сохраняемого воспроизведения она намеренно исключена, поэтому возобновление и форк требуют более поздней мутации resume, санкционированной человеком через /goal или инструмент модели, прежде чем начнётся автоматическая работа.

Команда пользователя (human command)

  • команда пользователя (human command) — инструкция с префиксом-слэшем, которую интерпретирует и выполняет обращённый к человеку адаптер через ctx.commands, не превращая её в сообщение для модели. Это не то же самое, что инструмент для модели, и не то же самое, что выполнение shell-команды через ctx.shell.
  • плоскость команд (command plane) — обнаружение, разбор, диспетчеризация, отмена и отрисовка результата, которыми владеют UI-адаптеры и плагины команд. Вывод команды — состояние UI, если обработчик отдельно не мутирует сохраняемый домен.
  • команда цели (goal command) — команда пользователя /goal, которую вносит dsh-command-goal; она напрямую наблюдает или мутирует текущую цель, при этом всеми сохраняемыми, видимыми модели записями владеет домен цели.

Иерархия цикла (loop hierarchy)

  • ход (turn) — одно вычерпывание (drain) допущенного ввода в сессии, которое заканчивается, когда модель и её инструменты останавливаются или вмешивается терминальная политика.
  • шаг (step) — один запрос к модели плюс выполнения инструментов, вызванные его ответом; ход содержит ноль или больше шагов.
  • раунд (round) — внешняя итерация политики, содержащая ход, например раунд цели или одна попытка Ralph со свежим агентом. Счётчики раундов принадлежат этой политике и не считают каждый ход в сессии.

Ralph

  • цикл Ralph (Ralph loop) — один запуск рабочего процесса со свежим агентом на переднем плане, нацеленный на неизменяемую задачу. Это политика инструмента для модели, собранная из примитивов рабочих процессов и субагентов, а не цель в той же сессии, не режим цикла агента, не планировщик и не общая функция скриптов рабочих процессов.
  • раунд Ralph (Ralph round) — одна свежая дочерняя сессия в цикле Ralph. Потомок не получает затравки из разговора родителя или предыдущего потомка; состояние между раундами переносят общая рабочая область и одна ограниченная передача Ralph.
  • передача Ralph (Ralph handoff) — нормализованный ограниченный структурированный отчёт, который один продолжающийся раунд Ralph передаёт следующему: статус, резюме, свидетельства, следующие шаги и текст блокера. Он дополняет общую рабочую область, а не заменяет её как источник истины.
перевод и редактура:

обновлено

⌕ ESC