Claude와 평가 하네스를 사용하여 환각을 감지하는 Obsidian용 에이전틱 RAG 구축하기

r/ClaudeAI의 한 개발자가 Obsidian 볼트 위에 에이전틱 RAG 시스템을 구축하여 Claude가 엔지니어링 PDF의 질문에 답변할 때 주간 토큰 한도를 초과하지 않도록 했습니다. 워크플로우: 엔지니어링 PDF를 마크다운으로 변환하고, 이를 Obsidian 볼트에 넣은 후, 저렴한 에이전트(Kimi K2.5)를 사용하여 볼트에서 BM25 검색을 수행하고, Claude는 전체 책 대신 관련 청크만 보게 합니다. 이렇게 하여 질문당 토큰 비용이 약 50k에서 5k로 줄었습니다.
새로운 문제: 에이전트가 때때로 자신 있게 틀린 답변을 했습니다. 예를 들어, 정식 구절이 4권 5장에 있는데 "마르쿠스 아우렐리우스가 9권 3장에서 죽음에 대해 썼다"고 말하는 식입니다. 충분히 그럴듯해서 수동 검증이 필요했습니다. 그래서 개발자는 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는 새롭지 않지만(질의/문서 어휘 중복이 높은 기술/문학 코퍼스에서 잘 작동), 한 코퍼스를 33pp 향상시킨 동일한 청킹 기법이 동일한 평가에서 다른 코퍼스를 17pp 퇴보시켰습니다. 하네스가 첫 번째 실행에서 이를 잡아냈습니다.
4회에 걸친 루브릭 개선 이야기, 보정 워크시트 및 부정적인 결과 메모가 포함된 전체 글은 Medium에 있습니다. 저자는 RAG/에이전트 설정에서 Claude Sonnet을 평가자로 사용하는 다른 사람들이 어떻게 하며, 어떤 루브릭을 최종 선택했고, 단일 인간 평가자로 평가자 간 신뢰도를 어떻게 처리하는지 궁금해합니다.
📖 전체 출처 읽기: r/ClaudeAI
👀 See Also

Orion: Apple Neural Engine에서 직접 LLM 실행 및 학습을 위한 CoreML 우회 방법
Orion은 Apple의 CoreML을 우회하여 LLM을 Apple Neural Engine(ANE)에서 직접 실행하고 학습시키는 오픈소스 Objective-C 시스템으로, GPT-2 124M 디코딩에서 초당 170개 이상의 토큰을 처리하며 1억 1천만 파라미터 트랜스포머에서 안정적인 다단계 학습을 달성했습니다.

boxBot: Claude와 Hailo AI로 구동되는 오픈소스 스마트 스피커
FunScore645라는 개발자가 Claude를 사용해 에이전트 주도 하드웨어 제어를 구현한 스마트 스피커 boxBot을 Raspberry Pi, Hailo AI 가속기, 커스텀 SDK로 만들었으며, GitHub에 오픈소스로 공개했습니다.

depct: MCP 서버는 Claude에 실시간 런타임 분석 및 문서화 기능을 제공합니다
depct는 Node.js 애플리케이션을 계측하여 런타임 데이터를 수집하고, Claude가 코딩 전에 접근할 수 있는 신뢰도 수준이 표시된 구조화된 문서를 생성하는 MCP 서버입니다. 이 도구는 Claude가 변경 사항을 적용한 후 자동으로 문서를 업데이트합니다.

LLM 에이전트를 위한 복잡한 검색 파이프라인을 간단한 git 쉘 명령어로 대체하기
한 개발자가 AI 에이전트 검색 파이프라인(sentence-transformers, rank-bm25, 2단계 LLM 파이프라인) 전체를 git 저장소에 대해 읽기 전용 셸 명령을 실행할 수 있는 단일 도구로 교체하여 Docker 이미지 크기를 약 3GB 줄이고 타임아웃 문제를 해결했습니다.