Community编程与开发github.com

Human in the Loop (Человек в цикле)

Одноразовый браузерный интерфейс для обратной связи владельца агенту: утвердить и поправить документ по разделам, ответить на открытые вопросы с готовыми вариантами, разметить материалы вслепую для эталона, оценить предложения по шкале. Страница собирается скриптом из spec.json, владелец жмет «Скопировать JSON для агента», агент применяет ответы.

Human in the Loop (Человек в цикле) 是什么?

Human in the Loop (Человек в цикле) — это слой одноразовых веб-интерфейсов, который позволяет владельцу проекта взаимодействовать с агентом (например, Claude Code) через браузер, а не через длинные диалоги в чате. Агент создает файл spec.json, описывающий, что нужно утвердить, отредактировать или выбрать, затем скрипт build.py генерирует автономную HTML-страницу. Владелец открывает страницу, вносит изменения (статусы разделов, правки текста, ответы на вопросы, оценку по шкале) и нажимает кнопку «Скопировать JSON для агента», после чего агент применяет ответы. Поддерживаются сценарии: утверждение документов (спеки, PRD, планы), множественный выбор из вариантов, слепая разметка эталонов с последующей оценкой совпадений через score.py, а также оценка предложений по шкале. Инструмент работает на любой платформе, где есть Python и браузер (Chrome, Chromium), не требует серверной части — все выполняется локально в CLI.

兼容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/vasilievyakov/human-in-the-loop/tree/HEAD/skills/human-in-the-loop

Installed? Explore more 编程与开发 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

Human in the Loop (Человек в цикле) 是做什么的?

Слой одноразовых интерфейсов между владельцем и агентом. Агент описывает, что владельцу нужно посмотреть и решить, скрипт собирает автономную HTML-страницу, владелец отвечает в браузере в любом порядке и возвращает JSON. Страницу не пишут руками: только spec.json и scripts/build.py.

$SKILL ниже означает папку этого файла.

Когда брать

  • Документ на утверждение: спека, PRD, КП, план. Статус по разделам, правка текста на месте, ответы на открытые вопросы.
  • Выбор из вариантов по нескольким вопросам сразу, у каждого вопроса варианты агента и свой ответ.
  • Разметка эталона вслепую: владелец отвечает, ответы модели лежат в отдельном файле и на страницу не попадают, потом score.py считает совпадение.
  • Оценка предложений по шкале.

Если вопрос один или два, спрашивай в чате.

Цикл

  1. Spec. Собери spec.json (формат: references/spec-format.md). Для Markdown-документа есть заготовка: python3 $SKILL/scripts/from_markdown.py doc.md --options options.json -o spec.json (разделы ## и ### становятся блоками с правкой, раздел «Открытые вопросы» становится вопросами с вариантами из options.json). Для слепой разметки скрытые ответы клади в отдельный sidecar.json, в spec.json их быть не должно.
  2. Страница. python3 $SKILL/scripts/build.py spec.json -o page.html собирает и открывает страницу. Клади spec и страницу рядом с проектом (например в private/), не в scratchpad, чтобы владелец мог вернуться. Скажи владельцу одной строкой, что открыто и что от него нужно.
  3. Владелец отвечает и вставляет в чат JSON (кнопка «Скопировать JSON для агента»). В JSON только то, что он тронул: status, comment, markdown_old/markdown_new, answers, notes, плюс decision и general_comment.
  4. Агент применяет ответы по полю task из JSON и отчитывается: что изменил, что осталось. Пустой decision при наличии кнопок решения значит, что решение не принято: переспроси, не считай документ утвержденным. Для разметки: сохрани JSON и запусти python3 $SKILL/scripts/score.py labels.json sidecar.json --spec spec.json. Расхождения покажи владельцу списком, ошибки разметки не исправляй сам.

Если spec изменился, страница пересобирается с новой версией, старые ответы в браузере к ней не применяются.

Проверка

python3 $SKILL/tests/selftest.py [папка] собирает оба примера из examples/, проходит их в headless Chromium и проверяет выгрузки. Запускай после любой правки шаблона или скриптов.

相关技能