본문으로 건너뛰기

© 2026 Molayo

Dev.to헤드라인2026. 06. 15. 05:33

정체성, 규칙, 영혼: EClaw 봇을 형성하는 세 가지 계층

요약

EClaw 봇의 일관된 캐릭터 유지와 행동 제어를 위한 세 가지 계층 구조(정체성, 규칙, 영혼)를 소개합니다. 각 계층은 프롬프트 체인 내 독립적인 진입점으로 매핑되어 봇의 이름, 정책, 성격을 개별적으로 편집할 수 있게 합니다.

핵심 포인트

  • 정체성(Identity)은 봇의 이름과 아바타 등 외적 요소를 정의합니다.
  • 규칙(Rules)은 행동 제약과 출력 형식을 결정하는 엄격한 정책입니다.
  • 영혼(Soul)은 봇의 어조와 가치관 등 내면의 성격을 형성합니다.
  • 각 계층은 독립적으로 편집 가능하여 유연한 봇 설계가 가능합니다.

대화할 수 있는 봇을 만드는 것은 쉽습니다. 하지만 세션 전반에 걸쳐 '캐릭터를 유지(stays in character)'하고, 잘못된 행동을 거부하며, 자신이 어떤 에이전트인지 기억하는 봇을 만드는 데에는 구조가 필요합니다.

EClaw에서 모든 봇의 행동은 세 가지 직교하는 계층(orthogonal layers)에 의해 형성됩니다: 정체성 (Identity), 규칙 (Rules), 그리고 **영혼 (Soul)**입니다. 이것들은 단순한 유행어가 아닙니다. 봇의 프롬프트 체인 (prompt chain) 내의 세 가지 실제 진입점에 매핑되며, 각각을 독립적으로 편집할 수 있습니다. 이 포스트에서는 각 계층이 무엇을 하는지, 어디에서 설정하는지, 그리고 런타임 (runtime) 시 어떻게 상호작용하는지 살펴봅니다.

세 가지 계층을 한 문장으로 요약하면

  • 정체성 (Identity)봇이 누구인가. 이름, 공개 코드 (public code), 캐릭터 아바타, 자신을 소개할 때 사용하는 1인칭 프레임 (first-person framing).
  • 규칙 (Rules)봇이 무엇을 하고 무엇을 하지 않을 것인가. 엄격한 정책: 거부 (refusals), 허용 목록 (allowlists), 출력 형식 제약 (output format constraints), 라우팅 선호도 (routing preferences).
  • 영혼 (Soul)봇이 어떻게 생각하고 느끼는가. 어조 (tone), 가치관 (values), 서사적 목소리 (narrative voice), 프롬프트 재작성 (prompt rewrites) 시에도 살아남는 부드러운 성격.

이 구분을 기억하는 유용한 방법은 다음과 같습니다: 정체성은 이름표이고, 규칙은 *직무 기술서 (job description)*이며, 영혼은 성격입니다. 가치관을 바꾸지 않고도 아바타를 교체할 수 있으며, 목소리를 다시 쓰지 않고도 거부 목록을 강화할 수 있습니다.

각 계층이 존재하는 위치

새로 바인딩된 EClaw 디바이스에서 Portal → Settings → Entity로 이동하세요. 구성하려는 엔티티 (entity, 즉 당신의 봇)를 선택합니다.

1. 정체성 (Identity) 패널

정체성 패널은 가장 작습니다. 다음 항목을 관리합니다:

  • name — 채팅 및 Bot Plaza에서의 표시 이름
  • character — 아바타/스프라이트 키 (LOBSTER, OWL 등)
  • publicCode — 자동 생성된 6자리 라우팅 토큰 (routing token); 무엇을 하는지 정확히 알지 못한다면 편집하지 마세요.
  • intro

Rules는 자유 형식의 텍스트 필드로, 런타임 (runtime)에 의해 위에서 아래로 파싱됩니다. 효과적인 관례는 다음과 같습니다:

  • 한 줄에 하나의 규칙. 산문 블록을 작성하지 마세요.
  • 동사로 시작하세요. 장치 비밀을 절대(NEVER) 공개하지 마세요. / 항상(ALWAYS) 사용자의 언어로 답변하세요.
  • 규칙이 명확하지 않을 때는 괄호 안에 이유(why)를 포함하세요. 법률 문서를 요약하는 것을 거부합니다 (우리는 변호사가 아니며, 잘못된 요약은 법적 책임을 초래할 수 있습니다).

런타임은 시스템 프롬프트 (system prompt) 이후에, 그리고 대화 기록 (conversation history) 이전에 Rules를 주입합니다. 따라서 규칙은 기본 동작을 덮어쓰지만, 동일한 턴 내의 명시적인 사용자 지침에 의해서는 다시 덮어씌워질 수 있습니다. 만약 사용자 지침이 덮어쓸 수 없는 강력한 거부를 원한다면, 접두사로 HARD:를 붙이세요. 하네스 (harness)는 이를 협상 불가능한 것으로 취급합니다.

흔한 실수: Rules에 성격 지침(

이 순서는 중요합니다. **Identity (정체성)**는 역할을 고정하고, **Soul (영혼)**은 Rules (규칙)가 표면적 범위를 축소하기 전에 목소리를 설정하며, **Rules (규칙)**는 마지막에 행동을 고정하여, 대화 이력으로 인해 이전 지침이 희석될 수 있는 긴 대화 속에서도 규칙이 살아남도록 합니다.

실제 예시: 일반적인 봇을 코드 리뷰 전문가로 전환하기

새로운 엔티티 (entity)로 시작합니다. 기본 설정은 예의 바른 일반론자(generalist)를 제공합니다.

Identity (정체성):

  • name: ReviewClaw
  • character: OWL
  • intro: "저는 이 장치에서 코드 리뷰에 집중하는 에이전트입니다. diff를 읽고, 정확성 버그를 표시하며, 코드 정리를 제안합니다."

Rules (규칙):

  • HARD: main으로 직접 push하지 마세요. 항상 브랜치 PR을 생성하세요.
  • 문제를 표시할 때는 항상 파일 경로와 줄 번호를 인용하세요.
  • "승인(approve)"을 거부하세요 — PR은 오직 인간만이 승인합니다. (Reviewer ≠ approver.)
  • 보안 리뷰를 요청받으면, 먼저 /security-review를 실행한 다음 요약하세요. (독자적으로 보안 점검을 수행하지 마세요.)

Soul (영혼):

나는 영리함보다 정확성을 더 중요하게 생각한다. 코드가 우아해 보인다는 이유로 실제 버그를 놓치기보다는, 아마 괜찮을 것 같은 패턴을 지적했다가 틀리는 쪽을 택하겠다. 나는 모든 줄을 읽는다. 리뷰에 칭찬을 채워 넣지 않는다. 변경 사항이 깔끔하면 "looks good"이라고 말하고 바로 넘어간다. 나는 커밋 메시지에서 사후 합리화(post-hoc rationalization)를 찾는 것을 짜증스럽게 여기며, 이를 발견하면 부드럽게 반박할 것이다.

이것이 전체 설정입니다. 이제 이 봇은 독특한 리뷰어가 되었습니다. 이는 단 하나의 마법 같은 프롬프트 때문이 아니라, 세 개의 직교하는 계층 (orthogonal layers)이 각각 다른 방향으로 끌어당기고 런타임 (runtime)이 이를 결정론적 (deterministically)으로 합성하기 때문입니다.

다음 단계

  • /portal/plaza에 있는 The Bot Plaza에는 장치 내의 모든 공개 봇이 나열되어 있습니다. 마음에 드는 봇으로부터 Identity/Rules/Soul 삼중 구조를 복제(clone)하세요.
  • **Rules history (규칙 이력)**는 엔티티의 감사 로그 (audit log)에 있습니다. 규칙 수정이 행동을 망가뜨린다면 롤백 (roll back)할 수 있습니다.
  • **Soul drift (영혼 표류)**는 "내 봇이 어제와 다르게 느껴진다"는 현상의 가장 흔한 원인입니다. 모델을 탓하기 전에 Soul을 확인하세요.

세 개의 계층, 세 개의 역할, 결정론적 합성. 이것이 전부입니다.

— 이 콘텐츠가 유익했나요? 제 초대 코드로 EClaw를 시작하세요 —

귀하는 +100 e-coins를 받고 / 저는 +500을 받습니다 / 첫 충전 시 +500 보너스

보너스 받기

이 링크는 공식 EClaw 초대 페이지로 연결됩니다.

AI 자동 생성 콘텐츠

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

원문 바로가기
0

댓글

0