타이칸
타이칸
🏅 AI 마스터
⚔️ 베테랑 파트너
📚 학습반장
🚀 SNS 챌린지 달성자

인하우스 에이전시 팀을 통째로 멀티 에이전트로 만들었습니다.

수상스키를 탄 남자

안녕하세요. 지나가던 타이칸입니다.
겸사겸사 요즘 에이전트 가지고 이것저것 하면서 많이 놀고있습니다.

개인적으로 전체 조직을 부서 단위로 하나씩 채워가는 큰 그림이 있었는데,
Power게으름으로 아키텍쳐설계해서 대충 클코로 버무려 만들어놓은 걸로 어떻게 땜빵하면서 살다가 이번 스터디를 겸해서 그중 파트1을 인하우스 에이전시를 에이전트로 구축했습니다.

단, Hermes와 OpenClaw를 쓰지않고 제로부터.
사실 기존 에이전트 하네스 환경에서 구동하는게 재미도 없고 과하다는 생각이 있었습니다.
그래서 이왕 만드는거 내 상황에 Fit하게 만들어보면 재밌겠다 싶어서 진행해봤습니다.

고양이와 레고 상자를 들고 있는 소녀의 만화

우선 설계한 아키텍쳐와 플로우는 아래와 같습니다.

Slack 인테이크 > 
Account Manager > 
Director·Strategist·Traffic 순차 > 
Copywriter·Designer 병렬 > 
Production Manager QC > 
Revision 루프 > 
Image Generator > Fulfillment > 
HTML 핸드오프
한국 TV 프로그램 제작 과정을 보여주는 다이어그램

Slack에서 명령 하나 던지면 오케스트레이터가 10개 에이전트를 3-Phase로 굴리게 되고, LLM 호출은 OAuth 프록시를 거쳐 Codex CLI로 ChatGPT까지 나가는 구조입니다.

사실 인하우스 에이전시 조직에 대한 이해가 없어서 리서치도 하고, 예시로 제시된 표준 조직도도 참고해서 필요한 기능만 남겨서 설계했습니다.

▼참고한 조직도

참고한 조직도 예시

사용 툴 : Python 3.11, OpenAI SDK, slack-bolt(Socket Mode), Codex CLI

우선 조직도에서 필요한 에이전트만 추려서 골격을 만들고
(한명씩 단일 책임을 지도록 했습니다.)

Azure 에이전트 설정의 스크린샷

에이전트가 임의행동을 하지 못하도록 게이트도 지정했습니다.

그런 다음 각 에이전트들이 참고해야하는 지식베이스를 만들었는데,
처음엔 00_Foundation, 01_Brand 처럼 숫자 prefix로만 잡았다가
브랜드 보이스 DNA, 톤 매트릭스, 페르소나, 용어집 같은 모든 에이전트가 공통적으로 알아야하는 지식에 대해 한번에 선언한게 아니라 따로 선언했다보니, 한명씩 빼먹는 케이스가 발생했습니다.

그래서 _global/ 폴더를 따로 만들고 공통지식 베이스 파일을 넣되, 모든 에이전트의 부모 클래스에 지정해서, 누가 실수로 바꿔치기 하지 못하게 막아뒀습니다.

그리고 실제로 실행될때도 agent.kb 라벨로 로그에 같이 찍어서 나중에 "이 에이전트 왜 톤이 어색했지?" 싶을 때 실제로 어떤 자료가 들어갔는지 점검 할 수 있게 했습니다.

파일 목록을 보여주는 컴퓨터 화면의 스크린샷

그런다음 .env 파일에 필요한 슬랙 봇 토큰과 실제 사용할 LLM모델의 API를 넣었다가, API 비용을 내자니 아까워서 OAuth로 우회 전환해서 Codex가 실행되도록 했습니다.

Python 프로그램의 프로세스를 보여주는 다이어그램

처음엔 빈값을 내길래 왜그런가 했더니, Json구조로 반환을 잘못하길래, 직접 --josn 셸에서 실제 스키마 받아다가 파싱을 다시 하도록 했습니다.

한국 트위터 계정 스크린샷

처음엔 검증 라운드가 매번 3번씩 풀로 돌아가다보니(PM이 매번 검토하고 빠꾸) 답변을 받기까지 10분정도 소요됐습니다.

그래서 검증 라운드 횟수를 줄이고 단계를 더 세분화해 통과레벨과 빠꾸레벨을 나눠 심각한 수준이 아니면 그냥 넘어가도록 했습니다. 이 부분은 좀더 구체적인 검증기준을 제시해야할거 같습니다.

Anyway....중간에 Codex CLI을 서브에이전트로 호출해서 관련이미지도 뽑아서 전체적인 마케팅 전략을 html로 작업별로 제시해줍니다.

한국 채용사이트 스크린샷

여기서 더 보완할건 각 에이전트가 수행하는 작업에 대한 프롬프트를 더 보완해야할 것 같고, Meta MCP도 붙여서 실제 광고에 적용해보는 것도 해봐야할 것 같습니다.

심슨 캐릭터가 집 앞에 서 있어요

계속 지나가겠습니다.

6
2개의 답글

뉴스레터 무료 구독