AI 직원 11명 고용기.
2023년 7월, 중국 칭화대학 NLP 연구소가 챗GPT만으로 게임회사를 하나 세웠다. 쑨마오쑹 교수 지도 아래 만든 시연인데, 회사 이름은 ChatDev, 게임타이쿤에나 나올 법한 구성을 그대로 갖췄다. CEO부터 CTO, CPO, CRO, 프로그래머, 디자이너까지, 회사의 모든 직원이 전부 ChatGPT 봇이다. 회사에 아이디어 하나만 던져주면 설계부터 프로그래밍, 테스트, 문서화까지 전 과정을 AI가 알아서 완성하고, 사람이 개입하는 유일한 지점은 초기 아이디어 제공뿐이라는 게 이 시연의 핵심이었다. 게임 하나를 만드는 데 평균 409.84초, 약 7분이 걸렸고, 가장 빠를 때는 3분도 안 걸렸다. 게임당 평균 48.5K 토큰, 비용은 평균 0.2967달러. 30센트도 안 되는 돈으로 게임 한 편이 나오는 세상이었다. 실측 수치를 보면, 꽤 재미있다.


시뮬레이션 화면을 보면 사무실 한복판에 CHATDEV라는 대형 책상이 있고, Designing, Coding, Testing, Documenting 구역마다 직원 봇들이 각자 일하고 있다. 한쪽 구역에서는, 직원들이 모여 오목도 둔다. 프로세스 그림을 보면 단계마다 참여하는 역할이 정해져 있고, 단계 사이를 오가는 대화의 흐름이 Chat Chain으로 이어져 있다. 사람이 할 일이 없다는 게 그림에서 그대로 보인다.
이 스토리를 처음 봤을 때부터 꽤 흠모했다. AI에게 일을 시키는 게 아니라, AI로 회사를 꾸리는 발상. 그런데 그걸 로컬에서 구현해볼 기회가 드디어 왔다. 회사 구조를 한번 보자.
이미 세워져 있던 회사
내 주력 PC에는 Hermes Agent라는 로컬 AI 비서 프레임워크가 돌고 있다. Nous Research가 만든 오픈소스인데, 프로필 시스템 덕분에 서로 완전히 분리된 AI 인스턴스를 여러 개 운영할 수 있다. 프로필마다 config, 세션, 메모리, 스킬이 따로 노는 구조다. 어느 순간, 연구실에 쌓인 프로필이 11개였다. default, researcher, coder, ops, orchestrator, artist, designer, student, blogger, journalwriter, xplatform-automation. 이름만 봐도 한 회사고, 직원이 11명인 회사를 이미 로컬에 세워둔 셈이다.
그런데 이 회사의 직원들이 전부 같은 성격으로 일하고 있었다. researcher는 의료영상 AI 연구와 문헌조사를, coder는 모델 구현과 파이프라인을 맡는데, 그런 애들이 전부 kawaii, 즉 귀여움 성격으로 설정돼 있었다. ops와 orchestrator까지 합치면 4개 프로필이 똑같은 귀여움이었다. 어느 순간부터 그렇게 굳어 있었고, 정확히 누가 설정했는지는 기억이 안 나는데, 아마도 지난주쯤의 나일 것이다.
계기는 하찮았다. 데스크톱에서 Slack 이모지 숏코드가 깨져 보이는 문제를 고치다가, :pushpin: 같은 게 텍스트로 그대로 떠 있는 화면을 보고, 프로필마다 성격을 다르게 배치하면 좋겠다는 생각으로 번졌다. 개인 자동화의 큰일은 대개 이런 작은 불만에서 시작된다. 뭐.
성격부터 갈아끼웠다
우선 내 말투부터 분석했다. Slack 채널 전체를 user token으로 긁어서 26개 채널, 메시지 약 580개를 모았다. 채널의 성격에 따라 실제 쓰는 말투가 어떻게 갈리는지 보고, 상황별로 스위칭하는 어투 시스템 v2를 만들었다. default 프로필이 이걸 전용으로 쓰고, 나머지 직원들과 나누는 대화 톤이 채널마다 달라진다.
다음으로 각 프로필의 SOUL.md, 그러니까 역할 정의서를 하나씩 읽었다. 대부분 기본 템플릿 그대로거나 내가 대충 채워둔 상태라, 어떤 성격이 어울릴지 정하는 게 전부였다. 후보는 내장 personality 14종이었다. helpful, concise, technical, creative, teacher, kawaii, catgirl, pirate, shakespeare, surfer, noir, uwu, philosopher, hype. 하라는 연구는 안 하고 성격 목록이나 훑어봤다. pirate가 GPU 클러스터를 만지는 상상은 재미있었지만, 실용성으로 추리니 남는 게 별로 없었다.
두 개는 직접 만들었다. blogger 프로필은 이 블로그의 과거 글 세 편을 분석해서, 실패를 웃으며 인정하는 냉소 톤을 뽑아 sardonic이라는 커스텀 성격으로 만들었다. 지금 이 글을 쓰고 있는 프로필이 바로 그 sardonic이다. 자조가 과하다 싶으면 내가 만든 설정 탓이다. journalwriter는 SCI 논문 집필용이라 격식 있는 academic으로, G0부터 G3까지 등급 체계를 넣고 지어내지 말라는 규칙을 박아넣었다. student 프로필은 SOUL.md가 빈 템플릿 그대로라 새로 작성해서, 강의자료 기반 Q&A 챗봇으로 다시 태어났다.
설정 자체는 간단하다. personality는 display.personality라는 config 키 하나로 바뀌고, 커스텀 성격은 agent.personalities.<이름>에 system_prompt, tone, style 구조로 정의한다. 프로필별로는 HERMES_HOME을 해당 프로필 폴더로 바꿔가며 hermes config set display.personality <값>을 치면 끝이다. personality는 시스템 프롬프트 오버레이라 새 세션부터 적용되고, 이미 열려 있던 세션은 /reset을 눌러야 반영된다. 명령어는 1분이면 다 치는데, 어울리는 성격을 고르는 데 하루가 걸리는 게 이 작업의 진짜 난이도였다.
최종 배치표
11명의 성격이 이렇게 정리됐다. 구조로 보면, 사장인 나 하나가 default 에 어투 시스템 v2 를 달아두고, 그 아래로 열 명의 직원이 성격별로 늘어선다. 그림에 표시한 대로다.

| 프로필 | personality | 용도 |
|---|---|---|
| default | creative | 메인, 어투 시스템 v2 전용 |
| researcher | technical | 의료영상 AI 연구·문헌조사 |
| coder | technical | 모델 구현·파이프라인 |
| ops | concise | 인프라·자동화 |
| orchestrator | concise | 작업 분해·배정 |
| artist | creative | WebGL 게임 그래픽 |
| designer | creative | 게임 디자인·밸런스 |
| student | teacher + SOUL 신규 | 강의자료 Q&A 챗봇 |
| blogger | sardonic (커스텀) | TechToast 블로그 |
| journalwriter | academic (커스텀) | SCI 논문 집필 |
| xplatform-automation | concise | CRM GUI 자동화 |
내장 성격 14종 중 실전에 쓴 건 4종뿐이고, 나머지는 커스텀 두 개와 신규 SOUL 하나로 채웠다. 기술적인 일은 technical이, 인프라는 concise가, 창작은 creative가 맡고, 말투가 필요한 곳만 따로 성격을 입혔다. 정리하고 보니 별것도 아닌데, 각 프로필이 무슨 일을 하는지가 표 하나로 보이는 건 나름 쾌적하다.
맺음말
ChatDev는 회사를 세우는 프로세스 통째로 AI에 넘겼고, 나는 반대로 사람이 한 명 있는 회사에 AI 직원 11명의 개성을 입혔다. 방향은 다르지만, 아이디어를 던져주면 그 뒤는 시스템이 알아서 굴러간다는 점에서 같은 지점을 보고 있다. 물론 내 회사는 사장이 직접 명령어를 치는 회사라서 퇴근이 없다. ChatDev가 게임 한 편을 7분 만에 뽑아내는 동안 나는 직원 한 명의 성격을 고르는 데 하루를 썼다. 뭐, 그게 내 속도다.