Создание агентного RAG для Obsidian с помощью Claude и оценочного инструмента для выявления галлюцинаций

Разработчик на r/ClaudeAI создал агентную RAG-систему поверх своего хранилища Obsidian, чтобы Claude мог отвечать на вопросы из инженерных PDF без сжигания еженедельного лимита токенов. Процесс: конвертировать инженерные PDF в markdown, поместить их в хранилище Obsidian, использовать дешевый агент (Kimi K2.5) для BM25-поиска по хранилищу, и показывать Claude только релевантные фрагменты вместо целых книг. Это снизило затраты токенов на вопрос с ~50k до ~5k.
Новая проблема: агент иногда уверенно ошибался — например, говоря "Марк Аврелий писал о смерти в Книге IX, раздел 3", когда канонический отрывок был в Книге IV, раздел 5. Достаточно правдоподобно, чтобы требовалась ручная проверка. Поэтому разработчик создал eval-обвязку с использованием Claude Sonnet 4.6 в качестве LLM-судьи, намеренно из другого семейства моделей, чем агент Kimi, чтобы избежать оценки собственных результатов.
Первоначальная рубрика имела четыре категории, включая 0,7 "тонко, но не неверно". При ручной оценке человек (тот же разработчик, вслепую, в другой день) также сваливал всё пограничное в 0,7. Цифра согласия выглядела внушительно, но на самом деле измеряла общее смещение. После четырех итераций рубрики рабочая версия полностью убрала среднюю категорию и добавила категорию 0,9 для одного конкретного случая: "правильный ответ, неверный фрагмент". Ранее этот случай вызывал ложноположительный (1,0, маскирующий пробел в поиске) или ложноотрицательный результат (0,4, наказывающий за правильный ответ). Разделение исправило это.
По новой рубрике согласие судьи с человеком на 18 строках возросло с 7/18 (39%) до 17/18 (94%). Оговорки: 18 строк — малая выборка, один оценщик (межэкспертная надежность не установлена), BM25 не нов (но хорошо работает для технических/литературных корпусов, где перекрытие лексики запроса и документа высокое). Отрицательный результат: та же техника разбиения на чанки, которая подняла один корпус на 33 п.п., ухудшила другой на 17 п.п. на том же eval — обвязка выявила это на первом прогоне.
Полное описание с историей четырех итераций рубрики, калибровочным листом и заметкой об отрицательном результате — на Medium. Автору интересно, как другие используют Claude Sonnet в качестве судьи для своих RAG/агентных установок, какую рубрику они выбрали и как решают проблему межэкспертной надежности с одним человеком в цикле.
📖 Читать полный источник: r/ClaudeAI
👀 Смотрите также

Разработчик тестирует Apple Intelligence для задач с буфером обмена на устройстве.
Разработчик создал менеджер буфера обмена, используя фреймворк Foundation Models от Apple Intelligence, и обнаружил, что он подходит для повседневных задач, таких как краткие сводки и переписывание текста, но ограничен в работе с неоднозначным языком и детальными задачами.

Перенаправляйте рутинную работу с Claude Code на Gemma через MCP-сервер offload-mcp
offload-mcp — это новый MCP-сервер, который позволяет Claude переносить рутинные задачи, такие как сообщения коммитов и сводки PR, на бесплатные API моделей (по умолчанию Gemma через Google GenAI API), экономя токены Claude и выполняя облегченную работу без ограничений локального оборудования.

latexnav: Инструмент на Python для навигации по файлам LaTeX с помощью ИИ и человека
latexnav — это бесплатный инструмент с открытым исходным кодом на Python, который анализирует файлы LaTeX для извлечения структурных элементов, таких как теоремы, определения, разделы, метки, перекрёстные ссылки и зависимости, предоставляя сводки с точными номерами строк, чтобы помочь LLM и людям эффективно ориентироваться в больших рукописях.

Сервер LocalSynapse MCP позволяет Claude искать в локальных документах без подключения к интернету.
LocalSynapse — это MCP-сервер, который индексирует и выполняет поиск по локальным документам (Word, Excel, PowerPoint, PDF) с использованием гибридного поиска BM25 + AI семантического поиска. Всё работает локально, без необходимости облачных сервисов или API-ключей.