소개
우선 강의 준비해주시고, 좋은 자료들 지속해서 공유해주시는 지아코모 스터디장님, 엔지니어H 스터디장님께 감사의 말씀 드립니다.
먼저, 이번 22기 교육은 비개발자인 제가 코딩 지식 없이 AI 에이전트(Hermes Agent) 기반의 개인 비서 봇 '코코'(제가 제일 좋아하는 캐릭터입니다...)를 클라우드 서버에 구축해 보고 싶어서 시작했습니다.
목표는 Discord 채널 하나에 봇 1개를 두고, 채널별로 역할(투자 자문 / 트레이너 / 상품기획 업무)을 분리해 운영하는 것이었어요. 단순히 "대화하는 AI"가 아니라, 실제로 파일을 읽고 쓰고, 크롤링하고, 스스로 지식을 축적하며 발전하는 에이전트를 만들고 싶었습니다. 여기에 강의에서 배운 'LLM Wiki' 개념을 더해, 모델이 바뀌어도 지식과 규칙이 누적되는 구조(하네스)까지 만들어보는 게 최종 목표였습니다.
진행 방법
클로드 코드 정도만 찔끔 써본, 이번 강의 요건의 최소 조건을 충족하는 정도의 개발 지식이었기에 첫 강의를 따라가는 게 많이 어려웠습니다. 그래서 강의가 끝나고 나서도, 하루에 6-7시간 정도 AI를 붙잡고 터미널 명령어 하나하나, 오류 메시지 하나하나를 그대로 붙여넣고 "이게 무슨 뜻이야?", "왜 오류가 났을까?"를 물어보는 방식이었어요. 사용한 도구는 WSL(Ubuntu), Hermes Agent, Oracle Cloud(무료 VM), Discord, Obsidian + Git이었습니다.
프..롬프트는 거의 20시간 분량의 대화기록이라 내용이 짧게 소개가 될지 모르겠지만, 우선 첫 걸림돌이 되었던 내용을 간략히 소개할게요. WSL 설치 후 Hermes를 깔려는데, 회사 프록시가 HTTPS를 자체 서명 인증서로 교체하면서 self-signed certificate in certificate chain 오류가 계속 났습니다. 결국 이 문제 때문에 로컬 PC가 아니라 클라우드 서버로 방향을 틀게 됐어요.
(너 이 자식..! 그치만 보안이 더 소중하니까..)
집에서 사용하는 컴퓨터도 있고 하니 어차피 24시간 돌아가면서, 공용으로 사용 가능한 서버를 찾아야했기에 좋은 대안이었던 것 같아요. 이후, Oracle Cloud Free Tier로 Ubuntu 서버를 만들고(여기서 ARM 사양 재고 부족, 퍼블릭 IP 토글 등 삽질이 많았습니다), SSH로 접속해 Hermes를 설치한 뒤 systemd 서비스로 백그라운드 상시 실행되도록 했습니다.
그러고 나서, 디스코드에 봇 연결을 처음으로 진행해봤어요. 봇 1개로 채널 ID를 감지해 채널마다 다른 역할을 하도록 했습니다. 봇은 제가 좋아하는 힐링툰이 하나 있는데, 그 캐릭터의 이름을 딴 '코코' 봇을 만들었습니다. 캐릭터가 충청도 사투리를 쓰는 아기 호랑이라서, config.yaml에서 말투(personality)를 커스텀한 뒤 충청도 사투리 캐릭터로 만든 게 개인적으로 가장 재밌었던 부분입니다.
한국어 웹사이트 스크린샷
LLM Wiki 구조는 강의에서 배운 3계층 구조를 그대로 적용했습니다. Obsidian과 GitHub 도 함께 연동했어요.
sources/ ← Layer 1 (Raw 원본 데이터)
context/ ← Layer 2 (Compiled 정리된 지식)
.agents/ ← Layer 3 (Schema 규칙: AGENTS.md, SOUL.md, plan.md)동기화 흐름은 이렇게 자동화했어요.
내 PC (Obsidian 작성)
↓ 자동 push
GitHub (coco-brain 저장소 = 진실의 저장소)
↓ cron 자동 pull
Oracle 서버 (코코봇이 읽음)서버에서 코코가 직접 만든 파일도 cron으로 GitHub에 자동 push 되도록 해서 양방향 동기화를 완성했습니다. (Discord를 통해 집 기기에서 작성한 파일도 Oracle로 연동, 회사 기기에서 작성한 파일도 Oracle로 연동, 스마트폰에서 작성한 파일도 연동)
그리고 가르쳐주신 판단 기준(안전성 > 정확성 > 실제 목표 순)을 정의한 SOUL.md까지 작성했습니다.
결과와 배운 점
모델보다 '하네스'가 중요하다는 점을 크게 느꼈어요. 그 전에는 매번 에이전트 없이 직접 RAG 방식으로만 소통하느라 토큰도 많이 쓰고 시간도 오래 걸렸거든요. GPT를 쓰든 Claude를 쓰든, 지식(context)과 규칙(AGENTS.md/SOUL.md)이 누적되면 모델만 갈아끼워도 저한테 최적화된 강력한 툴이 된다는 걸 크게 느꼈어 요.
시행착오는.. 엄청 많긴 했죠.. ㅋㅋㅋ 하나하나 생각이 다 안나서 Claude한테 요약해달라고 하긴 했는데, 아래와 같이 이야기 해주네요.
회사 네트워크 SSL 인증서 문제로 로컬 실행을 포기하고 클라우드로 전환
externally-managed-environment오류 → pip 대신 pipx로 우회Oracle ARM 무료 VM 재고 부족 → 다음 날 재시도하니 생성됨
Git 충돌(divergent branches), Obsidian Git 자동 push 인증 문제 등 동기화 관련 잔오류 다수
도움도 뭘 알아야 도움 요청을 할텐데, 아직은 뭘 아는지 잘 모르다보니 ㅋㅋㅋ 2주차가 되면서 좀 더 배우게 되면 그 때 요청해보도록 하겠습니다! 봇을 1개로 운영하면서 채널마다 다른 페르소나를 부여해놓고 있는데, 이게 봇을 여러 개를 두는 것이 수월할지 혹은 하나만 두고 진행하는 것이 맞는지에 대한 고민은 계속 있어요. 다만 봇이 늘어나면 지금 쓰고 있는 클라우드가 용량이 작은터라(RAM 1GB) 어느정도까지 늘려야할 지 비용은 조금 고민해봐야 할 것 같네요.
그 다음 단계로는 워크플로우 단축 명령어 구현 및 거버넌스 진행을 차차 해보고자 합니다.
도움 받은 글
소중한 자료들 나눠주신 스터디장님과 스터디원님들 덕분에 많은 도움이 되었습니다. 감사합니다.