콘텐츠로 이동

SOUL Evil Hook으로 에이전트 동작에 변화 주기

가끔 에이전트가 항상 똑같은 방식으로만 대답하는 게 아쉬울 때가 있죠? 특정 시간에만 특별한 페르소나를 입히거나, 가끔은 예상치 못한 반응을 보고 싶을 때가 있습니다. 하지만 상황에 맞춰 매번 파일을 직접 수정하고 관리하는 건 정말 번거로운 일이에요.

이런 고민을 해결하기 위해 SOUL Evil Hook을 사용할 수 있습니다. 디스크의 파일을 직접 건드리지 않고도 메모리 상에서 에이전트의 핵심 지침을 가꿔줄 수 있어요.

  • SOUL.md 파일
  • OpenClaw 실행 환경
  • 에이전트 워크스페이스 루트 권한

5분 안에 SOUL Evil Hook을 설정하고 실행하는 방법입니다.

먼저 CLI에서 Hook을 활성화해 주세요.

Terminal window
openclaw hooks enable soul-evil

그 다음, 설정 파일에 아래 내용을 추가합니다.

{
"hooks": {
"internal": {
"enabled": true,
"entries": {
"soul-evil": {
"enabled": true,
"file": "SOUL_EVIL.md",
"chance": 0.1,
"purge": { "at": "21:00", "duration": "15m" }
}
}
}
}
}

마지막으로 에이전트 워크스페이스 루트(SOUL.md와 같은 위치)에 SOUL_EVIL.md 파일을 만드세요. 이제 agent:bootstrap이 실행될 때 설정한 확률이나 시간에 맞춰 내용이 교체됩니다.

  • file: 교체할 SOUL 파일 이름 (기본값: SOUL_EVIL.md)
  • chance: 실행 시 SOUL_EVIL.md를 사용할 확률 (0~1 사이 숫자)
  • purge.at: 매일 교체가 시작될 시간 (24시간 형식, HH:mm)
  • purge.duration: 교체 유지 시간 (예: 30s, 10m, 1h)

참고 사항

  • 우선순위: 정해진 purge 시간대가 확률(chance) 설정보다 우선합니다.
  • 시간대: agents.defaults.userTimezone 설정을 따르며, 설정이 없으면 호스트 시스템의 시간대를 사용합니다.

문제가 생겼을 때는 아래 내용을 확인해 보세요.

  • SOUL_EVIL.md 파일이 없거나 비어 있는 경우: OpenClaw가 경고 로그를 남기고 일반 SOUL.md를 그대로 사용합니다.
  • Sub-agent에서 동작하지 않는 경우: Sub-agent는 bootstrap 과정에서 SOUL.md를 포함하지 않기 때문에 이 Hook이 적용되지 않습니다.
  • 파일 변경이 안 보이는 경우: 이 Hook은 메모리 상에서만 내용을 교체합니다. 실제 디스크에 있는 파일은 수정되지 않으니 안심하세요.
  • Hook이 작동하지 않는 경우: SOUL.md가 bootstrap 리스트에 포함되어 있는지 확인해 주세요. 리스트에 없으면 Hook은 아무 작업도 하지 않습니다.

더 궁금한 점이 있다면 AI Setup Assistant에게 물어보세요.

OpenClaw

OpenClaw Expert

아직 막혀 있나요?

이 문서에서 답을 못 찾았다면 OpenClaw Expert에게 바로 물어보세요.