Hermes Agent 사용기
AI의 발전이 정말 비유가 아니라 하루가 멀다 하고 매일같이 달라지는 요즘, 그래도 얼마 전이라 할 수 있는 OpenClaw를 나는 써보질 않았다. 어차피 OpenCode든 Gemini-CLI든 LLM에 툴 콜링을 붙여서 컴퓨터를 제어할 수 있게 된 건 흔하기도 했고, 그걸 단지 TUI(CLI 아니다)로만 쓰는 게 아니라 텔레그램 등의 채널에 붙어서 쓸 수 있게 해주고 Cron 같은 기능이 들어갔다고만 생각했기 때문이고 무엇보다 프롬프트 인젝션 등의 보안적인 문제가 많았기 때문이다. 물론 대부분의 보안 문제는 LLM의 문제가 아니라 포트를 인터넷 전체에 대문짝만하게 열어두는 설정 문제였지만, 아무튼 그랬다.
그러다가 Hermes라는 단어가 종종 들리길래 검색을 해 봤는데 하는 일은 비슷하지만 내세우는 기능이 좀 달랐다. 쓰면 쓸수록 똑똑해지는 Agentic AI, 보안에 좀 더 신경 쓴 제품 이 두 가지 정도가 “써봐야겠는데?”라는 생각을 하게 만들었고, 자료를 찾아보며 써보게 되었다.
AI 모델 세팅
나는 넷플릿스 정기결제조차도 안 할 정도로 뭔가를 정기결제 하는 걸 극도로 싫어하는 사람이었기에 일단은 Hermes의 제작사인 Nous에서 무료로 제공하는 모델로 기능들만 체험을 시작했다. 하지만 무료로 쓸 수 있는 hy3 모델은 너무나 빈약했고, 오픈라우터에 연결해서 저렴한 Deepseek v4 flash를 붙여봤다. 하지만 조금 써보니 그 저렴한 Deepseek v4 flash로도 하루만에 5달러치를 써버리게 되었고 AI가 내 말을 잘 기억을 못 하는 것 같은 느낌이 들었다. 이 때는 Deepseek이 역시 저렴해서 좀 딸리나 하는 생각이었지만, 결론적으로 Deepseek의 문제는 아니었다.
하지만 아무리 Deepseek이라고 해도 하루에 5달러를 쓰는 건 (물론 커피 한 잔 안 마시면 되는 가격이라지만 나는 이미 커피도 담배도 안 한다) 내 맘에 들지 않았고, 찾아보니 OpenCode의 정액제 요금인 Go(첫 달 5달러, 이후 10달러)의 API를 Hermes에 붙여도 약관상 아무 문제가 되지 않는다는 걸 알게 되어 OpenCode Go를 붙이게 되었다. OpenCode Go는 대략적으로 종량제 기준 60달러치의 사용량을 제공한다고 한다.
LLM Wiki
그리고 Deepseek이어서 멍청한 건 아니었고 Hermes의 기본 기억은 고의적으로 2200자 정도로 제한되어 있어 자꾸 메모리에 뭘 넣으려 하니 기존 기억을 축약하고 삭제하는 등의 문제였다. 물론 메모리가 모자라도 스킬을 자동으로 만들기 때문에 쓰면 쓸수록 똘똘해지는 건 맞긴 했지만 기본적인 룰을 안 지킨다는 게 인간에게는 가장 거슬리는 일이었다. 그러던 와중 이런저런 유튜브 영상을 보다가 Andrej Karpathy의 LLM Wiki 방법론을 듣게 되었고 이를 Claude Code에서 쓸 수 있게 템플릿을 누가 만들어 둔 것을 발견해서 이거 괜찮다 싶어 적용을 해봤다.
옵시디언 이야기가 한도 끝도 없이 나오긴 했지만 이게 뭐 별건 아니고 표준 Markdown과 거의 차이가 나지 않는 형식이라 굳이 옵시디언을 LLM이 열지 않고 직접 Markdown 파일을 작성하는 방식으로도 작성이 가능한 장점 때문에 쓴다고 보면 된다.
답은 이거였다
기본 메모리에는 “답변은 항상 결론부터 간결히, 부가설명은 짤막하게만 붙이고 내가 물어보면 그 때 이어서 설명해” 같은 식의 규칙 정도만 들어가게 해놓고 회사로 따지면 “위키로 정리할 업무 가이드”는 모두 다 Obsidian에 연동되는 Markdown 기반 위키로 정리되도록 했더니 Deepseek v4 flash 모델로도 굉장히 똘똘한 자식이 되었다. 안 해봤지만 아마 무료인 hy3으로도 어느 정도는 쓸만하지 않을까 싶을 정도다.
물론 “의사소통은 이렇게 하고 호칭은 어떻게 하세요”라는 규칙은 위키에 적혀 있어도 바로 읽는 게 아니다보니 무시당하긴 하지만 뭔가 복잡한 일을 할 때 위키를 먼저 찾아보게 SOUL에 적어두니 여러가지 만족스러운 점이 있었다.
-
위키 작성 규칙을 사람보다 잘 따른다
회사서 위키를 써 본 사람은 알 거다. 혼자서 작성해도 일관성이 없기 마련인데 여럿이서 작성하다보니 위키만 관리하는 전담 팀이 따로 있다면 모를까 위키의 일관성은 찾아 볼 수가 없고 대한민국 중구난방이다. 하지만 LLM wiki를 잘 설정했다면 회사에 꼭 한 명은 있는 문서 정리 진짜 깔끔하게 잘 하는 사람이 쫙 다듬어 준 것 같은 위키가 나온다. 나중에 갑자기 사업을 시작해서 직원을 뽑는다 해도 그냥 이 위키를 읽어보라고 주면 되지 않을까 싶을 정도다. -
사람이 검토하거나 돌아보기 좋다
벡터 DB니 RAG니 하는 기술들도 핫하지만 이건 어디까지나 해시 함수 결과마냥 사람이 직접 뜯어서 열어봐도 의미 없는 암호문에 가깝다. 이걸 들고 있는 AI에게 다시 물어봐야 정보를 꺼낼 수 있고 그마저도 해시함수처럼 정보가 일부 소실된 손실압축본에 가깝다. 하지만 위키는 자연어로 작성되어 있고 Markdown 기반이기 때문에 정보가 손실되는 것이 없고 사람이 쉽게 읽어볼 수 있다. 혹시라도 이상하다 싶은 부분이 있으면 내가 직접 수정을 할 수 있다는 점도 장점이라 할 수 있다. -
위키를 기반으로 스킬을 만들 수 있다
요즘 또 핫 키워드라 할 수 있는 Agent Skill도 결국은 이름만 스킬이지 “이 업무를 하려면 이런 도구를 써서 이렇게 작업하세요” 하는 업무 가이드에 가깝다. Hermes는 심지어 스킬을 알아서 만들기도 하니 그럼 굳이 위키가 필요 없는 거 아닌가 싶지만, 위키를 통해 체계적으로 정리하는 게 좋다. 왜냐면 사람의 명령은 맥락이 왔다갔다 할 때도 있는데 예를 들어 간단한 크롤러를 만들다가 “근데 프로젝트는 항상 ~/projects/ 밑에다 모아두는 게 깔끔할텐데 앞으로는 그렇게 해 줘” 같은 명령을 내릴 수 있는데 이러면 Hermes는 이걸 크롤러 스크립트를 작성하는 스킬에 넣어버린다. 하지만 위키를 잘 만들어 뒀으면 “프로젝트 생성 규칙” 같은 제목의 위키 항목을 만들어 따로 저장할 수 있게 되고 다른 프로젝트를 만들 때도 이 규칙을 참고해서 일관된 작업을 할 수 있게 된다.
물론 위키를 딱 만들었다고 뭐가 갑자기 되는 건 아니다. 위키를 설정한 직후엔 비어있어서 할 줄 아는 것도 없고, 이 위키가 일관성을 지키기 위해서는 Daily cron으로 lint도 돌려야 하고 여러가지로 노하우가 있지 않으면 제대로 활용하긴 어렵다고 생각한다. 하지만 그냥 쌩으로 메모리를 사용하는 것에 비하면 훨씬 나으니 LLM wiki는 한동안은 필수일 것 같다. LLM wiki를 쓰면 Hermes엔 따로 메모리 프로바이더는 설정 안 해도 된다.
LLM 위키에 대해서는 더 설명하자니 너무 길어져서 패스
결국 든 생각이 하나 있는데, 앞으로의 LLM 모델들은 더 많은 지식을 보유해서 무거워지는 것보다는 기본적인 지식들만 탑재해서 가벼워진 뒤에 툴 콜링을 잘 활용해서 그때그때 필요한 정보를 잘 찾아 잘 조합하는 능력이 더 우선시 되어야 하겠다는 거다. 어차피 빠르게 변하는 지금 시대에 학습 당시의 지식은 출시시점엔 이미 낡은 정보다.
활용해 본 것
처음엔 뭘 해야 할 지 몰라서 유튜브 쇼츠도 만들 수 있냐 뭐 이런 걸 시켜봤다. 뭔가를 만들어내긴 하는데 TTS도 알아서 어디선가 가져다 쓰고 코드를 통해 영상을 만들어내는 걸 어디서 들어봤는데 그걸 써봐라 했더니 알아서 잘 찾아서 쓰긴 했다. 다만 계속 뭔가가 겹치거나 깨지거나 했고 일단 Hermes가 요런 느낌이구나 하는 걸 배운 것에 만족하고 끝
이력서 수정도 시켜봤다. 지금 재취업을 준비하면서 편의점 알바를 하고 있는데 알바 도중에 헤드헌터에게 연락이 와서 실험삼아 이메일 읽기권한을 주고 “헤드헌터가 이력서 양식을 보냈는데 그거 받아서 내 원본 이력서는 여기여기에 있으니까 이거 기반으로 내용을 채워서 나한테 먼저 보내줘”라고 시켜봤다. 일을 어떻게 할 지 모르니까 메일 답장까지는 일부러 안 시켰다.
처음 하는 일이라 그런지 75% 정도는 일을 해내는데 세부적으로 뭔가 틀렸거나, 양식이 일관적이지 않게 되거나, 말투가 마음에 안 들어서 교정을 해줘야 했다. docx 파일이 사실 xml파일과 기타 파일을 zip으로 묶어놓은 파일일 뿐이라는 걸 혹시 알고 있는가? Hermes는 그 점을 이용해서 직접 xml파일을 편집하는 식으로 작업하는 게 기본이었다. 그래서 내용 편집 자체는 잘 하는데 한국에서 특이하게 쓰는 양식(밑줄이 아니라 —로 구분한다든가) 부분에서 오류가 생겼다. 이 부분은 몇 번 지적을 했더니 Office 툴을 따로 다운받아서 pdf로 변환한 뒤에 어디가 깨졌는지를 검증하는 식으로 작업을 하기 시작했다. 물론 편집 자체는 여전히 xml을 편집하는 게 빠르고 정확해서인지 그런식으로 작업을 했고, 말투 같은 건 내가 쓰는 스타일로 교정을 몇 번 해줬더니 어느 새 위키에는 이력서를 작성할 때 필요한 정보들과 작성 가이드에 대한 내용이 빼곡하게 적혀 있었다. 아마 다음엔 비슷한 일을 시키면 매달리지 않아도 90%는 만족할 결과가 나오지 않을까?
그러다가 어차피 이메일도 연동한 거 이메일 알림도 만들어 봤다. 이메일이 중요한 것도 있지만 대부분 쓰잘데기 없는 마케팅 메일인데 중요 태그를 달고 오거나, 인프라 서비스들이 “액션 필요” 태그를 붙이고 와도 실제로는 내가 아무 것도 안 해도 되는 메일들이 워낙 많아서 피곤했기에 몇가지 룰을 쥐어주고 cron으로 알리도록 했다. 물론 몇 번의 시행착오는 있었지만 꽤나 만족스러운 결과물이 나왔다. 깨어있는 시간 기준으로 3시간에 한 번씩 체크해서 정말로 액션이 필요한 내용은 바로 알리도록 했고 하루 한 번 저녁쯤에는 액션은 필요하지 않아도 알아는 둬야 할 것들을 쌓아뒀다가 알려주도록 했다. Hermes의 cron에는 여러가지 옵션이 있는데 그 중에서 LLM이 [SILENT]라고 응답하면 따로 메시지가 안 오는 기능을 여기에 이용했다. 이 외에도 LLM이 먼저 뜨는 게 아니라 스크립트를 실행한 다음에 필요한 경우에만 LLM에게 넘기는 등의 옵션도 있다. (예를 들어 RSS를 읽어보고 새 글이 있을 때만 LLM이 요약결과를 만들어 준다든지)
이 외에도 내가 진행하는 프로젝트에 대해 코드 작성은 안 시키고 방향을 토론도 해보고 관련 조사 결과를 위키에 정리해 두고 참고할 수 있도록 몇 개 물어보기도 했다. 크게 공유할 내용은 없었다.
이 쯤 되니까 뭔가 정말로 비서의 느낌이 나기 시작했고 회사에 다닐 때 위에서 가끔 짜잘하게 시키던 잡무 (외부에서 프로젝트 제안이 왔을 때 관련 자료 찾아서 견적 내고 관련 기술 조사하고 10페이지 정도 되는 발표자료 만들기?) 정도는 이제 그냥 사람 안 쓰고 이런 AI가 다 해줘도 되겠다는 생각도 들었다. 물론 이것도 아무나 다 할 수 있는 건 아니고 노하우가 있는 사람만 가능할테고 노하우가 없는 사람은 노하우를 가진 사람을 고용해서 쓰겠지만.
그래서 가족여행 계획을 세울 때도 써봤다. 좋아하는 것, 싫어하는 것, 제약사항 등을 몇 개 알려주고 조사해와라 시켰더니 괜찮은 결과를 가져와 줬고 이러이러한 게 마음에 드니까 이걸로 일정도 짜봐라, 표로 정리하고 필요경비까지 정리했으면 좋겠다 해봤는데 정말 비서처럼 잘 정리를 해 왔다. 이걸 사람한테 시켰으면 개꼰대 소리를 듣거나 급여를 많이 줘야 용서가 되는 정도의 일이었다. 그동안의 대화와 기록에 내 성향과 필요한 정보는 다 나와 있어서 그런가 나와 동떨어진 추천이 나오지 않는다는 점이 정말 마음에 들었다.
그리고 그냥 붙일 수 있길래 초반에 Home Assistant를 붙여 놓았었는데 나는 자동화를 좋아하지 “불 꺼” 같은 명령을 내리는 건 쿨하지 못하다 생각해서 쓸 일은 없겠다 싶었다 (심지어 잘 때 불 끄는 것도 명령을 안 내려도 알아서 꺼진다). 하지만 오늘 활용도를 찾았는데 홈 어시스턴트엔 항상 내 위치가 찍히기 때문에 굳이 메신저로 내 위치정보를 보내지 않아도 홈 어시스턴트에 그 정보가 있으니 가져와 쓰면 된다고 알려주고 새 세션에서 실험으로 “지금 내 주변에 공중화장실이 어딨을까?”라고 보내봤는데 아주 정확하게 찾아줬다. 모순적으로 정작 집 밖에 있을 때 유용하게 됐다.
Hermes의 특징
써보면서 느낀 Hermes만의 특징이라고 한다면 몇 가지가 있을 것 같다. 물론 OpenClaw를 안 써봐서 다른 곳에도 있는 기능일지는 모르겠지만.
몇 번 반복적으로 시키는 일은 자기가 알아서 메모리에 저장하거나 스킬로 만들어버린다. 굳이 내가 요청하지 않아도 된다.
메모리 외에도 세션 검색 기능이 내장되어 있어서 새 세션에서 “아까 니가 말했던 그거 이어서 조사해줘” 같은 식의 명령을 내려도 알아서 잘 해준다. 심지어 cron도 하나의 세션으로 취급돼서 “방금 크론 작업으로 온 메시지가 이상한데 수정해줘”라고 해도 알아서 잘 해준다.
경쟁작?인 OpenClaw가 보안으로 화재거리가 돼서 그런가 보안에 신경을 많이 쓴 냄새가 난다. 조금만 위험해보이는 동작이 있어도 나한테 의사를 물어본다. 문서를 읽어보니 진짜 위험한 몇몇 명령어(rm -rf /)들은 “니가 알아서 다 해”라고 명령했어도 굳이굳이 다시 물어본다고 한다.
도커 안에서 돌리면 좀 더 안전하긴 하겠지만 재시작하면 사라지는 게 많고 설치가 곤란한 툴도 많아서 그냥 별도 머신을 통째로 주는 게 훨씬 편하다. 라즈베리 파이에서도 잘 돈다.
요약, 팁
- Opencode Go 플랜에 붙여서 Deepseek v4 flash 모델로 써라. 아무리 써도 다 못 쓴다
- LLM wiki 반드시 써라 (적어도 새 방법론이 나오기 전까지는)
- 처음 하는 일엔 쌩신입 가르치듯이 달라붙어서 이거저거 시켜야 하는데 그 이후로는 똘똘하게 잘 한다
- 데스크탑 앱으로 연동할 땐 상관 없는데 툴 콜링을 할 때마다 뭐 해볼게요 조사할게요 메시지가 메신저로 다 날아오면 한 단어씩 메시지를 보내는 인간마냥 짜증이 솟구친다. 그걸 꺼달라고 요청하면 메신저에서는 그런 걸 안 보내도록 따로 설정을 잘 해주니 부탁해보자
- 모델이 똑똑하고 멍청한 게 아니다, 활용하는 사람의 능력에 달렸다