Lore, дай своему кодировочному агенту решения, которые уже принял твой коллектив

Lore, дай своему кодировочному агенту решения, которые уже принял твой коллектив

Lore, это детерминированная система хранения и подачи знаний команды кодировочным агентам (Claude Code, Cursor, Claude Desktop). Она работает на основе RAC (Requirements as Code), открытого движка, который хранит требования, решения, дизайн, дорожные карты и промпты как типизированный Markdown прямо в репозитории. Агент получает доступ к этим решениям по MCP-серверу и может ссылаться на них вместо того чтобы их нарушать или переделывать.

Ключевая фишка Lore: поиск решений детерминирован и воспроизводим, никакого RAG, встраиваний (embeddings) или вызовов модели для выбора релевантного. Retrieval работает как прямая выборка, а не нечёткий поиск. Вся информация хранится в репозитории как простой Markdown с YAML-фронтматтером; MCP-сервер доступа только на чтение, а граница доверия находится на уровне PR-ревью, агент не может менять хранилище знаний.

Инструмент поддерживает валидацию и гейт в CI: rac validate и rac gate отклоняют поломанные артефакты, разорванные ссылки и ссылки на устаревшие решения ДО того, как знание попадёт в репозиторий. Система полностью замкнута, не делает LLM-вызовов и сетевых запросов (пинг телеметрии отключен по умолчанию). Lore интегрируется с внешними системами памяти и RAG через экспорт, но сам агент использует Lore как источник истины.

Для миграции существующих знаний из Confluence, Notion или других источников есть умение rac-import, которое превращает один документ в валидный артефакт с человеческой проверкой.

Ключевые факты

  • Lore хранит решения и требования как типизированный Markdown в репозитории и подаёт их кодировочным агентам через MCP, детерминированно, без RAG и эмбеддингов
  • Валидация и гейт в CI (rac validate, rac gate) гарантируют, что только корректные и актуальные решения попадут в репозиторий
  • MCP-сервер доступа только на чтение; агент не может менять хранилище знаний, граница доверия на PR-ревью
  • Система полностью замкнута, не делает LLM-вызовов и сетевых запросов, может работать offline
  • Поддерживает экспорт в Open Knowledge Format (OKF), HTML-портал и граф для интеграции с внешней памятью или RAG-системами

Почему это важно

Кодировочные агенты часто игнорируют решения, которые команда уже приняла, и переделывают их заново. Lore решает эту проблему, дав агенту доступ к записанным решениям команды, требованиям, архитектурным решениям (ADR), дизайну. Детерминированный поиск означает, что агент всегда находит ровно то решение, которое актуально сейчас, и не путается с устаревшими вариантами. Это критично для команд, которые активно используют кодировочных агентов и хотят, чтобы те соответствовали установленному направлению.

Кому это важно

Команды, которые пишут ADR и хотят, чтобы эти решения реально влияли на работу агентов; команды, уставшие от того что агенты игнорируют уже принятые решения и нарушают архитектурные ограничения; любой, кто хочет версионировать «почему» рядом с кодом; организации, требующие детерминированного и воспроизводимого поиска без чёрных ящиков.

Как это применить

Установить: pip install rac-core или uv tool install rac-core (требуется Python 3.11+). Запустить rac quickstart для настройки и скаффолдинга первого артефакта. Подключить к агенту: для Claude Code из корня репо claude mcp add lore -- rac mcp, для Claude Desktop/Cursor добавить запись в mcpServers. Добавить валидацию в CI: rac validate rac/ && rac gate rac/. Для миграции существующих знаний из Confluence или Notion использовать умение rac-import.

Можно ли доверять

Да. Система основана на открытом движке RAC, хранит данные в репозитории как обычный Markdown с YAML, не делает LLM-вызовов и сетевых запросов для поиска. Валидация в CI гарантирует, что только корректные артефакты попадут в мейнстрим. Граница доверия находится на PR-ревью, а не на уровне системы. MCP-сервер работает только на чтение, агент не может менять хранилище.

Риски и подводные камни

Система ещё на ранней стадии и быстро развивается. Требует Python 3.11+ и дополнительной настройки CI. Знания нужно активно поддерживать, устаревшие решения нужно явно отмечать как superseded, иначе агент может не понять, что они больше не актуальны. Если документация плохо структурирована изначально, миграция может потребовать ручного приведения в порядок. Детерминированный поиск хорош для точной выборки, но не помогает при нечётких запросах, для этого рекомендуется сначала найти нечётко (RAG), потом проверить в Lore.