LightVela

LightVela 문서

요약

Hermes Agent의 장기 메모리 큐레이션은 더 많이 저장하는 작업이 아닙니다. 핵심은 네 가지 원칙에 따라 메모리를 "적지만 정확하게" 유지하는 것입니다.

  1. 제한됨: USER.md는 ~1,375자, MEMORY.md는 ~2,200자로 간결성을 유지합니다.
  2. 동결: 세션 내에서 다시 쓰지 않고 KV 캐시와 추론 안정성을 보호합니다.
  3. 투명성: 모든 쓰기가 발표되며(💾 Memory updated) /journey를 통해 승인, 되돌리기 및 검토가 가능합니다.
  4. 자체 통합: 용량이 가득 차면 아무 것도 자동으로 삭제되지 않습니다. Memory at 2,100/2,200 chars. Consolidate now... 응답은 에이전트가 세 가지 원자 작업 add / replace / remove를 통해 절충을 하도록 강제합니다.

결과: 에이전트는 시간이 지남에 따라 부풀어오르는 일 없이 사용자를 더 잘 이해하고, 메모리는 통제를 벗어나지 않고도 더욱 풍부해집니다.


흔히 하는 오해

"AI 비서는 더 많이 기억할수록 더 똑똑해진다."

그 반대가 사실입니다. 혼합된 품질의 정보를 많이 기억하는 것은 에이전트를 더 멍청하게 만듭니다 — 일시적이고, 잘못되고, 오래된 진술을 당신에 대한 안정적인 사실로 취급하기 시작합니다. 진정으로 유용한 장기 메모리 시스템은 항상 적지만 정확합니다.

이를 전달하기 위해 Hermes는 네 가지 질문에 답합니다.

  • 장기 메모리에 들어갈 자격이 있는 것은 무엇입니까? (쓰기 게이트)
  • 들어오는 조각이 어떻게 올바른 형식의 항목이 됩니까? (큐레이션)
  • 정보가 변경되면 어떻게 되나요? (업데이트 의미)
  • 용량이 가득 차면 어떻게 되나요? (강제 통합)

아래 섹션에서는 네 가지를 모두 순서대로 설명합니다.


1. 쓰기: 에이전트가 첫 번째 관문입니다

Hermes의 첫 번째 게이트는 쓰기 필터입니다. 모든 문장을 저장하는 대신 에이전트는 네 가지 명시적인 순간에 쓸지 여부를 스스로 판단합니다.

  • 압축: 컨텍스트가 한계에 도달하면 에이전트는 현재 세션을 검토하고 세션 전체에서 유지할 가치가 있는 항목을 추출합니다.
  • 체크포인트: 작업을 종료하거나 주제를 전환하는 등의 순간에 메모리를 확보합니다.
  • 넛지: 시스템은 정기적으로 에이전트에 "이 기간 동안 메모리에 장기적으로 가치가 있는 것이 있습니까?"라고 묻습니다. 중요한 조각이 손실되지 않습니다.
  • 명시적인 사용자 지시: "X를 기억하세요"가 우선적으로 작성됩니다.

일반적으로 판단 기준은 다음과 같습니다.

차원의미반례
재사용성나중에 다른 작업에 유용할까요?"오늘은 라떼를 먹고 싶어요"
안정성일시적인가요, 아니면 오래 지속되나요?"오늘 머리가 아프다"
특이성모호한 태도인가, 아니면 재사용 가능한 사실인가?"저는 좀 더 간결한 것을 선호하는 것 같아요"
개인정보 보호 민감도명시적으로 확인되지 않은 이메일, 비밀번호, 주소기본적으로 작성되지 않음

잘 훈련된 Hermes Agent는 부주의하게 기억하는 것보다 너무 적게 기억하는 것을 선호합니다.


2. 큐레이션: 단편 정보를 정돈된 항목으로 재작성

쓰기 필터를 통과한 정보도 처음에는 단편적인 경우가 많습니다. Hermes의 두 번째 단계는 이 조각들을 알맞은 형식의 메모리 항목으로 다시 정리하는 것입니다.

예를 들어 원시 대화는 다음과 같을 수 있습니다.

"아 맞다. 우리 API는 서비스에 직접 접속하는 대신 게이트웨이를 통과하도록 전환됐다. 그게 지난주였다."

Hermes는 해당 내용을 그대로 저장하지 않습니다. 그것은 쓴다:

- [~2026-07-24] Project X's API now routes through the gateway instead of connecting directly.

그곳에서 네 가지 일이 일어났습니다.

  • 사실 추출: "아 맞다"와 같은 필러 단어가 삭제됩니다.
  • 주제 해결: "우리 API"는 "프로젝트 X"가 됩니다.
  • 시간 앵커링: '지난 주'가 대략적인 날짜가 됩니다.
  • 검색 가능성: FTS5가 나중에 일치시킬 수 있도록 구조화된 항목으로 작성됩니다(일치하는 데 ~20ms, 페이지에서 ~1ms).

구조화된 큐레이션 후에만 출품작이 몇 달 후 리콜될 가능성이 있습니다.


3. 세 가지 원자 작업: 추가, 교체, 제거

Hermes가 MEMORY.md를 수정할 때는 항상 다음 세 가지 원자 작업 중 하나를 사용합니다.

작업의미트리거
추가새 항목 추가새로운 이벤트, 새로운 결정
교체이전 항목을 새 항목으로 덮어쓰기상태 변경("API가 직접 연결됨"을 "API가 이제 게이트웨이를 통과함"으로 교체)
제거물리적 삭제사용자 거부, 만료된 항목, 통합으로 인해 이전 항목이 병합됨

퍼지 작업(예: "관련 필드 업데이트")이 허용되지 않는 이유는 무엇입니까?

이유 1: 원자적 작업은 감사 가능합니다. 모든 메모리 변경 사항은 "이 항목 → 해당 항목"에 매핑되므로 /memory diff <id>와 같은 정확한 검토가 가능합니다.

이유 2: 에이전트가 명시적으로 결정하도록 강제합니다. "바꾸는 건가요, 아니면 추가하는 건가요?" — 그 이분법적 선택은 상충관계가 시작되는 곳이며 분열된 성격을 방지합니다.

이유 3: 보류 중인 각 항목이 독립적으로 승인되거나 거부될 수 있는 승인 게이트(섹션 7)의 토대를 마련합니다.


4. 업데이트 원칙: 반대 내용을 덧붙이지 말고 기존 항목을 수정

단순한 메모리 시스템은 정보가 바뀌었을 때 쉽게 실패합니다. 기존 사실과 다른 새 정보가 들어오면 어떻게 처리해야 할까요?

순진한 접근 방식은 다른 항목을 추가하는 것입니다. 이렇게 하면 에이전트가 이 모든 항목을 한 번에 보유하게 됩니다.

  • "사용자는 Vue를 선호합니다"
  • "사용자가 나중에 React로 전환했습니다"
  • "사용자가 Vue로 돌아갔습니다"

세 개의 병렬 항목과 모델 자체는 더 이상 어느 항목을 신뢰할지 알 수 없습니다.

Hermes 반대 항목을 추가하는 대신 업데이트:

  • USER.md의 기본 설정 필드는 이전 값을 덮어쓰는 경향이 있습니다(replace).
  • MEMORY.md에서는 기록 이벤트가 유지되지만 현재 상태 필드가 업데이트(replace)되어 짧은 마이그레이션 추적이 남습니다.
  • 사용자가 명시적으로 거부하는 내용("나는 그런 적이 없었습니다")은 removed — 물리적으로 삭제됨이며 "사용자가 X를 거부했습니다"로 기록되지 않습니다.

이 모든 것의 요점은 에이전트의 세계 모델 자체 일관성을 유지하는 것입니다.


5. 용량이 가득 찼을 때: 즉시 통합하기

Hermes는 MEMORY.md에 대해 ~2,200자의 엄격한 한도를 설정합니다. 채워지면 add는 다음을 반환합니다.

{
  "success": false,
  "error": "Memory at 2,100/2,200 chars. Consolidate now...",
  "current_entries": [...],
  "usage": "2,100/2,200"
}

버그가 아니라 디자인입니다.

용량이 가득 찼을 때 가장 오래된 항목이 자동으로 삭제된다면 에이전트는 절충 방법을 배우지 못할 것입니다. 즉, 중요한 정보는 삭제되고 관련 없는 정보는 그대로 유지될 수 있습니다. Hermes는 그 반대입니다. 에이전트가 공간 자체를 지울 때까지 쓰기가 거부됩니다.

통합에는 일반적으로 다음이 포함됩니다.

  • 주제 집계: 여러 유사한 항목이 LLM에 의해 하나의 더 넓은 메모리로 요약됩니다.
  • 만료 보관: "이번주 스프린트 목표는..."은 날짜가 지나면 removed입니다.
  • 액세스 빈도 하향 조정: 오랫동안 회수되지 않은 항목은 대기열 뒤로 이동하고 먼저 병합되거나 삭제됩니다.

이러한 메커니즘을 함께 사용하면 몇 달 전의 귀하의 무심코 발언이 귀하에 대한 에이전트의 판단을 계속 오염시키지 않으며 진정으로 중요한 정보가 반복적으로 강화된다는 의미입니다.


6. 동의를 반영한 학습 루프: 사용자를 방해하지 않는 백그라운드 학습

Hermes에는 백그라운드 자기 회고 루프도 있습니다. 이 루프는 주기적으로 다음 작업을 수행합니다.

  1. 가장 최근 세션을 가져옵니다.
  2. 기억할 가치가 있는 것을 추출하기 위해 저렴한 모델(예: Gemini 플래시)를 실행합니다.
  3. [auto]로 표시된 후보 메모리 항목을 생성합니다.

업스트림에서는 이를 동의 인식 학습 루프라고 부릅니다. 학습이 사용자를 방해해서는 안 되지만 사용자는 언제든지 참여할 수 있습니다.

이점:

  • 비용이 1/3 또는 1/5로 떨어집니다: 저렴한 모델이 검토를 처리하며 업스트림 테스트에서 캡처 품질에 거의 영향을 미치지 않습니다.
  • 에이전트는 온라인 상태를 유지하는 한 사용하지 않을 때도 크기가 커집니다.
  • 전경 대화 방해 없음: 후보자 등록은 다음 섹션의 승인 게이트에서 귀하를 기다립니다.

7. 승인 단계: 에이전트의 자율 동작이 불편한 경우

일부 사용자는 "에이전트가 자동으로 MEMORY에 잘못된 내용을 쓰면 어떻게 될까요?"라고 걱정합니다.

Hermes는 명시적 스위치를 제공합니다.

memory:
  write_approval: true    # turn on the approval gate

이를 활성화하면 모든 메모리 쓰기(백그라운드 리플렉션의 자동 쓰기 포함)가 검토를 위해 준비됩니다. 사용자는 다음을 통해 이를 수행합니다.

/memory pending           # list pending entries (background reflection marks them [auto])
/memory diff <id>         # inspect a specific change
/memory approve <id>      # approve (or all)
/memory reject <id>       # reject

스킬에는 별도의 skills.write_approval가 있습니다. SKILL.md는 길고 인라인으로 표시하기 어려울 수 있기 때문입니다. Hermes는 /skills diff <id>를 제공하므로 전체 통합 차이점을 읽을 수 있습니다.

승인 게이트는 본질적으로 사용자 주권에서 에이전트의 자율 학습을 명시적으로 분리한 것입니다. 에이전트는 ​​경험을 자유롭게 축적할 수 있지만 사용자 자신의 기록을 다시 작성하는 모든 작업은 사용자를 거쳐야 합니다.


8. 투명성: 모든 메모리 업데이트 확인

Hermes는 실시간 알림을 통해 메모리 작업을 표시합니다.

설정표시 방식
off자동 쓰기, 아무것도 표시되지 않음
on(기본값)💾 Memory updated
verbose💾 Memory ➕ User prefers terse replies(콘텐츠 미리보기 포함)

"무언가 기억됨"에서 "이 정확한 항목이 기억됨"까지 세분성을 선택할 수 있습니다. 이러한 수준의 관찰성은 AI 에이전트에서는 드물며 대부분 메모리를 블랙박스로 취급합니다.


9. 학습 여정: 에이전트의 성장 과정 검토

에이전트가 몇 달 동안 학습한 내용을 뒤돌아 보고 싶다면 Hermes는 /journey(별칭 /learning, /memory-graph)를 제공합니다.

  • CLI: hermes journey(--play 애니메이션 재생 및 --json 내보내기 지원)
  • TUI: /journey 오버레이
  • 데스크탑: 별 지도 대화형 패널

일치하는 정리 명령을 사용하면 다음과 같습니다.

hermes journey list           # list all nodes
hermes journey delete <node>  # archive a Skill (recoverable) or delete a memory
hermes journey edit <node>    # open in $EDITOR

이 도구는 참신함 그 이상으로 중요합니다. 실제적인 사실을 인정합니다. 에이전트가 성장하는 방식 자체는 검토할 가치가 있습니다.


10. 실제로 이러한 제한이 중요한 이유

위의 모든 사항을 종합하면 Hermes의 메모리 철학은 네 가지 철칙으로 귀결됩니다.

  1. 제한됨: 문자 천장이 간결함을 강요합니다.
  2. 동결: 세션 내에는 변경 사항이 없어 캐시를 보호합니다.
  3. 투명성: 모든 쓰기가 사용자에게 표시되며 승인 및 되돌릴 수 있습니다.
  4. 자체 통합: 전체 저장소는 자동으로 삭제되지 않습니다. 에이전트는 절충을 해야 합니다.

"AI 메모리"를 마케팅할 때 많은 제품은 지원하는 메모리 매장의 규모와 보유할 수 있는 항목 수를 강조합니다. 그러나 사용자의 관점에서는 세 가지만 중요합니다.

  1. 실제로 중요한 사항을 기억했나요?
  2. 더 이상 보유하지 않는 정보를 신속하게 업데이트했습니까?
  3. 관련 없는 내용을 많이 기억하기 때문에 더 장황해지고 오류가 발생하기 쉬워지나요?

"기억하지 말아야 할 것"이라고 대답할 수 있는 메모리 시스템이 좋은 메모리 시스템입니다.


11. 실제로 작동하기 위한 마지막 조건

메모리 메커니즘이 아무리 뛰어나도 한 가지 전제 조건이 있습니다. 에이전트가 계속 실행 중이어야 합니다.

Hermes를 자신의 노트북에 설치하면 덮개를 닫을 때마다 낮잠이 발생하고 배경 반사 루프가 정지하며 nudge_interval는 다음 트리거에 도달하지 않습니다. 기계를 바꾸거나 OS를 재설치한다는 것은 ~/.hermes/를 손으로 옮기는 것을 의미합니다.

클라우드 호스팅이 정말 유용해지는 곳이 바로 여기입니다. LightVela클라우드 호스팅 Hermes Agent 서비스입니다.

  • MEMORY.md / USER.md / SQLite 세션 아카이브가 영구적으로 존재하는 전용 클라우드 인스턴스가 연중무휴 24시간 온라인으로 제공됩니다.
  • 배경 반사 루프가 계속 실행되므로 에이전트는 사용하지 않을 때에도 실제로 성장합니다.
  • 데이터는 전용 서버에만 유지됩니다.
  • 전화, 노트북, Telegram, Slack, Lark — 모든 채널은 당신을 아는 동일한 에이전트에 도달합니다.

Hermes는 "더 많은 메모리가 더 좋지 않다"는 철학을 논리적 결론으로 ​​받아들였습니다. LightVela는 그 철학을 매일 바로 당신 옆에서 실천하도록 만듭니다. 이것이 바로 시간이 지남에 따라 당신을 더 잘 이해하겠다는 약속이 실제로 전달되는 방식입니다.


핵심 요약

  • 좋은 메모리 시스템은 엄격한 기록 기준 + 구조화된 큐레이션 + 세 가지 원자 작업 + 강제 통합 + 백그라운드 회고 + 승인 단계 + 완전한 투명성으로 구성됩니다.
  • 더 많이 기억한다고 더 똑똑해지는 것은 아닙니다. 무엇을 기억하지 말아야 하는지 판단하고, 한정된 공간 안에서 우선순위를 정하는 능력이 더 중요합니다.
  • Hermes는 엔지니어링 참조를 제공합니다. LightVela는 이를 사용자가 실제로 도달할 수 있는 제품 경험으로 바꾸는 것을 목표로 합니다.

마지막 업데이트: 2026-08-31