월 매출 250만 엔 규모의 회사에서 AI 경영 OS(CFO/COO/CMO)를 구축한 기록
요약
월 매출 250만 엔 규모의 소규모 회사에서 병목 현상을 해결하기 위해 Claude Code 기반의 AI 경영 OS를 구축한 경험을 공유합니다. CFO, COO, CMO 등 직책별 에이전트를 배치하고, 판단 구조와 도구 권한을 명시적으로 제한하는 것이 핵심입니다.
핵심 포인트
- LLM 역할은 문맥 이해에 한정하고, 우선순위 로직 등 결정론적 부분은 코드로 구현해야 합니다.
- AI 에이전트에게 '권한 최소화(Principle of Least Privilege)' 원칙을 적용하여 보안 위험을 관리해야 합니다.
- 자동화 과정에서 발생할 수 있는 폭주 재시도, 미승인 공개 등의 함정을 경험적으로 학습했습니다.
먼저 전제를 말씀드리겠습니다. 저희는 대표님을 포함해 3명으로 구성된 회사이며, 콘텐츠 자동화나 SES 관련 수주 작업을 결합하여 월 매출 약 250만 엔 수준으로 운영하고 있습니다. 인원수가 늘지 않는데도 프로젝트가 증가하면, 현장의 손이 멈추는 이유는 코드가 아니라 '누가 무엇을 결정하는가'였습니다. 견적 승인 대기, 청구서 대사(消込) 대기, SNS 게시물 확인 대기 등 모든 것이 대표님 한 분에게 병목 현상이 생겼습니다.
그래서 2026년에 들어서서 Claude Code를 기반으로 'CFO', 'COO', 'CMO', 'CEO'라는 역할을 가진 AI 에이전트 그룹을 사내에 배치했습니다. 본 기사에서는 그 구축 과정에서 어려움을 겪었던 점과 실제로 얻은 효과를 가능한 한 수치와 사실을 바탕으로 공유하고자 합니다. 가상의 경험이나 검증할 수 없는 성과는 적지 않겠습니다.
처음에 오해했던 부분은 'CFO 에이전트 = 회계 소프트웨어 API를 호출하는 봇'이라는 발상이었습니다. 그렇게만 하면 결국 사람이 매번 프롬프트를 작성하는 작업 대행에 불과했습니다. 실제로 진행한 것은 직책별로 **판단 구조(프로ンプト + 도구 권한 + 체크리스트)**를 고정하고, cron 및 서브 에이전트로 상시 구동시키는 것이었습니다.
~/ai-os/
cfo/ # 자금 흐름・청구서 대사・비용 이상 감지
coo/ # 프로젝트 진행 관리・태스크 분배・납기 알림
...
각 에이전트는 Claude Code의 서브 에이전트 기능을 이용해 구동하며, 직책별로 다룰 수 있는 도구를 명시적으로 제한했습니다. CFO 에이전트에게 실제 SNS 게시 권한을 주지 않고, CMO 에이전트가 은행 API에 접근하지 못하게 하는 등 '권한 최소화'가 나중에 설명할 사고 방지의 핵심이었습니다.
# coo/dispatch.py — 프로젝트의 우선순위를 기계적으로 재정렬
def score_task(task):
deadline_weight = max(0, 14 - task.days_until_due) * 3
...
AI처럼 보이지 않는 코드지만, 이것이 중요했습니다. LLM에게 매번 '우선순위를 정해줘'라고 맡기면, 같은 입력이라도 출력이 흔들립니다. 우선순위 로직은 결정론적인 코드로 구현하고, LLM(에이전트)의 역할은 '이 스코어링 결과를 사람 친화적인 문장으로 번역하는 것', '비정상적인 태스크를 LLM의 문맥 이해로 찾아내는 것'으로 한정했습니다. 판단의 재현성이 필요한 부분은 코드로, 문맥 이해가 필요한 부분만 LLM에 맡기는 분리가 AI 경영 OS의 핵심이라고 지금은 생각합니다.
솔직히 말씀드리자면, 처음 한 달 동안은 '작동했다'와 '안전하게 작동했다'를 혼동하고 있었습니다. 구체적으로 빠졌던 함정(지뢰)은 다음과 같은 3가지입니다.
- cron으로 구동한 에이전트가 심야에 폭주하여 동일 처리를 수백 번 재시도했습니다. 원인은 API의 레이트 리미트 오류를 포착하지 못하고 무한히 재시도하는 로직 때문이었습니다. 지금은 재시도 횟수와 타임아웃을 반드시 명시하며,
research-run
적절한 우선순위 제어(nice 값을 낮추기, 병렬 수 제한)를 무거운 처리에는 필수적으로 적용하고 있습니다. - - CMO 에이전트에게 SNS 게시의 '공개' 권한을 직접 부여했던 시기가 있어, 초안으로 의도된 글이 실제 게시되었습니다. 이후로는 생성은 초안까지만 하고, 공개는 인간 승인이라는 단계를 모든 에이전트에게 강제하고 있습니다. AI가 문장을 만드는 속도와, 공개를 취소하는 데 드는 사회적 비용은 비대칭임을 절감했습니다. -
- CFO 에이전트의 로그에 거래처 이름이나 금액이 그대로 남아 다른 에이전트의 프롬프트에 유입될 뻔했습니다. 직책 간 컨텍스트 공유 설계가 원인이었습니다. 지금은
shared/
로그는 요약만 전달하고, 생데이터는 직책을 넘나들지 못하도록 RBAC(Role-Based Access Control) 같은 경계를 설정하고 있습니다.
이 3가지 모두 '보안(Security)'에 관한 이야기입니다. AI 에이전트를 여러 개 조합하는 아키텍처에서는 프롬프트 인젝션뿐만 아니라 에이전트 간의 권한 경계가 실질적인 공격 면적이 됩니다. 외부 도구 연동이 늘어날수록, 어떤 에이전트가 어떤 데이터에 접근할 수 있는지 목록화하는 작업은 단일 웹 앱의 보안 리뷰보다 더 많은 노력이 필요하다는 것을 체감했습니다.
Zenn 등지에서 '나의 AI 프로그래밍 기법' 같은 글이 인기를 끄는 것을 보고, 저의 방식을 되돌아보았습니다. 저희의 경우, 서브 에이전트를 단순한 분업(기능 A 담당, 기능 B 담당)으로 사용하는 것보다, 구현된 에이전트가 다른 에이전트에 의해 검증하는 구성일 때 사고가 줄었습니다.
phase(
구현 담당과 감사 담당을 분리하는 것만으로도 '권한을 너무 넓게 부여'하거나 '에러 핸들링을 놓치는' 등의 실수 탐지율이 명확하게 높아졌다. 한 명의 에이전트에게 모든 것을 맡기면, 자신의 구현을 스스로 관대하게 평가해 버리는 경향이 있다. 이는 인간의 코드 리뷰에서도 마찬가지지만, AI 에이전트의 경우 제동 장치가 작동하기 어렵기 때문에 시스템적으로 분리하는 가치가 크다.
'AI로 업무가 급변했다'고 쓰지는 않는다. 정확히는 다음 작업에 대해 인간의 실질적인 시간이 명확하게 줄었음을 확인하고 있다.
| 업무 | 도입 전 | 도입 후 | 변화 내용 |
|---|---|---|---|
| 청구 대사(請求消込) 1차 검토 | 대표가 육안으로 검토 | CFO 에이전트가 차이점 감지 → 인간이 최종 승인 | 승인 작업만으로 압축 |
| ... |
다만, 아직 운영은 몇 개월 단계라 장기적인 안정 가동을 확인했다고는 말할 수 없다. '구현이 끝났다'와 '운영에서 신뢰할 수 있다'는 별개라고 생각하기 때문에, 이 기사에서도 '가동 중'이라는 단어는 실제로 지속해서 사용하고 있는 범위에만 사용했다.
기사의 본론은 AI 경영 OS의 구현이지만, SES(System Engineering Service)로 일하는 엔지니어나 프리랜서 전향을 고민하는 사람들에게도 관련된 이야기이므로 언급해 두겠다.
작은 회사가 '경영 판단을 시스템화'하려는 움직임은 역설적으로 **인간에게 요구되는 역할이 '작업(作業)'에서 '판단과 승인'으로 이동한다**는 것을 의미한다. SES로 상주하며 코딩만 해왔던 엔지니어가, 엔지니어 커리어 가이드로서 다음에 의식해야 할 것은 코드 작성 속도보다 '무엇을 만들어야 할지를 판단하는 힘'이 되어 간다는 것이다.
SES와 프리랜서 비교에서 자주 듣는 연봉 이야기도 이 맥락으로 보면 이해하기 쉽다. SES의 다중 하청 구조에서는 현장에서의 평가가 직접적인 연봉에 반영되기 어려우며, 중개 레이어만큼 분배금이 얇아진다. 반면 프리랜서는 단가 협상 재량이 큰 대신, 영업·계약·세무 같은 '경영 판단 업무'를 스스로 감당해야 할 필요가 있다. AI 경영 OS와 같은 에이전트 그룹은 바로 이 '경영 판단 업무'를 개인이라도 시스템화할 수 있는 수단이 될 수 있다. SES 프리랜서 비교라는 관점에서 보자면, 앞으로는 '어떤 고용 형태인가'보다 **'경영 판단을 얼마나 시스템화했는지'의 차이가 실질적인 연봉이나 커리어 자유도에 영향을 미칠 것**이다.
실제로 해보니, 처음에 결정해 두어야 할 것을 체크리스트로 정리했다. 앞으로 비슷한 것을 만들 사람은 착수하기 전에 채워서 시작하는 것을 권장한다.
- 각 에이전트의 '공개 권한'과 '초안 권한'을 명확히 분리했는가
- 재시도(リトライ)·타임아웃 상한선을 모든 cron job에 설정했는가
- 에이전트 간 공유 로그에 개인 정보나 거래처 정보가 원본 데이터로 섞여 들어가지 않았는가
- 판단의 재현성이 필요한 처리(우선순위 지정 등)는 LLM이 아닌 코드로 구현했는가
- 구현 담당과 검증 담당 에이전트를 분리했는가 (자기 평가에 빠진 폐쇄 루프가 아닌지)
- '구현 완료'와 '운영에서 신뢰할 수 있다'를 혼동하지 않고, 가동 실적 기간을 명시했는가
- 무거운 처리(학습·벤치마크·대량 생성)를 본번 cron/PM2와 분리하여 우선순위를 낮췄는가
일람식 체크리스트로 저장해 두면, 다음에 새로운 에이전트를 추가할 때의 사고 방지 점검에 바로 사용할 수 있다.
AI 경영 OS는 'AI가 경영 판단을 하는' 시스템이 아니라, **'판단 중 재현 가능한 부분을 코드로화하고, 문맥 이해가 필요한 부분만 LLM에게 넘기고, 공개나 지출과 같은 불가역적인 행위는 반드시 인간이 승인하는'** 시스템이었다. 3명·월 매출 250만 엔이라는 규모이기 때문에 권한 관리나 검증 시스템을 미루면 바로 사고로 이어질 수 있다는 것이 이번의 가장 큰 배움이었다.
- Claude Code 실무 팁 총정리 | hooks·서브 에이전트·MCP 활용으로 바뀐 개발 플로우
- OpenClaw의 기억 × Claude Code의 실행으로 개발을 자율화하는 실천 기록
- 【2026년 최신】AI 코딩 툴 철저 비교 | Claude Code·Copilot·Cursor·Windsurf·Codeium 선택법
**AI 구동塾 — AI를 사용한 스몰 비즈니스 만드는 법을 배웁니다**
Claude Code, OpenClaw, AI 경영 OS의 실전 노하우를 매주 공개 중입니다.
월액 ¥4,980으로 과거 기사 전체 무제한 열람 가능.
작성자: 합동회사 Radineer (프리랜서 대상 프로젝트 사이트 FreelanceDB 운영)
AI 자동 생성 콘텐츠
본 콘텐츠는 Qiita AI의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기