서브에이전트, 도대체 뭔데? (쉽게 이해하는 상세 설명#1)

AI가 다 해준다길래 믿고 맡겼는데, 결과물이 엉망진창이라 밤새 수정해 본 적 있으시죠? 그거 AI가 멍청해서가 아니라, 일을 시키는 방식이 완전히 틀렸기 때문입니다.

전지전능한 AI라는 환상, 그게 바로 함정입니다

지난 포스팅에서 Gemini CLI에 "서브에이전트"라는 새 기능이 추가되었다는 소식을 전해드렸습니다. 이번 편에서는 "그래서 정확히 뭔데? 어떻게 작동하는 건데?"를 기술을 전혀 모르는 분도 이해할 수 있게 풀어보겠습니다.

1. 지금까지의 AI는 "혼자 다 하는 인턴"이었습니다

ChatGPT든, Gemini든, Claude든 — 우리가 지금까지 써온 AI는 기본적으로 1명이었습니다. 이 1명에게 우리는 이런 식으로 일을 시켰습니다.

💬 "어제 회의 내용 정리해줘"
💬 "아, 그리고 경쟁사 가격도 좀 조사해줘"
💬 "참, 아까 그 코드에서 에러 났는데 원인 좀 봐줘"
💬 "그거 끝나면 블로그 글도 하나 써줘"

문제는, 이 모든 대화가 하나의 대화창 안에서 쌓인다는 겁니다.

비유하자면 이런 상황입니다. 회사에 인턴이 딱 한 명 있는데, 이 인턴의 책상 위에 회의록, 경쟁사 자료, 에러 로그, 블로그 초안이 전부 뒤섞여 쌓여 있는 겁니다. 처음엔 괜찮지만, 자료가 쌓일수록 이 인턴은 "아까 그거"가 회의록인지 경쟁사 자료인지 헷갈리기 시작합니다.

이걸 전문 용어로 "컨텍스트 오염(Context Pollution)"이라고 합니다.

🔑 쉬운 설명 — 컨텍스트 오염이란?
AI와 오래 대화할수록, 이전 대화 내용이 뒤엉켜서 답변 품질이 떨어지는 현상입니다. 여러분도 경험해 본 적 있을 겁니다 — AI에게 여러 가지를 물어보다 보면 갑자기 엉뚱한 답변이 나오거나, 아까 분명히 말한 내용을 까먹는 것처럼 보이는 경우요.

2. 서브에이전트는 "전문 팀원"입니다

서브에이전트가 도입되면, 구조가 완전히 달라집니다.

인턴 1명 → 팀장 1명 + 전문 팀원 여러 명

👤 여러분(사장)
    ↓ 일을 시킨다
🤖 메인 AI (팀장) — 전체 방향 잡고, 누구한테 시킬지 판단
    ├── 🔧 개발 전문가 — "코드 짜고, 버그 고쳐"
    ├── 📝 마케팅 전문가 — "블로그 쓰고, 광고 문구 만들어"
    ├── 💬 CS 전문가 — "고객 문의 답변 만들어"
    └── 📋 행정 전문가 — "계약서 쓰고, 세무 일정 정리해"

핵심은 이겁니다: 각 팀원이 자기만의 독립된 사무실에서 일한다는 것.

개발 전문가가 코드를 100번 뒤져도, 그 중간 과정은 팀장의 책상에 올라가지 않습니다. 최종 결과 보고서 한 장만 올라옵니다. 덕분에 팀장(메인 AI)의 머릿속은 항상 깔끔하게 유지됩니다.

3. 여섯 가지 핵심 개념, 하나씩 쉽게

서브에이전트의 상세 기능을 여섯 가지 핵심 개념으로 나눠서 설명하겠습니다. 각 개념마다 일상 비유 → 실제 작동 방식 → 왜 중요한지 순서로 풀어갑니다.


개념 ① 격리된 작업 공간 — "각자 자기 방에서 일한다"

🏠 일상 비유

카페에서 4명이 한 테이블에 앉아 각자 다른 일을 하는 상황을 상상해 보세요. 한 사람이 펼쳐놓은 서류가 옆 사람의 노트북을 가리고, 전화 통화 소리가 다른 사람의 집중을 깨뜨립니다.

서브에이전트는 다릅니다. 4명에게 각자 독립된 사무실을 줍니다. 각자 자기 방에서 문을 닫고 일한 뒤, 결과물만 팀장 방에 가져다 놓습니다.

⚙️ 실제 작동 방식

Gemini CLI 공식 문서에 따르면, 각 서브에이전트는 다음 네 가지를 독립적으로 가집니다.

기술 용어쉬운 표현비유
전용 컨텍스트 윈도우자기만의 기억 공간각자의 메모장이 따로 있음
커스텀 시스템 인스트럭션자기만의 업무 매뉴얼"넌 마케터야, 이 원칙대로 일해"
자체 도구(tools) 세트자기만의 도구함마케터에겐 펜만, 개발자에겐 공구함 전체
개별 실행 흐름자기만의 업무 순서각자 알아서 일하고 결과만 보고

💡 왜 중요한가요?

서브에이전트가 파일 20개를 읽고, 검색을 5번 하고, 테스트를 10번 돌려도, 메인 AI에게는 "결과 요약 1개"만 전달됩니다. 메인 대화창이 더러워지지 않으니, 10번째 질문의 답변 품질이 1번째와 동일하게 유지됩니다.

출처: Gemini CLI 공식 문서 — What are subagents?


개념 ② 전문 도구 제한 — "마케터에게 서버 열쇠를 주지 마라"

🏠 일상 비유

회사에서 경리 직원에게 서버실 마스터 키를 주지는 않습니다. 경리에게는 회계 프로그램 접근 권한만 주면 됩니다. 마찬가지로, 마케팅 담당 AI에게 서버 명령어 실행 권한을 줄 필요가 없습니다.

⚙️ 실제 작동 방식

Gemini CLI에는 AI가 사용할 수 있는 여러 가지 "도구(tools)"가 있습니다. 서브에이전트를 만들 때, 이 에이전트에게는 어떤 도구만 줄 것인지 명시할 수 있습니다.

도구 이름쉬운 설명비유
read_file파일을 읽는다📖 서류를 열어본다
write_file새 파일을 만든다📝 새 문서를 작성한다
replace기존 파일을 수정한다✏️ 기존 문서를 고친다
run_shell_command컴퓨터에 명령을 내린다⌨️ 서버를 직접 조작한다
google_web_search구글 검색을 한다🔍 인터넷에서 정보를 찾는다
web_fetch웹페이지 내용을 가져온다📄 웹사이트를 읽어온다
grep_search파일 내용에서 텍스트를 검색한다🔎 문서 안에서 특정 단어를 찾는다
glob파일 목록을 찾는다📂 폴더에서 파일 이름을 훑는다

💡 이걸 어떻게 활용하나요?

역할별로 도구를 나누면 이렇게 됩니다.

에이전트 역할주는 도구안 주는 도구이유
🔧 개발 전문가거의 전부개발은 다양한 도구가 필요
📝 마케팅 전문가읽기, 쓰기, 검색run_shell_command, replace마케터가 서버를 건드릴 일 없음
💬 CS 전문가읽기, 쓰기, 검색run_shell_command, replace고객 응대 문서만 만들면 됨
📋 행정 전문가읽기, 쓰기, 검색run_shell_command, replace계약서/서류만 다루면 됨

도구를 제한하면 AI가 역할 밖의 행동을 하는 것을 구조적으로 차단할 수 있습니다. "마케터에게 시켰더니 코드를 건드려서 서비스가 멈췄다" 같은 사고를 원천적으로 막는 것입니다.

출처: Gemini CLI 공식 문서 — Subagent Tool Isolation


개념 ③ 자동 위임 — "팀장이 알아서 적임자에게 넘긴다"

🏠 일상 비유

여러분이 팀장에게 "고객이 결제 문제로 연락왔어"라고 말하면, 팀장이 알아서 CS 담당자에게 넘기지, 개발자에게 넘기지는 않겠죠? 메인 AI도 같은 판단을 합니다.

⚙️ 실제 작동 방식

각 서브에이전트를 만들 때 "이 에이전트가 무엇을 잘하는지"를 설명하는 description을 적습니다. 메인 AI는 여러분의 요청과 각 서브에이전트의 description을 비교하여, 가장 적합한 전문가에게 자동으로 일을 넘깁니다.

예시:

👤 여러분: "블로그 글 하나 써줘"

🤖 메인 AI: (각 에이전트의 description을 확인한다)
→ 마케팅 전문가의 description에 "블로그 작성"이 있네?
마케팅 전문가에게 자동 위임!

💡 자동 위임이 잘 되려면?

description구체적으로 적는 것이 핵심입니다.

판정description 예시
❌ 나쁜 예"마케팅을 도와주는 에이전트"
✅ 좋은 예"콘텐츠 마케팅 전문가. 블로그 작성, SNS 콘텐츠 기획, 뉴스레터 초안, 상세페이지 카피라이팅, 광고 문구, SEO 최적화를 담당. 예: '블로그 글 써줘', '인스타 카피 만들어줘'"

좋은 description의 공식: "무엇을 하는 전문가인지 + 구체적인 업무 목록 + 예시 요청 2~3개"

출처: Gemini CLI 공식 문서 — Optimizing your subagent


댓글 쓰기

0 댓글