한 줄 요약: 에이전트 체인(Agent Chain)이란, 여러 AI 에이전트 또는 LLM 호출이 순차적으로 연결되어 이전 단계의 출력이 다음 단계의 입력으로 전달되는 파이프라인 패턴이다.


1. 에이전트 체인이란 무엇인가?

공장 조립 라인을 생각해 보세요. 자동차 제조 시 각 스테이션은 이전 스테이션의 결과물을 받아 자신의 작업을 추가합니다. 엔진 조립 → 차체 결합 → 도장 → 검사의 흐름처럼, 에이전트 체인도 각 에이전트가 이전 결과를 입력으로 받아 처리합니다.

LangChain이라는 이름 자체가 이 개념에서 유래했으며, LLM 기반 애플리케이션의 핵심 구성 방식입니다.

에이전트 체인의 핵심 특성:

  • 순차성: 정해진 순서대로 실행
  • 의존성: 이전 단계 결과에 의존
  • 변환: 각 단계가 데이터를 변환·풍부화
  • 구성 가능성: 블록처럼 조립 가능

2. 핵심 개념 이해하기

기본 체인 구조

입력
 ↓
[에이전트 1: 번역]      "Hello" → "안녕하세요"
 ↓
[에이전트 2: 요약]      긴 텍스트 → 3문장 요약
 ↓
[에이전트 3: 포맷팅]    텍스트 → JSON 구조화
 ↓
출력

체인의 유형

유형 설명 사용 예
Sequential Chain 순차 실행 번역 → 요약 → 분류
Router Chain 조건 분기 입력 유형에 따라 다른 체인으로 라우팅
Map-Reduce Chain 분할 후 통합 긴 문서를 청크로 분할 처리 후 병합
Refinement Chain 반복 개선 초안 → 수정 → 수정 → 최종본

에이전트 체인 vs 단순 LLM 호출

# 단순 LLM 호출 (한 번에 모두 처리 - 품질 낮음)
response = llm.invoke("이 기사를 한국어로 번역하고 요약하고 키워드를 추출해줘: {article}")

# 에이전트 체인 (단계별 처리 - 품질 높음)
step1 = translate_agent.invoke(article)      # 번역만 집중
step2 = summarize_agent.invoke(step1)        # 요약만 집중
step3 = keyword_agent.invoke(step1 + step2)  # 키워드만 집중

3. 실무 적용 예시

LangChain Expression Language(LCEL)를 활용한 체인 구현입니다.

from langchain_openai import ChatOpenAI
from langchain_core.prompts import ChatPromptTemplate
from langchain_core.output_parsers import StrOutputParser

llm = ChatOpenAI(model="gpt-4o", temperature=0)
parser = StrOutputParser()

# 체인 1: 번역
translate_prompt = ChatPromptTemplate.from_template(
    "다음 영어 텍스트를 한국어로 번역하세요:\n\n{text}"
)
translate_chain = translate_prompt | llm | parser

# 체인 2: 요약
summarize_prompt = ChatPromptTemplate.from_template(
    "다음 텍스트를 3문장으로 요약하세요:\n\n{text}"
)
summarize_chain = summarize_prompt | llm | parser

# 체인 3: 키워드 추출
keyword_prompt = ChatPromptTemplate.from_template(
    "다음 텍스트에서 핵심 키워드 5개를 쉼표로 구분해 추출하세요:\n\n{text}"
)
keyword_chain = keyword_prompt | llm | parser

# 전체 파이프라인 조합
def process_article(article: str) -> dict:
    translated = translate_chain.invoke({"text": article})
    summary = summarize_chain.invoke({"text": translated})
    keywords = keyword_chain.invoke({"text": translated})

    return {
        "original": article,
        "translated": translated,
        "summary": summary,
        "keywords": keywords
    }

result = process_article("AI agents are transforming how we work...")
print(result)

4. 에이전트 체인 vs 유사 개념 비교

구분 에이전트 체인 오케스트레이터-워커 단일 에이전트
실행 방식 순차적 병렬 가능 단일 호출
설계 주체 개발자 (정적) 오케스트레이터 (동적) 없음
유연성 중간 높음 낮음
복잡도 낮음~중간 높음 낮음
적합한 작업 순서 중요 파이프라인 병렬화 가능 복잡 작업 단순 Q&A

5. 마치며

에이전트 체인은 복잡한 작업을 단계별로 나눠 각 단계에서 최고의 품질을 추구하는 패턴입니다. 모든 작업을 단일 프롬프트로 처리하려는 유혹을 피하고, 작업을 명확한 단계로 분해할수록 결과의 품질이 향상됩니다.

참고 자료

함께 읽으면 좋은 용어

이 개념과 함께 알아두면 이해가 깊어지는 관련 용어들입니다.

댓글 남기기