AI Vibe Craft
← Назад к AI Vibe News

Редакция 12 июня 2026 г.

Разборы

Open Reflection Protocol: один сбой AI-агента — урок, тест и guardrail

Open Reflection Protocol: один сбой AI-агента — урок, тест и guardrail.

ORP — open-source слой для AI-агентов на базе OpenTelemetry: фиксирует провалы coding-агента, собирает из них регрессионные тесты и переиспользуемые уроки и проверяет, улучшились ли результаты на практике. 11 июня 2026 года автор fujo_for_text выложил библиотеку на GitHub и опубликовал короткий обзор на Dev.to.

Три исполняемых артефакта вместо «запомни на будущее»

Типичный agentic workflow ломается на повторе: агент снова пропускает anonymous-путь в тестах, правит не тот файл или гоняет ту же падающую команду. ORP позиционируется как experience layer поверх трейсов — не замена observability, а надстройка, которая превращает trace в три типа артефактов.

Артефакт Роль в цикле агента
Lesson Извлекаемый совет с ограниченным scope (пример: «Test anonymous, authenticated, and forbidden paths»)
Eval Регрессионный тест, воспроизводящий конкретный сбой
Guardrail Превентивное правило до следующего запуска

Урок проходит жизненный цикл candidate → active → under_review → deprecated → rejected. В retrieval попадают только active уроки — и каждый остаётся active лишь после измерения эффекта.

Пакет open-reflection-protocol версии 1.0.0 распространяется под лицензией MIT; runtime зависит от pydantic>=2.0, Python ≥3.10. Исходники — в репозитории Fujo930/ORP на GitHub.

Observations и Claims: агент не является ground truth

ORP явно не претендует записывать «реальное мышление» модели. В протоколе разделены два слоя:

  • Observations — вывод инструментов, результаты тестов, exit codes
  • Claims — то, что агент утверждает: диагнозы, уверенность, формулировки вроде «the fix is complete»

Claims автоматически не считаются истиной — их оспаривают (challenged). Для разработчика, который собирает агента в IDE или через CLI-обёртку, это принципиально: ошибка фиксируется не по самоотчёту LLM, а по проверяемым наблюдениям.

Evidence first: выводы должны ссылаться на evidence; необоснованные claims помечаются, а не попадают в урок как факт.

Такой расклад ближе к инженерному QA, чем к «добавь в system prompt не делай так больше».

CLI и MCP: доставка уроков в следующий запуск агента

Минимальный цикл из первоисточника — четыре команды: обёртка агента, извлечение урока, MCP-сервер и сравнение экспериментов:

# 1. Обёртка любого агента
orp wrap -- python my_agent.py

# 2. Захват прогона, challenge claims, компиляция Lesson + Eval
orp learn latest

# 3. Доставка уроков в будущие прогоны через MCP
orp mcp-server --transport stdio

# 4. Сравнение до/после
orp diff exp_before exp_after

MCP-сервер экспонирует три инструмента: orp_retrieve_lessons(task, limit) — в начале новой задачи; orp_acknowledge_lesson(lesson_id) — после получения урока; orp_report_outcome(lesson_id, outcome) — после применения. Демо: uv run python demo/orp_demo.py; экспериментальный suite — uv run python exps/runner.py.

Установка: pip install open-reflection-protocol.

В планах развития — native hooks для AG2, LangGraph и OpenAI Agents SDK, плюс прогон 10-task suite с реальными LLM через API. Интеграции с Cursor, Claude Code или файлами .cursor/rules / IDE skills в первоисточнике не описаны; доставка уроков задумана через MCP, а guardrails в ORP — отдельный артефакт протокола, не документированная замена prompt-файлам.

Как ORP измеряет, что агент реально улучшился

Механизм improvement завязан на outcome, а не на красивый текст урока. Три опоры:

  1. Жизненный цикл — урок не остаётся active без измерения эффекта
  2. orp diff exp_before exp_after — сравнение экспериментов до и после
  3. orp_report_outcome — отчёт об исходе применения урока в MCP-потоке

По данным поста, таблица прогона 10 распространённых паттернов сбоев coding-агентов, по 5 trials на паттерн (100 runs total), выглядит так:

Метрика Без ORP С ORP
Task success rate 14% 100%
Repeat failure rate high 0%
Lesson application 100%
Eval validity 85%

Go/No-Go assessment — 4/4 checks passed. Какие именно агенты и модели использовались в этом suite, не раскрыто; «Real LLM experiments» с API вынесены в планы — заявленный прогон и будущие LLM-эксперименты в тексте разведены.

Типичные failures в иллюстрациях — пропуск тестового пути для anonymous user, правка не того файла, повтор падающей команды. Формальной таксономии (галлюцинации vs tool-call errors vs code regression) первоисточник не даёт.

Шесть принципов и границы короткого обзора

Дизайн ORP сводится к шести тезисам: evidence first; executable reflection (уроки → evals и guardrails, не только текст); outcome-based оценка; OpenTelemetry-native расширение существующих трейсов; default private (данные локально, de-identified, prompt/tool output не уходит наружу); управляемый lifecycle уроков.

Материал на Dev.to — обзор примерно на 2 минуты чтения: таблицы, CLI-блоки, ссылка на demo и exps/. Это не пошаговый enterprise-гайд; детали — в репозитории. На момент публикации у проекта на GitHub 2 звезды — ранняя стадия open-source инструмента для агентного качества, а не зрелый стандарт экосистемы.

Для команд, которые уже строят agentic pipelines с трейсингом, ORP предлагает конкретный контракт: один зафиксированный сбой → Lesson + Eval + Guardrail → проверка на следующем запуске через MCP. Стоит пробовать на своих failing runs — с оговоркой, что независимого бенчмарка вне таблицы автора пока нет.

Источники