k
korAI
🚀 AI들이 협업하는 법
심화· 13분업데이트 2026-04-18

동시 작업 — Parallelization

여러 AI를 병렬로 돌리는 법

🎯 이 레슨으로 얻는 것

하나씩 순서대로 돌리지 말고 여러 AI를 동시에 굴려서 속도 10배 + 품질 향상을 얻는 패턴을 배웁니다. Anthropic이 공식으로 추천하는 핵심 에이전트 패턴 중 하나예요.

⚡ Parallelization이란

독립적인 하위 작업을 동시에 실행하고 결과를 합치는 패턴.

비유: 회의 요약 + 번역 + 액션 아이템 추출을 혼자 순서대로 하면 30분. 세 명한테 동시에 시키면 10분.

🎯 언제 쓰나 (3가지 시나리오)

1. Voting (투표) — 품질 보장형

같은 질문을 여러 번 병렬로 돌리고 다수결 또는 평균으로 답 정함.

사용 예: 코드의 버그 여부 판정, 민감한 판단이 필요한 케이스.

results = parallel([
    ask_claude("이 코드에 버그 있어? yes/no"),
    ask_claude("이 코드에 버그 있어? yes/no"),
    ask_claude("이 코드에 버그 있어? yes/no"),
])
# 3번 중 2번 이상 yes → yes

효과: 단일 호출 대비 정답률 10~20% 상승.

2. Sectioning (섹션 나눔) — 속도형

서로 독립적인 부분을 동시에 처리.

사용 예: 긴 문서 요약 시 장별로 쪼개서 병렬 요약 후 결합.

장_요약들 = parallel([
    summarize(chapter_1),
    summarize(chapter_2),
    summarize(chapter_3),
    summarize(chapter_4),
])

최종 = merge(장_요약들)

효과: 4장 책 요약이 2분 → 30초.

3. Cross-checking (교차 검증) — 안전형

다른 모델에게 다른 관점으로 같은 작업. 결과가 갈리면 사람이 검토.

GPT-4 → 이 이메일 위험도 평가
Claude → 이 이메일 위험도 평가
→ 두 답이 일치: 자동 처리
→ 갈림: 사람에게 에스컬레이션

🧪 실전 — 장문 리포트 동시 요약

보고서가 5개 섹션이면:

## 1단계: 섹션 분리
원문을 장별로 수동/자동 분할

## 2단계: 병렬 요약 (동시 실행)
prompt = """
아래 장의 핵심 3줄 + 인용 가능한 문장 5개만 뽑아줘.
[장 N 본문]
"""

## 3단계: 결합
all_summaries = [장1_결과, 장2_결과, ..., 장5_결과]
final_prompt = """
아래 각 장 요약을 종합해서 전체 문서의 TL;DR 5줄 + 핵심 주장 3개를 써줘.

{all_summaries}
"""

🎨 Before / After (실측)

❌ 순차 처리 (Sequential)
  • 100페이지 보고서 → 10장
  • 장당 45초 × 10 = 7분 30초
  • API 비용 $1.20
✅ 병렬 처리 (Parallel)
  • 장 10개를 동시 호출
  • ~50초 (가장 느린 장 + 결합)
  • API 비용 $1.20 (같음, 호출 수는 동일)

포인트: 비용은 같아도 대기 시간이 7분 → 50초. UX에 치명적 차이.

🛠️ 구현 방법

비개발자용 (수동 병렬)

  1. 브라우저 탭 여러 개 띄우기
  2. 같은 프롬프트(or 다른 섹션)를 각 탭에 붙여넣고 동시에 Enter
  3. 결과 모아서 새 대화에 붙여넣어 결합 요청

농담 같지만 진짜 유용합니다. 5분이 1분으로.

개발자용 (코드)

# Python + anthropic SDK
import asyncio
from anthropic import AsyncAnthropic

client = AsyncAnthropic()

async def summarize(chapter):
    return await client.messages.create(
        model="claude-haiku-4-5",
        max_tokens=500,
        messages=[{"role": "user", "content": f"요약: {chapter}"}]
    )

# 동시 실행
results = await asyncio.gather(*[summarize(c) for c in chapters])

n8n

Split In Batches + Merge 노드로 병렬화.

📐 꿀팁 — "Aggregator 프롬프트"를 잘 짜야

병렬 결과를 합치는 단계가 가장 중요해요.

아래는 8개 팀이 독립적으로 분석한 리포트 요약이야.

## 결합 규칙
1. 중복되는 주장 → 한 번만 언급하되, "N개 팀이 동일 지적" 표시
2. 모순되는 주장 → "A팀: 의견X / B팀: 의견Y" 로 병기
3. 한 팀만 언급한 인사이트 → "**단독 관찰**" 태그
4. 최종: 공통 결론 3개 + 쟁점 3개 + 단독 인사이트 3개

## 팀별 결과
팀1: …
팀2: …
…

⚠️ 주의

  • API Rate Limit: 병렬 호출 너무 많으면 API가 차단. Anthropic은 분당 토큰 제한 있음
  • 부분 실패: 10개 중 1개 실패해도 멈추지 말고 나머지로 진행하는 로직 필수
  • 비용 폭발: 병렬로 할수록 쉽게 호출 많아짐 → 예산 모니터링 꼭 설정

🧠 언제 Parallel, 언제 Chain?

| 패턴 | 언제 | |------|------| | Prompt Chaining | 출력이 다음 입력에 필요할 때 (순서 중요) | | Parallelization | 작업이 서로 독립적일 때 (순서 무관) | | Routing | 작업마다 다른 모델이 필요할 때 |

대부분 실전에선 3개를 조합합니다:

Routing → Parallel → Chain → 최종 출력

🔗 다음에 뭘 볼까