LightVela 문서
요약
Hermes Agent의 성격은 고정된 캐릭터 설명문이 아닙니다. 성격은 서로 맞물려 작동하는 세 요소에서 나타납니다. SOUL.md는 에이전트가 누구이며 어떻게 행동하는지를 정하는 안정적인 행동 규칙입니다. USER.md는 사용자가 어떤 방식으로 응대받기를 원하는지, 즉 관계의 기본값을 기록합니다. MEMORY.md와 memories/는 사용자와 에이전트가 함께 쌓아 온 공유 이력의 증거를 보관합니다. 세 역할을 명확히 나누어야 에이전트가 안정적이면서도 개인화될 수 있습니다. 페르소나만 있으면 누구에게나 똑같이 행동하고, 메모리만 있으면 행동을 예측하기 어려워집니다. 페르소나는 특정 사실을 저장하지 않고, USER.md는 일시적인 기분을 저장하지 않으며, MEMORY.md는 행동 규칙을 담지 않습니다. 모델을 전환해도 세 요소는 모두 유지되므로 성격의 안정성은 특정 모델에 종속되지 않습니다.
같은 캐릭터가 사람마다 다르게 행동해야 하는 이유
두 사용자가 모두 에이전트를 "인내심 있는 연구 도우미"로 설정했다고 가정해 보세요.
첫 번째 사용자는 추론보다 결론을 먼저 보고 싶어 하며 주로 출시 일정과 우선순위를 논의하는 제품 관리자입니다. 두 번째 사용자는 풀이 과정을 모두 확인해야 하며 주로 개념과 과제를 질문하는 학생입니다.
두 사람의 에이전트가 완전히 같은 방식으로 답한다면 "인내심 있는 연구 도우미"라는 설정은 실제 행동으로 구현되지 않은 것입니다. 함께 일하는 구체적인 방식이 아니라 이름표에 머문 셈입니다.
반대로 개인화한다는 이유로 대화마다 행동이 제멋대로 달라진다면 에이전트는 예측 가능성을 잃습니다. 오늘은 꼼꼼하지만 내일은 부주의한 에이전트를 신뢰하기는 어렵습니다.
페르소나는 서로 충돌하는 두 요구, 즉 안정성과 사용자별 개별성을 동시에 충족해야 합니다. Hermes는 각 요구를 서로 다른 레이어와 파일에 나누어 이 문제를 해결합니다.
1. 세 요소와 각자의 역할
전체적인 그림부터 시작하세요.
| 구성 요소 | 저장 위치 | 답하는 질문 | 변경 빈도 |
|---|---|---|---|
| 페르소나 | SOUL.md | 나는 누구이며 어떤 원칙으로 행동하는가? | 매우 낮음. 의도적으로 결정할 때만 수정 |
| 사용자 선호도 | USER.md | 사용자는 어떤 방식으로 응대받기를 원하는가? | 낮음. 장기적인 습관이 바뀔 때 조정 |
| 장기 메모리 | MEMORY.md, memories/ | 함께 이미 확립한 사실은 무엇인가? | 높음. 대부분의 세션에서 항목이 추가될 수 있음 |
변경 빈도의 차이는 두 제품을 분리하는 핵심 이유 중 하나입니다. 몇 달 동안 유지되는 규칙서를 매일 늘어나는 사실 목록과 동일한 파일에 넣는 것은 안정적인 부분이 휘발성 부분에 의해 씻겨 나가게 된다는 것을 의미합니다. 이는 USER.md와 MEMORY.md를 별도로 유지하는 것과 동일한 이유입니다. "Hermes Agent가 메모리를 두 개로 분할하는 이유: USER.md 및 MEMORY.md의 역할"을 참조하세요.
2. 페르소나: 안정적인 행동 규칙
SOUL.md는 에이전트의 규칙서이며 일반적으로 다음을 다룹니다.
- 역할 — 수행하는 작업: 연구 보조, 저술 파트너, 지역사회 의무 보조.
- 어조와 표현 — 격식을 차리든 편안하게 하든, 비유를 사용하든, 유머를 환영하든 상관없습니다.
- 우선순위 — 정확성이 속도와 충돌하거나 간결성과 완전성이 충돌할 때 승리합니다.
- 행동 제한 — 수행하지 않는 작업, 확장하지 않는 작업, 먼저 확인이 필요한 작업.
페르소나를 작성할 때 세 가지 실용적인 사항입니다.
먼저, 사실이 아닌 원칙을 작성하세요. "저는 에이전트 데모 프로젝트의 제품 관리자에서 일합니다"는 SOUL.md에 속하지 않습니다. 이는 사실이며 USER.md 또는 메모리에 속합니다. 페르소나는 "제품 질문의 경우 추론하기 전에 결론을 제시하십시오"와 같은 내구성 원칙을 명시해야 합니다.
둘째, 판단할 수 있을 만큼 구체적인 한계를 정하십시오. "전문성을 유지하라"는 규정 준수 여부를 평가할 수 없습니다. "의학적, 법적 또는 투자 결정을 제안하지 마십시오. 공개 정보를 제공하고 전문가와의 상담을 제안하십시오"라고 할 수 있습니다. 추상 규칙은 모델 전반에 걸쳐 매우 다른 준수를 생성합니다.
셋째, 충돌에 대한 명시적인 상태 우선순위입니다. 규칙은 필연적으로 충돌합니다. 간결성과 완전성은 그러한 쌍 중 하나입니다. 명시적인 순서가 없으면 에이전트는 매번 추측해야 하며 동작이 일관되지 않게 됩니다.
3. 사용자 선호도: 관계의 기본값
USER.md는 사용자에 관한 안정적인 정보를 담아 에이전트가 같은 내용을 매번 다시 묻지 않게 합니다. 다음과 같은 정보가 적합합니다.
- 언어 및 표현 — 어떤 언어, 용어를 원래 형태로 유지할지, 예가 도움이 되는지 여부.
- 커뮤니케이션 속도 — 결론이 먼저이거나 전체 추론 경로가 먼저입니다.
- 일반적인 도구 및 환경 — 매일 사용하는 스택, 플랫폼 및 작업 스타일.
- 피해야 할 명시적인 것 — 조사하고 싶지 않은 지시사항, 사용하고 싶지 않은 문구.
USER.md에 속하는지 여부에 대한 간단한 테스트가 있습니다. 3개월 후에도 여전히 사실인가요? "나는 간결한 답변을 선호합니다"가 아마도 그럴 것이므로 적합합니다. "오늘은 바빠요"는 그렇지 않습니다. 이는 일회성 맥락이므로 생략해야 합니다.
이 테스트가 중요합니다. USER.md에 일회성 분위기를 작성하면 에이전트가 임시 상태를 영구적인 상태로 처리합니다. 서두르면서 한 번 "짧게 유지"라고 말했고 그것이 장기적인 선호로 굳어지면 나중에 정말로 필요할 때 세부 사항을 보류할 것입니다.
4. 장기 메모리: 공유된 역사의 증거
MEMORY.md와 memories/는 이미 일어난 일 가운데 보관할 가치가 있는 사실을 저장합니다. 프로젝트 상태, 내린 결정, 재사용할 결론, 특정 매개변수를 현재 값으로 설정한 이유 등이 여기에 해당합니다.
다른 두 가지와의 관계:
- 페르소나는 행동 원리를 결정합니다.
USER.md는 기본 상호 작용 스타일을 결정합니다.- 메모리는 두 사람이 공유하는 배경을 결정합니다.
요청 시 리콜: Hermes는 항목에 대해 SQLite + FTS5 전체 텍스트 인덱스를 구축하고 모든 기록을 푸시하는 대신 관련 주제를 제기할 때 일치하는 항목을 컨텍스트로 가져옵니다. 쓰기도 무제한 추가가 아닙니다. 이는 원자 add / replace / remove 작업을 통해 유지되며 /memory pending를 통해 검토할 수 있습니다. 전체 큐레이션 로직은 "더 많은 메모리가 좋지 않은 이유: Hermes Agent가 장기 메모리를 선택, 큐레이트 및 업데이트하는 방법"을 참조하세요.
메모리는 페르소나를 대체해서는 안 됩니다. 일반적인 실수는 "기억하세요: 항상 결론을 먼저 제시하세요."와 같이 행동 규칙을 메모리 항목으로 작성하는 것입니다. 이로 인해 두 가지 문제가 발생합니다. 쿼리가 일치하지 않으면 항목을 회수할 수 없으며 나중에 항목에 의해 지워질 수 있습니다. 행동 규칙은 항상 상주하는 SOUL.md에 속합니다.
5. 세 가지가 결합되어 하나의 답을 만드는 방법
세 레이어가 하나의 답변에 어떻게 함께 반영되는지 구체적인 상황으로 살펴보겠습니다.
설정:
SOUL.md: 연구 보조원; 추론하기 전에 결론; 불확실성을 명시적으로 표시합니다. 의학적 또는 투자 조언을 확장하지 마십시오.USER.md: 영어를 선호합니다. 기술 용어를 원래 형태로 유지합니다. 답변을 스캔 가능하게 유지하세요.MEMORY.md: 현재 에이전트 데모 프로젝트를 위한 글로벌 사이트에서 작업 중입니다. 지난 주에는 홈페이지를 애니메이션 그라데이션으로 변경하기로 결정했습니다. 프로젝트는 Next.js에서 실행됩니다.
귀하의 질문: "현재 홈페이지 접근 방식에서 비디오 배경을 추가할 때의 위험은 무엇입니까?"
각 레이어의 역할:
- 메모리 배경 제공: 에이전트는 "홈페이지"가 참조하는 페이지가 무엇인지 알고 애니메이션 그라데이션으로 변경되었음을 알고 있으므로 비디오 배경을 백지 결정이 아닌 그 위에 변경 사항으로 처리할 수 있습니다.
- 페르소나는 구조를 결정합니다. 결론을 먼저 결정하고("주요 위험은 뛰어난 성능과 모바일 데이터 사용입니다") 그 다음 추론을 결정하며 불확실성은 명시적으로 표시됩니다.
USER.md표현을 결정합니다. 영어로 답하고LCP및autoplay와 같은 용어를 그대로 유지하고 길이를 스캔할 수 있도록 유지합니다.
레이어 하나를 제거하면 결과가 눈에 띄게 저하됩니다. 메모리가 없으면 대답은 일반적으로 유지됩니다. 페르소나가 없으면 구조가 방황하고 불확실성이 해소됩니다. 기본 설정이 없으면 언어와 길이가 읽는 방식에 맞지 않습니다.
6. 일반적인 증상과 해석
실제로 가장 자주 묻는 질문은 "이 정보는 어디로 가야 하는가?"입니다. 아래 표가 이에 대한 답입니다.
| 증상 | 가능한 원인 | 조치 |
|---|---|---|
| 모든 주제에 대해 동일한 일반적인 접근 방식 | 메모리에는 특정 배경이 부족합니다 | 메모리 항목 추가 |
| 행동이 일관되지 않거나 지나치게 엄격함 | 페르소나 규칙이 추상적이거나 충돌 시 우선순위가 없음 | 판단 기준이 분명하도록 SOUL.md를 수정 |
| 선호도를 매번 다시 말해야 함 | 선호도가 USER.md에 기록되지 않음 | USER.md에 추가 |
| 임시 상태를 영구 상태로 처리 | 일회성 컨텍스트가 USER.md에 기록되었습니다 | 해당 항목을 제거하십시오. 대신 대화 중에 언급하세요 |
| 규칙은 때때로 적용되지만 항상 그런 것은 아닙니다 | 규칙은 메모리 항목으로 저장되었습니다 | 메모리에서 SOUL.md로 이동 |
| 모델 전환 후 말투가 눈에 띄게 달라짐 | 새 모델이 같은 규칙을 다른 엄격도로 적용 | 핵심 제약을 더 구체적으로 작성하고 메모리는 유지 |
마지막 행은 강조할 가치가 있습니다. 모델을 전환한 후 톤 변화는 개성을 잃은 것이 아닙니다. SOUL.md는 여전히 그 자리에 있습니다. 준수가 변경되었습니다. 차이점을 구분하는 방법은 "모델을 전환하면 에이전트를 잊어버릴까요? 모델, 페르소나 및 메모리를 분리"를 참조하세요.
7. LightVela의 접근 방식: 관리 가능한 자산으로서의 개성과 선호도
Hermes는 이 세 가지 레이어를 명확하게 구분하지만 여전히 Markdown을 직접 편집하는 사람들을 대상으로 합니다. LightVela는 클라우드 호스팅 모델을 실행하고 사용자 측 파일 시스템 작업을 노출하지 않으므로 이러한 레이어는 자체 호스팅 설정과 다르게 유지됩니다.
- 페르소나는 페르소나 기능에서 구성합니다 — 에이전트 설정 페이지의 페르소나 섹션은 페르소나를 무작위로 선택하거나 짧은 질문에 답하는 두 가지 진입점을 제공합니다. 페르소나 카드의 역할, 톤, 행동 메모를 검토한 뒤
Inject Persona를 선택해 적용합니다. 이 기능은 임의의 클라우드 파일을 편집하는 범용 편집기가 아니지만, 클라우드 파일 시스템을 직접 다루지 않고도 Soul을 생성해 주입할 수 있습니다. - 메모리는 콘솔에서 볼 수 있습니다 — 메모리 페이지는 에이전트가 유지한 내용을 메모리 및 사용자 프로필에 대한 별도의 탭과 함께 표시하여 사실과 안정적인 선호도 간의 분할을 일치시킵니다.
- 추가 및 제거는 대화를 통해 이루어집니다 — 의도적으로 메모리를 "입력"할 필요가 없습니다. 일반적인 대화 중에 Hermes는 유지할 가치가 있는 것이 무엇인지 결정합니다. 무언가를 기억하거나 잊어버리고 싶을 때 채팅에서 그렇게 말씀하세요.
- 용량 조정 가능 — 콘솔을 사용하면 메모리 용량 제한을 높이거나 낮출 수 있어 장기적인 컨텍스트가 무한히 커지는 것을 방지할 수 있습니다.
- 모델 전체에서 안정적 — 모델을 전환해도 메모리, 스킬 또는 자동 작업이 지워지지 않으므로 성격 안정성은 특정 모델에 의존하지 않습니다.
- 채널 전체에서 일관성 — 하나의 에이전트는 연결된 모든 채널에서 동일한 메모리 및 페르소나를 공유합니다. 전화를 바꾸거나 채널을 사용해도 손실되지 않으며 플랫폼별로 복제할 필요가 없습니다.
핵심 요약
- 성격은
SOUL.md(행동 규칙),USER.md(기본 상호 작용 스타일),MEMORY.md/memories/(공유 배경)의 세 부분에서 나타납니다. - 이들을 분리하는 핵심 이유는 다른 변경 빈도입니다. 규칙은 몇 달 동안 그대로 유지되고 메모리는 거의 매일 증가합니다.
- 페르소나는 사실보다는 원칙을 명시하고, 판단할 수 있을 만큼 구체적인 한계를 유지하며, 상충되는 규칙에 대한 우선순위를 선언합니다.
USER.md멤버십 테스트: 3개월 후에도 여전히 유효할까요?- 행동 규칙을 메모리 항목으로 저장하지 마십시오. 그렇지 않으면 리콜 누락 또는 유실로 인해 간헐적으로 실패합니다.
- 모델 전환 후 말투가 달라지는 것은 대개 페르소나나 메모리가 사라져서가 아니라 새 모델의 표현 방식이 다르기 때문입니다.
마지막 업데이트: 2026-08-31
LightVela 문서
모델을 전환해도 Hermes Agent가 사용자를 잊지 않는 이유는 모델, 페르소나, 메모리가 서로 분리된 세 레이어에 저장되기 때문입니다. 모델은 추론과 생성을 담당하고, SOUL.md는 역할과 표현의 경계를 정의하며, USER.md와 MEMORY.
LightVela 문서
Hermes Agent의 파일은 한데 뒤섞인 폴더가 아니라, 책임이 뚜렷한 세 위치에 나뉩니다. 작업 디렉터리는 현재 작업의 입력·출력·도구 실행을 보관하며 명확한 경계가 있습니다. 도구는 작업 공간을 벗어나 임의의 시스템 경로로 이동할 수 없습니다. 컨텍스트 파일(SOUL.md, USER.md, MEMORY.