과거의 대화나 자료를 나중에 AI의 기억으로 통합할 때, '이 정보가 언제 발생한 것인지'와 'AI가 이 정보를 언제 알게 되었는지' 사이에는 차이가 생길 수 있습니다. 사건의 날짜만을 보고 있으면, 과거 특정 시점에서 AI가 무엇을 알고 있었는지 혼동할 위험이 있습니다.
먼저, 나중에 가져오면 무엇이 섞이는가
예를 들어, 오래된 대화 로그에 '4월부터 아오바사(青葉社)에서 근무하고 있다'는 내용이 있고, 이 로그를 7월에 AI로 가져왔다고 가정해 봅시다. 4월은 직장이 유효하게 된 시점이고, 7월은 AI가 그 정보를 알게 된 시점입니다. 게다가 데이터베이스에 실제로 기록된 시간까지 남겨진다면, 그것은 저장 시점입니다.
이 세 가지를 하나의 날짜로 통합하면, '5월 시점에서 AI는 아오바사 근무 사실을 알고 있었는지'라는 질문에 답하기 어려워집니다. 4월에 유효했던 사실을 마치 AI가 4월부터 알고 있었던 것처럼 처리할 위험이 있기 때문입니다.
가져오는 시점을 사건의 시점으로 사용할 경우
데이터를 가져와 정보가 추가된 시점(로딩 시점)을 사건 발생 시점으로 설계에 사용한다면, 오래된 로그를 나중에 넣었을 때 수년 전의 사건이 마치 로딩 시점에 일어난 것처럼 보일 수 있습니다. 한 가지 해결책은 원본 로그 날짜를 남기고, 가져오는 처리 시점을 별도로 기록하는 것입니다. 하지만 이 두 가지만 분리한다고 해서 '5월 시점에서 시스템이 무엇을 알고 있었는지'를 나중에 조회할 수 있다고 보장하기는 어렵습니다.
Graphiti 개발자가 2026년 5월에 보고한 Issue #1489에는, 오래된 대화의 백필(backfill) 과정에서 이벤트 시점과 가져오는 시점을 분리하고 싶다는 요청이 있었습니다. 다만, 이 이슈는 7월에 상위 단계에서 해결되었다고 업데이트되었습니다. 현재도 같은 결함이 남아있다고 단정할 수는 없습니다. 여기서 알 수 있는 것은, 과거 로그를 가져올 때 시간의 전달 방식이 구현상의 핵심 논점이 될 수 있다는 범위입니다.
이러한 질문들을 분리하여 다루는 예시가 다음 모델에 있습니다.
SurrealDB Agent Memory 공식 문건에서는 사실이 실제로 유효했던 시기, 시스템이 그 사실을 알게 된 시기, 데이터베이스에 기록된 시기를 구분하는 모델을 소개하고 있습니다. 이는 해당 제품의 설계 설명입니다. 모든 AI 기억 장치에 기본으로 갖춰진 표준 기능이라 하더라도, 날짜를 자동으로 정확하게 읽어준다는 보장은 없습니다.
세 가지 시간을 별개의 질문으로 다루기
SurrealDB Agent Memory의 설명에서는 세 가지 시간이 각각 다른 질문에 답한다고 합니다.
| 시간 | 확인하는 질문 | 아오바사 사례 |
|---|
| 유효 시간 (valid time) | 그 사실이 현실에서 언제 성립했는가 | 4월부터 아오바사 근무 |
| ... | | |
공식의 삼중 시점 모델 자료에서는 valid_from나 valid_until로 유효 기간을 표현하며, as_of로 지정한 시점에 시스템이 무엇을 알고 있었는지를 추적하는 메커니즘을 설명하고 있습니다. 유효 기간에 대한 설명은 또한 알 수 없는 날짜를 추측하지 않고 불확실성으로 다루는 사고방식을 보여줍니다. REST API 자료에 따르면, 가져오는 시점과는 다른 인지 시간(Cognitive Time)을 지정하고 싶다면 observed_at을 전달할 수 있습니다. 이를 생략하면 가져오는 시점이 사용됩니다. 이는 호출하는 측에서 적절한 날짜와 시간을 전달할 수 있는 경우의 메커니즘이며, 사건의 날짜나 'AI가 알게 된 날'을 자료로부터 반드시 정확하게 추정하는 기능은 아닙니다. | | |
분리하더라도 원본 기록이 정확하지 않을 수 있다
세 개의 필드를 준비하면 이력에 대한 질문을 정리하기 쉬워집니다. 하지만 시간을 분리한다고 해서 사실의 정확성이 보장되는 것은 아닙니다. 원본 로그 날짜가 잘못되었거나, 날짜가 적혀있지 않거나, 나중에 설명된 시기가 모호한 경우 등에는 유효 시간을 확정할 수 없는 경우가 있습니다.
또한, SurrealDB Agent Memory 자료가 설명하는 것은 해당 제품의 동작입니다. 다른 제품이 동일한 데이터 구조나 조회 방식을 가질 것이라고 단정할 수 없습니다. 이력을 남기는 것과 잘못된 기억을 자동으로 수정할 수 있는 것은 별개의 문제입니다. 원본 정보의 출처나 날짜의 불확실성을 유지할 수 있을지는 사용하는 시스템마다 확인이 필요합니다.
하나의 기록을 세 가지 질문으로 재검토하기
오래된 대화를 가져오기 전에, 하나의 사실에 대해 다음 사항들을 분리하여 생각해 봅니다.
- 그 사건이나 상태가 유효했던 시기는 언제인가? 근거가 되는 원본 로그는 무엇인가?
- AI가 이 정보를 알게 되었다고 판단할 수 있는 시점은 언제인가? 나중에 설명된 내용을 과거의 지식으로 취급하고 있지는 않은가?
- 데이터베이스에 실제로 저장한 것은 언제인가? 인지 시간을 수동으로 지정했다면, 그것은 무엇을 나타내는가?
아오바사(青葉社)의 예시에서는 '4월부터 근무'는 원본 로그에 날짜가 있을 경우의 유효 기간이며, '7월에 오래된 대화를 읽음'은 AI가 정보를 알게 된 시점 후보이고, '7월 저장 처리'는 시스템 시간의 후보입니다. 이는 설명용 가상의 예시일 뿐, 특정 제품으로 실행한 검증 결과는 아닙니다. 날짜를 확인할 수 없는 항목은 추측하여 채우지 않고 '불명(不明)'으로 남겨둡니다.
과거에 대해 AI에게 질문할 때는 먼저 '그 시점에서 현실적으로 무엇이 유효했는지'와 '그 시점에서 AI가 무엇을 알고 있었는지'를 나누어 다시 질문해 보세요. 이 세 가지 시간 정보는 기록을 정리하는 청사진(見取り図) 역할을 하지만, 답변의 근거는 원본 기록과 날짜의 확실성으로 돌아가 확인해야 합니다.
Discussion