본문으로 건너뛰기

© 2026 Molayo

Dev.to헤드라인2026. 06. 19. 05:03

에이전트의 메모리는 신뢰도를 저장하는 것이 아니라 계산해야 합니다

요약

기존 에이전트 메모리의 정적인 신뢰도 저장 방식(Pull Memory)의 한계를 지적하고, 쿼리 시점에 그래프를 통해 신뢰도를 재계산하는 'Recall' 방식을 제안합니다. 모순(challenge)에 더 큰 가중치를 두는 비대칭적 산술 연산을 통해 정보의 최신성과 정확성을 유지합니다.

핵심 포인트

  • 정적 신뢰도 저장 방식은 새로운 모순이 발생해도 기존 점수를 유지하는 한계가 있음
  • 신뢰도는 저장된 값이 아니라 읽을 때마다 그래프를 통해 재계산되어야 함
  • 지지(support)보다 모순(challenge)에 더 높은 상한선을 두어 정보의 가치를 보존
  • 비대칭적 포화 곡선을 활용해 저렴한 합의보다 강력한 반증이 신뢰도에 더 큰 영향을 미치도록 설계

대부분의 에이전트 메모리는 다른 모든 것을 저장하는 방식과 동일하게 신뢰도 점수 (confidence score)를 저장합니다. 한 번 기록하면 그대로 머물러 있습니다. 에이전트가 어떤 사실의 가치를 0.9라고 결정하면, 저장소는 0.9를 유지하며, 3주 후 그 사실과 모순되는 무언가가 발생하더라도 저장소는 여전히 0.9를 반환합니다. 신뢰도는 어느 한 순간에 기록된 숫자일 뿐이며 다시는 검토되지 않습니다. 그것은 오래된 정보(stale)이며, 시스템 내의 그 무엇도 이를 알지 못합니다.

이것이 풀 메모리 (pull memory)의 조용한 실패입니다. 당신이 쿼리 (query)를 보내면, 저장소는 그것들이 저장될 당시의 점수와 함께 가장 유사한 일치 항목을 반환하며, 어떤 사실이 약화되었다는 것을 알아차리는 것은 당신의 몫입니다.

리콜 (Recall)은 다른 경로를 택합니다. 효과적인 신뢰도는 저장된 필드가 아닙니다. 그것은 읽을 때마다 그래프 (graph)로부터 재계산됩니다. 따라서 모순이 어디에든 발생하면, 모델을 다시 실행하거나 사람이 개입 (human in the loop)하지 않아도 다음 쿼리 시 해당 주장의 신뢰도가 떨어집니다.

공식

이것은 의도적으로 단순한 산술 연산으로 설계되었습니다. 하나의 셀 (cell)에 대해, 유효 신뢰도 (effective confidence)는 다음과 같습니다:

effective = clamp01( stated × calibration + support − challenge )

  • stated는 작성자가 기록할 당시 주장한 값입니다.
  • calibration은 작성자의 기록 (track record)에 따라 작성자의 가중치를 조정합니다.
  • support는 들어오는 지지 (supports) 엣지 (edges)로부터의 확증입니다.
  • challenge는 들어오는 모순 (contradicts) 및 우려 (concerns) 엣지의 가중치입니다.

support와 challenge는 단순한 합계가 아닙니다. 각각은 서로 다른 상한선을 가진 포화 곡선 (saturation curve)을 통해 압축됩니다:

support = 0.15 × tanh(supportMass)
challenge = 0.60 × tanh(challengeMass)

이 비대칭성이 핵심입니다. 확증은 만들어내기 쉽기 때문에, support는 낮은 상한선 아래에서 빠르게 포화됩니다. 즉, 동의하는 셀 10개를 쌓아도 최대 0.15만 추가됩니다. 실제 모순은 드물고 정보 가치가 높기 때문에, challenge는 0.6의 상한선까지 작동합니다. 단 하나의 정직한 모순이 일련의 동의 뭉치보다 주장을 더 크게 변화시킬 수 있습니다.

확인 가능한 작동 예시

새로운 주장, stated 0.9, 기록이 아직 없는 작성자, 지지(support) 없음, 모순(challenge) 없음:

effective = clamp01(0.9 × 1 + 0 − 0) = 0.90

1.0으로 명시된 소스에서 하나의 모순(contradiction)이 발생하고, 모순 질량(challengeMass)이 1.0인 경우:

challenge = 0.60 × tanh(1.0) = 0.457
effective = clamp01(0.90 − 0.457) = 0.44

동일한 주장이 이제 0.44로 읽힙니다. 아무도 이를 수정하지 않았습니다. 두 번째 모순이 발생하면 질량(mass)은 2.0으로 증가합니다:

challenge = 0.60 × tanh(2.0) = 0.578
effective = clamp01(0.90 − 0.578) = 0.32

0.32까지 떨어졌으며, 원래의 0.9는 기록에 남아있지만 등급만 낮아졌습니다. 10개의 지지(supporting) 셀이 추가되었더라도 기껏해야 0.15를 더했을 것입니다. 저렴한 합의(agreement)는 수치를 거의 움직이지 못하지만, 실제적인 도전(challenge)은 수치를 크게 움직입니다.

교정(Calibration), 그리고 그 안의 정직한 선택 하나

지지(support)와 도전(challenge)이 적용되기 전에, 저자가 명시한 숫자에 교정 계수(calibration factor)를 곱합니다. 이전에 모순된 적이 있는 저자는 그가 틀렸던 횟수에 틀렸을 당시의 확신도를 곱한 만큼 할인되지만, 누구도 완전히 0으로 만들지 않도록 최솟값은 0.5로 제한됩니다.

정직한 세부 사항은 그것이 '무엇이 아닌가'에 있습니다. 이것은 가공되지 않은 브라이어 점수(Brier scoring)가 아닙니다. 가공되지 않은 브라이어 점수는 결과적으로 맞게 된 주장에 대해 낮게 헤징(hedge)한 겸손한 저자에게도 벌을 주며, 겸손함에 벌을 주는 것은 메모리 시스템이 만들어야 할 인센티브와 정반대입니다. 따라서 이 할인은 특히 확신에 차 있었음에도 틀린 경우, 즉 과잉 확신(overconfidence)에 초점을 맞춥니다. 정직하게 헤징한다면 벌칙을 받지 않습니다. 0.95라고 주장했다가 모순된다면 벌칙을 받게 됩니다.

이 방식이 저장된 점수보다 나은 이유

벡터 스토어(vector store)는 청크(chunk)가 임베딩될 당시의 점수를 반환합니다. 평면적인 노트 파일은 적혀 있는 그대로를 반환합니다. 둘 다 해당 사실이 지난 화요일에 모순되었다는 사실은 알지 못하는데, 왜냐하면 모순이 점수 계산 방식의 일부가 아니기 때문입니다. 점수와 충돌(conflict)은 서로 다른 곳에 존재합니다.

회상(Recall)에서는 이들이 같은 곳에 존재합니다. 모순은 그래프 상의 에지(edge)이며, 점수는 그래프로부터 계산됩니다. 따라서 에지가 존재하는 순간, 다음 읽기 시점에 점수는 결정론적으로(deterministically) 이를 반영합니다. 읽는 이는 메모리를 작성한 것과 동일한 에이전트이며, 새로운 컨텍스트(context)를 바탕으로 작업하고, 기질(substrate)은 그 아래에서 자신이 알고 있는 것에 대해 가격을 다시 책정합니다.

이것이 무엇이 아닌가

이것은 순위 신호 (ranking signal)이지, 진실에 대한 판결 (verdict)이 아닙니다. 낮은 유효 신뢰도 (effective confidence)는 어떤 주장이 논쟁 중이거나, 확신에 차 있었으나 틀렸던 저자로부터 나왔음을 의미하는 것이지, 그 주장이 거짓임을 의미하는 것이 아닙니다. 상한선 (ceilings)과 곡선 (curves)은 조정 가능한 기본값 (tunable defaults)입니다. 또한 이것은 모델이 스스로를 재추측 (second-guessing)하는 것이 아니라, 그래프 위에서 의도적으로 결정론적 산술 (deterministic arithmetic)을 수행하는 것이며, 바로 이 점이 검사 가능성 (inspectable)을 만들어냅니다. 즉, 어떤 셀이든 열어서 그 숫자가 왜 그렇게 나왔는지 항별로 (term by term) 확인할 수 있습니다.

이것이 트레이드오프 (trade)입니다. 당신은 안정적으로 보이고 절대 변하지 않는 숫자를 포기하는 대신, 증거가 바뀌는 즉시 오래된 주장의 순위를 낮추고 그 이유를 읽을 수 있는, 재계산 가능한 숫자를 얻게 됩니다. 자신이 기억하는 것에 따라 행동해야 하는 에이전트에게는 후자가 훨씬 더 가치 있습니다.

Recall은 로컬 우선 (local-first) 방식이며, SQLite 위에서 실행되고, 명령어 하나로 설정할 수 있습니다. 위의 코드와 공식은 공개되어 있습니다: github.com/H-XX-D/recall-memory-substrate

AI 자동 생성 콘텐츠

본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.

원문 바로가기
0

댓글

0