본문으로 건너뛰기
r/LLMDevs조회 1

Silica가 요약보다 원문을 택한 메모리 하네스

Silica 실험에서 요약보다 원문 보존이 더 안정적인 회상 성능을 냈다

이 요약은 AI가 원문을 분석해 생성했습니다. 정확한 내용은 원문 기준으로 확인하세요.

TL;DR

Silica는 LLM의 Markdown 쓰기를 parser와 state machine으로 검증하고 실패한 변경을 revert하는 local-model 기반 harness이다. 두 conversation에서 session note를 요약하지 않고 원문 문장을 보존한 방식이 summarized 방식보다 높은 점수를 기록했으며, conv-26은 0.592 대 0.428, conv-47은 0.840 대 0.693이었다. 검색에서는 co-occurrence graph를 BM25로 가중해 recall@10을 0.51에서 0.86으로 높였고, 별도 note-to-note leg는 제거하는 편이 recall@10과 비용 모두 나았다. 작은 평가 규모와 local-grade judge라는 한계 때문에 특정 비손실 방식의 절대적 우승보다 원문 보존, leg별 검증, 평가 harness의 정확성이 핵심 결론이다.

실용적 조언

  • LLM이 Markdown vault를 수정하게 할 때는 모델 출력을 곧바로 저장하지 말고 parser와 state machine으로 허용된 변경인지 검사한 뒤 commit해야 한다. 저장 후에는 실제 파일을 다시 읽어 검증하고 실패한 변경을 transaction 단위로 revert하는 흐름이 필요하다. 여러 source를 처리한다면 source별 transaction과 resumable 실행을 유지해야 장애 범위를 좁힐 수 있다.
  • 검색 성능을 튜닝할 때는 RRF constant나 leg별 weight를 먼저 grid search하지 말고 각 leg의 점수 계산과 recall을 따로 측정해야 한다. 이 글의 실험에서는 co-occurrence graph를 BM25로 가중한 뒤 recall@10이 0.51에서 0.86으로 개선됐고, 그 다음에는 fusion parameter가 결과에 거의 영향을 주지 않았다.
  • 자동 평가 수치가 비정상적으로 낮으면 모델의 hallucination을 바로 의심하기보다 source attribution과 평가 범위를 확인해야 한다. FActScore 0.669는 entity note를 단일 session과 비교한 harness 오류에서 나왔으며, 전체 conversation을 기준으로 고친 뒤 세 vault의 점수는 0.999, 0.991, 0.961로 바뀌었다. baseline의 retrieval leg 구성이 달라졌다면 서로 다른 configuration의 수치를 한 표에 섞지 않아야 한다.

섹션별 상세

01
Silica는 LLM이 Markdown 폴더를 직접 덮어쓰지 못하게 하고, 모델의 편집 제안이 parser와 state machine을 통과한 뒤에만 저장하도록 구성됐다. 쓰기가 완료되면 해당 노트를 다시 읽어 검증하며, 검사에 실패한 변경은 revert한다. 이 구조는 200개의 PDF를 한 번에 이어 붙인 편집 세션이 아니라 각각 resumable하고 개별적으로 되돌릴 수 있는 200개의 transaction으로 처리하기 때문에 중요하다.
02
가장 일관되게 재현된 결과는 session note를 요약문으로 바꾸지 말고 원문 문장을 보존해야 한다는 점이다. 동일한 pipeline과 read path에서 note의 내용만 바꿨을 때 conv-26의 verbatim 점수는 0.592, summarized는 0.428이었고, conv-47에서는 각각 0.840과 0.693이었다. 반면 linked notes, plain verbatim 같은 비손실 방식의 순위는 대화별 변동이 더 커서 특정 방식이 항상 우승한다고 결론 내리기 어렵고, 기본값은 더 단순한 verbatim 쪽으로 기울었다.
03
검색에서는 co-occurrence graph의 연결을 raw count가 아니라 BM25로 가중하자 recall@10이 0.51에서 0.86으로 올랐다. 검색 leg 하나의 점수가 낮은 상태에서는 각 leg의 fusion weight와 RRF constant를 grid search로 조정해도 실제 문제를 보정하는 데 그쳤지만, lexical leg를 고친 뒤에는 이 조정값들이 결과를 거의 움직이지 않았다. 반대로 note-to-note derived edges를 embedding과 co-occurrence에 추가한 leg는 새로운 pair를 회수하지 못했고, 제거한 뒤 lexical leg를 기본 활성화하자 recall@10은 0.8233에서 0.8815로, 호출당 평균 비용은 5 ms에서 1.7 ms로 바뀌었다.
04
평가 수치가 낮게 나온 원인이 모델이 아니라 harness의 기준 설정일 수 있다는 사례도 포함됐다. FActScore의 첫 결과는 0.669였지만 entity note를 전체 conversation이 아닌 하나의 attributed session과 비교한 오류를 고친 뒤 세 vault에서 5,855개 fact를 평가해 0.999, 0.991, 0.961을 기록했다. 저자는 잘못된 수치와 수정된 수치를 모두 repository에 남기고 이유를 기록하며, leg 구성이 달라진 frozen baseline과 새 결과를 섞지 않도록 runner가 비교 자체를 거부하게 만들었다.

용어 해설

상태 머신(State Machine)
상태 머신은 시스템의 현재 상태와 허용된 전이 규칙을 명시해 입력에 따른 동작을 제한하는 구조이다. Silica에서는 LLM이 제안한 Markdown 변경을 파서와 함께 검사하고, 조건을 통과하지 못한 쓰기를 되돌리는 게이트로 사용된다.
BM25
BM25는 문서와 질의의 단어 빈도, 문서 길이, 희귀도를 이용해 검색 점수를 계산하는 lexical retrieval 방식이다. 이 글에서는 co-occurrence graph의 연결 가중치를 raw count 대신 BM25로 계산해 recall@10을 높이는 데 사용됐다.
RRF
RRF는 여러 검색 결과 목록의 순위를 결합해 하나의 결과 목록을 만드는 fusion 방식이다. 글에서는 lexical leg를 제대로 가중한 뒤 per-leg fusion weight와 RRF constant를 조정해도 결과가 더 이상 움직이지 않았다고 보고한다.
MinHash
MinHash는 문서나 문자열의 유사한 부분을 짧은 서명으로 근사해 중복 여부를 빠르게 판별하는 기법이다. Silica의 핵심 구성 중 하나로, embedder 없이도 vault 안의 중복 노트를 처리하는 데 쓰인다.
FActScore
FActScore는 생성된 문장을 원자적 사실 단위로 나눈 뒤 각 사실이 출처 문서에 의해 뒷받침되는지 판정하는 평가 방식이다. 이 글에서는 전체 대화가 아니라 특정 세션만 기준으로 삼은 harness 오류 때문에 0.669가 나왔고, 평가 대상을 고친 뒤 세 vault에서 0.999, 0.991, 0.961을 얻었다.

언급된 도구

Silica추천링크

LLM의 Markdown vault 쓰기를 parser와 state machine으로 검증하고, 검색·회상·노트 읽기와 여러 인터페이스를 제공하는 harness이다.

Obsidian중립

기존에 열어 둔 vault를 Silica plugin으로 구동하는 노트 인터페이스이다.

MCP추천

coding assistant가 사용자의 실제 notes를 읽고 답변 전에 recall하도록 연결하는 server 인터페이스이다.

언급된 리소스

AI 분석 전체 내용 보기

AI 요약 · 북마크 · 개인 피드 설정 — 무료

출처 · 인용 안내

원문 발행 2026. 08. 24.수집 2026. 08. 24.출처 타입 REDDIT

인용 시 "요약 출처: AI Trends (aitrends.kr)"를 표기하고, 사실 확인은 원문 보기 기준으로 진행해 주세요. 자세한 기준은 운영 정책을 참고해 주세요.