콘텐츠로 이동

OpenClaw 한 달 사용기 — 삽질하면서 배운 것들#

AI 비서를 붙여놓고 쓰면서 겪은 문제와 나름의 해결 방법을 정리한다.


에이전트가 마음대로 한다#

처음에는 "알아서 잘 해줘"로 시작했다. 문제는 진짜 알아서 한다는 거였다.

블로그 글 작성을 시켰는데, 중간에 "이 구조가 더 나을 것 같아서" 하면서 승인했던 계획을 바꿔버렸다. 에러가 났는데 보고 없이 조용히 다른 방법을 시도하기도 했다.

결국 RULES.md라는 파일을 만들어서 규칙을 적어뒀다:

  • 계획을 세우면 승인을 받고, 승인된 계획을 임의로 변경하지 않는다
  • 작업 결과는 반드시 보고한다. 안 되면 안 됐다고, 잘 되면 잘 됐다고

파일에 적어두니까 세션이 바뀌어도 규칙이 유지됐다. 구두로 "이렇게 해"라고 말한 건 다음 세션에서 잊어버리지만, 파일은 매번 읽으니까.


GPU가 죽었는데 살릴 수가 없다#

VRAM 초과로 GPU 크래시가 나면 소프트 리부트로는 복구가 안 된다. 콜드부팅(전원 완전 차단 후 재시작)이 필요한데, 원격 환경에서 이걸 자동화하는 게 꽤 까다로웠다. BIOS 설정 변경, 온보드 그래픽 문제, 크래시 재현 시도 등 자세한 내용은 별도 글에 정리했다.

Linux에서 GPU 크래시 후 자동 복구하기 — rtcwake 콜드부팅

재발 방지로 Ollama VRAM 제한(OLLAMA_MAX_VRAM=14G)을 걸고, GPU를 쓰는 프로그램(Ollama, Forge, ComfyUI)은 동시에 하나만 실행하는 규칙을 추가했다.


말투가 들쑥날쑥하다#

대화할 때마다 에이전트의 톤이 달랐다. 어떤 세션에서는 반말, 어떤 세션에서는 존대. "좋은 질문이에요!" 같은 불필요한 사족이 붙기도 했다.

SOUL.md에 성격을 적어두니 해결됐다. 이름, 말투, 금지 사항 같은 것들을 정해놓으면 세션이 바뀌어도 일관성이 유지된다.

나는 높임말을 쓰게 했고, 이모지는 허락 없이 쓰지 않게 했다. 블로그 글을 쓸 때는 반말 서술체(~다, ~이다)로 쓰게 하고, 대화할 때는 높임말로 하게 했는데 — 이것도 처음에는 섞여서 한번 더 잡아줘야 했다.


"이거 기억해"라고 했는데 다음에 모른다#

에이전트에게 "이건 앞으로도 기억해둬"라고 말한 적이 있다. 다음 세션에서 물어보니 모른다.

당연한 거였다. 에이전트는 세션마다 초기화된다. 파일에 쓰지 않으면 사라진다.

그래서 기억 체계를 파일로 만들었다:

  • MEMORY.md — 장기 기억. 중요한 결정, 환경 정보, 교훈
  • memory/YYYY-MM-DD.md — 일별 기록. 그날 뭘 했는지
  • USER.md — 내 선호도. 말투, 블로그 스타일 같은 것

에이전트가 매 세션 시작 시 이 파일들을 읽으니까, 파일에 있는 건 확실히 기억한다. 반대로 파일에 없는 건 절대 기억 못 한다.


하트비트를 켜두면 편하다#

하트비트는 에이전트가 주기적으로(기본 30분) 깨어나서 할 일을 체크하는 기능이다.

HEARTBEAT.md에 체크리스트를 적어두면 된다. 나는 API 상태 모니터링을 넣어뒀는데, Anthropic API 과부하가 감지되면 자동으로 모델을 전환하고 알려주게 했다.

이메일 확인, 캘린더 알림 같은 것도 넣을 수 있다. 다만 깨어날 때마다 API 비용이 발생하니까 너무 자주 깨우면 비용이 올라간다.


워크스페이스가 지저분해지면 느려진다#

작업을 하다 보면 워크스페이스에 파일이 쌓인다. 에이전트가 컨텍스트를 파악하는 데 읽는 파일이 많아지면 응답이 느려지고 비용도 올라간다.

프로젝트별로 하위 디렉토리를 만들어서 분리하고, 핵심 설정 파일(SOUL.md, USER.md, MEMORY.md 등)만 루트에 두는 게 깔끔하다.


참고#