멀티 에이전트 오케스트레이션: LangGraph를 활용한 상태 머신 기반 협업 에이전트 구축기
단순 ReAct 루프의 무한 루프 한계를 벗어나 기획자, 개발자, 리뷰어 에이전트가 엄격한 상태 그래프(StateGraph)로 협업하는 엔터프라이즈 멀티 에이전트 패턴입니다.
홍은선 연구원
HongLabAI AI 엔지니어링 리드
📌실무 핵심 요약 (Key Engineering Takeaways)
- ✔단일 에이전트 ReAct 루프 대신 역할이 분리된 그래프(DAG) 형태의 상태 머신 설계
- ✔품질 검증자(Critic) 에이전트의 조건부 엣지(Conditional Edge)로 자가 교정 및 통과 제어
- ✔Checkpointer를 통한 상태 영속화로 장시간 실행되는 비동기 업무 트랜잭션 완벽 보장
단일 에이전트에게 "기획하고, 코드 짜고, 테스트까지 다 해줘"라고 시키면, 복잡한 작업 중간에 목표를 잊어버리거나 도구 호출 오류를 스스로 바로잡지 못하고 무한 루프에 빠집니다.
이를 해결하기 위해 HongLabAI에서는 LangGraph 상태 머신(StateGraph)을 도입하여 역할을 분리했습니다: 1. Planner Agent: 요구사항을 분석하고 체크리스트 상태를 생성 2. Executor Agent: 지정된 도구(DB 쿼리, 코드 컴파일)를 순차 실행 3. Critic Agent: 작성된 결과물이 품질 기준(QA Gate)을 통과했는지 채점 4. Human Approval Node: 위험한 트랜잭션(삭제, 결제, 외부 발송) 발생 시 사람의 서명을 기다리는 인터럽트(Interrupt) 처리
모든 상태가 직렬화 가능한 글로벌 State 객체에 저장되므로, 중간에 서버가 재시작되어도 중단된 시점부터 완벽히 복원됩니다.
🔄엔지니어링 아키텍처 흐름도 (Architecture Workflow)
import { StateGraph, END, START } from "@langchain/langgraph";
import { BaseMessage } from "@langchain/core/messages";
// 1. 전역 상태 인터페이스 정의
interface AgentState {
messages: BaseMessage[];
code: string;
testPassed: boolean;
retryCount: number;
}
// 2. 상태 그래프 인스턴스 생성
const workflow = new StateGraph<AgentState>({
channels: {
messages: { value: (x, y) => x.concat(y), default: () => [] },
code: { value: (x, y) => y ?? x, default: () => "" },
testPassed: { value: (x, y) => y ?? x, default: () => false },
retryCount: { value: (x, y) => (y !== undefined ? y : x), default: () => 0 },
},
});
// 3. 노드 등록 (기획 -> 코드 작성 -> 코드 리뷰)
workflow.addNode("planner", planNode);
workflow.addNode("coder", coderNode);
workflow.addNode("reviewer", reviewNode);
// 4. 조건부 분기 엣지: 리뷰 통과 시 종료, 실패 시 coder로 피드백 루프 (최대 3회)
workflow.addEdge(START, "planner");
workflow.addEdge("planner", "coder");
workflow.addEdge("coder", "reviewer");
workflow.addConditionalEdges("reviewer", (state) => {
if (state.testPassed) return END;
if (state.retryCount >= 3) return "human_escalation";
return "coder";
});
export const multiAgentApp = workflow.compile();💬트리 구조 기술 토론 (0)
해당 주제에 관한 질의응답 및 피드백은 계층형 트리 댓글로 정리됩니다.
작성된 기술 토론이 아직 없습니다. 메인 보드에서 첫 번째 질문을 남겨보세요!
같은 트리 브랜치의 추천 아티클
JSON Schema 기반 100% 규격 준수 구조화 출력(Structured Outputs) 실무 적용기
LLM이 임의의 텍스트 대신 백엔드 API 규격에 완벽히 들어맞는 타입 세이프 JSON을 반환하도록 보장하는 실전 가이드입니다.
BM25 키워드 + 벡터 임베딩 하이브리드 검색으로 RAG 정확도 40% 끌어올리기
단순 벡터 유사도 검색의 치명적 한계(고유명사, 코드 번호, 약어 오탐지)를 BM25 역색인과 결합해 해결한 하이브리드 RAG 아키텍처입니다.
도구 호출(Tool Calling)과 자기 교정(Self-Correction) 루프로 완성하는 자율 에이전트
에러 발생 시 멈추지 않고 스스로 원인을 분석하고 파라미터를 수정해 성공할 때까지 재시도하는 견고한 에이전트 루프 패턴입니다.