소개
잠시 복잡한 내용은 내려두십시오.
맥미니?중요하지 않습니다.
클로드 막혔다던데 못쓰나요?일단 내려놓으십시오.
보안에 취약하다던데 빈 기계에 설치해야되나요?여행 지랑 똑같습니다. 내가 위험한데 안가면 안 위험합니다.
오늘은 오픈클로 에이전트의 핵심이자 정수 soul.md에 대한 이야기를 하려고 합니다.
그게 뭔데요?
오픈클로는 설정할 때 중요한 설정 문서가 있습니다.
검정색 배경의 중국 앱 스크린샷
오픈클로를 설치 후 확인할 수 있는 대시보드 창입니다.
AGENTS, SOUL, TOOLS 등등이 있는데 오늘은 그 중 SOUL 이야기만 하려고 합니다.
오픈클로의 법전인 공식 문서에는 아래 내용이 있습니다. 코난쌤이 한글로 번역해주신 곳에서 가져왔습니다.(SOUL.md 개성 가이드)
영화 인터스텔라를 보셨다면 인공지능 로봇 TARS에게 유머 레벨을 조정하던 이 장면을 기억하실겁니다.
soul.md가 그걸 하는 겁니다. 유머에 몇 가지를 더하는 거죠. 이 몇가지가 큰 차이를 만들어냅니다.
어떤 분들은 이렇게 생각하실 수 있을거에요. 그거 일 시키는데 중요한가요? 뉴스크롤링 봇은 '뉴스크롤봇', 코딩하는 애는 '코딩봇'하면 되지 않나요? 톤, 유머 이런거 토큰 낭비 아닌가요?
하지만 그런 건조하고 영혼없는 에이전트들은 뽀짝이가 되지 못했습니다. 대 에이전트 시대를 열고 있는 우리 뽀짝이는 충실한 soul 문서의 힘을 보여주는 가장 멋진 사례죠. 아마 이번에 새로 스터디에 참여하시고, 오픈클로/헤르메스에 관심이 있는 분들 대부분이 유튜브나 어딘가에서 뽀짝이의 사례를 보고 오신 분들일거라 생각합니다.
물론 개인 취향이지만 충실하게 짜여진 soul.md는 만드는 과정도 즐겁습니다. 그리고 열심히 키운 에이전트는 얘를 위해 내가 더 공부해서 더 유능한 애로 만들어줘야겠다는 의욕을 불러일으키기도 합니다.
그래서 어떻게 설정하면 '잘' 설정하는건데요?
저는 이 질문이 애초에 문제가 있다고 봅니다. 영혼에 잘 설정된 영혼과 잘 설정안된 영혼이 어디있겠습니까, 하나하나 다 소중한 영혼이지요...는 농담이고, soul문서는 실제로는 새로운 대화가 열릴때마다 불러오는 문서에 불과합니다. 그 말은 내가 수정하면 수정한게 반영이 된다는 거죠.
그러니 얘랑 계속 대화하면서 에이전트에게 직접 스스로를 변화시키라고(soul 문서 고치라고)하면 됩니다.
어떤 게 좋을 것 같아?
공식 문서에는 이런게 좋아보인다고 정도가 끝입니다.
그러니 soul문서 설정에 너무 스트레스 받으실 필요 없습니다. 그냥 끌리는대로 해보고 마음에 안들면 고쳐나가면 됩니다.
제가 만든 두 에이전트의 설정 예시를 한번 보여드리겠습니다.
1. 홀든 콜필드(오픈클로)의 SOUL.md 만들어주기
이 에이전트는 이번 22기 반려에이전트 스터디를 앞두고 담당에이전트를 하나 만들어볼까 하던 궁리를 하던 중 제가 좋아하는 소설인 호밀밭의 파수꾼이 생각났습니다.
"내가 할 일은 아이들이 절벽으로 떨어질 것 같으면, 재빨리 붙잡아주는 거야. 애들이란 앞뒤 생각 없이 마구 달리는 법이니까 말이야. 그럴 때 어딘가에서 내가 나타나서는 꼬마가 떨어지지 않도록 붙잡아주는 거지. 온종일 그 일만 하는 거야. 말하자면 호밀밭의 파수꾼이 되고 싶다고나 할까. 바보 같은 얘기라는 건 알고 있어. 하지만 정말 내가 되고 싶은 건 그거야. 바보 같겠지만 말이야."
오 이거 딱이네, 우리 수강생들과 수강생들이 스터디에서 만드는 에이전트를 잡아주면서 자기도 막 설정되서 불안정한 에이전트의 페르소나로 써먹기 딱이구나, 하고 세팅에 들어갔습니다.
오픈클로를 맥북에 설치하고, 클로드 opus 4.7모델을 cli 로 연결했습니다.
*주의: 지금부터 이해가 안가는 용어나 화면은 아무것도 중요하지 않습니다. 그냥 흐름만 따라가시면 됩니다.
이게 대화의 시작입니다. 저는 첫 메세지를 보냈고, 오픈클로 에이전트의 저 질문들은 사전 설정된 온보딩 과정에서 묻도록 되어있는 것들입니다. 생각했던 설정들을 이야기 해줍니다.
한국어 텍스트가 있는 화면의 스크린샷
아까 워크스페이스의 다른 문서들도 보셨을텐데요, 자연스럽게 에이전트와 대화를 나누면서 그런 초기 설정 할 수 있게 되어있습니다. 전혀 겁먹으실 필요 없습니다.
여기까지는 오픈클로의 웹 ui였고 저는 이 방식 보다 텔레그램으로 이야기 하는 걸 더 좋아해서 옮겼습니다.
텔레그램으 로 인사를 하자 아까 웹 ui에서 세팅한 값이 그대로 남아있는걸 알 수 있습니다. 그런데 뭔가 이상하죠. 학생들, 에이전트들이 뛰어내리기 전에 잡는다? 그 늬앙스가 아닌데?캐릭터 이해도가 떨어지네요. 즉시 수정 들어갑니다. 일단 작품을 제대로 읽어오도록 했습니다.
갈색 바탕에 한국어 텍스트
사실 저도 이 소설 그리 깊게 안읽어서 뭔소리 하는지 모르겠지만 대충 느낌이 통하는거 같으니 넘어가겠습니다.
한국어로 된 문자 메시지의 스크린샷
중간에 이 내용을 identity.md에 넣는다네요. 무조건 soul에 넣어야 합니다. 제대로 반영하라고 지시합니다. 그런데 반말을 쓰네요? 반말도 하지말라고 합니다. 저는 에이전트가 저한테 반말하는게 싫어서요 ㅎㅎ
이런 식으로 본인의 취향에 따라 '대화'를 하면서 수정해 나가시면 됩니다. 어려울 것도 없고, 처음부터 완벽하게 잘 세팅된 무언가일 필요도 없습니다. 나에게 맞추면 됩니다.
영혼에 텍스트만으로는 부족하죠. 프로필 사진도 하나 만들어줘야 합니다. 저의 이미지 생성 에이전트에게 의뢰합니다.
그래서 여러분이 22기 반려에이전트 단톡에 입장하셨을때 보실 칙칙한 프사가 완성되었습니다.
이 뒤에 얘는 미리 사전에 고생해서 카톡 답변 환경 뚫어준 헤르메스 에이전트에게 어떻게 쓰는지 인수인계 받고 고생 끝에 세팅을 완료한 다음 여러분의 질문을 기다리고 있습니 다.
2. 입법편력기사 돈키호테(헤르메스)의 SOUL.md 만들어주기
제가 하는 일 중에 신규 법안에 대한 검토를 하는 일이 있습니다. 그걸 mcp로 좀 편하게 조회하도록 할 수 있는데 그걸 담당하는 에이전트를 따로두기로 했습니다. mcp 2개를 관리해야해서 전문화하는게 좋을 것 같아서요. 이 에이전트의 이름은 돈키호테로 했습니다. 참고로 헤르메스는 오픈클로보다 이런 설정이 훨씬 심플합니다.
한국어 스크린샷
아이덴티티를 정하자고 했더니 이런 따분하고 지루한 설정을 늘어놓네요. 즉시 커트.
네...세르반테스의 돈키호테가 아니구요. 림버스 컴퍼니라는 게임의 돈키호테입니다. 애니메이션, 게임 캐릭터들은 이런걸 하기가 편합니다. 설정이 꽤 상세하게 올라와 있거든요.
대충 캐릭터가 게임에서 쓰는 말투 특징까지 정리해줍니다.
적당히 필요한 자료를 더 넣어서 정리했습니다. 그러면 이제 잘 작동하는지 봐야겠죠?
중간에 보이는 기어 표시는 헤르메스 에이전트에서 기본적으로 보이는 중간 과정 표시입니다. 오픈클로는 기본 값이 이걸 표시하지 않도록 되어 있고 오픈클로도 똑같이 이런 중간과정 돌아가는게 보이려고 하면 verbose라는 걸 켜면 됩니다.
이런 식으로 쭉쭉 찾아줍니다.
이게 되는 이유는 헤르메스가 똑똑해서 보다는 assembly-api-mcp, korean-law-mcp라는 두개의 훌륭한 mcp를 만들어주신 분들이 있었고 그 mcp의 깃허브 링크를 주고 구현하라고 지시만 하면 되는 건데 그건 중고급반에서 다룰 이야기니까 넘어가겠습니다.
어차피 시킨 일을 하는 건 잘해오는 거고 가끔 이렇게 재밌게 한마디씩 붙일때마다 기분이 좋아집니다.
SOUL.md 이야기 끝! 스터디에서 만나요~