15

Agent가 미쳐 날뛰었다: 제어 불능의 악몽

Day 3: LangGraph 멀티에이전트

학습 목표

Agent의 흐름 제어가 왜 중요한지 체감한다 LangGraph가 해결하는 핵심 문제를 직관적으로 이해한다

Agent가 미쳐 날뛰었다

"AI가 유지보수 요청을 47개나 넣었습니다."

수요일 아침 09:07. CMMS 시스템 알림이 47건이 쏟아졌다.

확인해보니 모두 같은 내용이었다.

에디터 로딩 중...

Agent가 무한 루프에 빠진 것이다.


왜 이런 일이 일어났나

에디터 로딩 중...

문제의 원인: Agent에게 흐름 제어가 없었다.

  • 이미 요청했는지 기억하지 못했다
  • 언제 멈춰야 하는지 몰랐다
  • 다음에 뭘 해야 하는지 정해진 게 없었다

단순한 ReAct로는 부족하다

기본 Agent (ReAct 패턴):

에디터 로딩 중...

이건 단순한 반복이다. 상태(State)를 관리하지 않는다. 분기(Branch)가 없다. 종료 조건(Stop)이 명확하지 않다.


해결책: LangGraph

LangGraph는 Agent를 **그래프(Graph)**로 구조화한다.

에디터 로딩 중...

그래프의 요소:

  • Node: Agent가 수행하는 작업 단위
  • Edge: 작업 간 흐름 (조건부 분기 가능)
  • State: 전체 흐름에서 공유하는 상태
에디터 로딩 중...

이렇게 하면:

  • 이미 요청했는지 State로 추적
  • 조건에 따라 다른 경로로 분기
  • 명확한 종료 지점

오늘 LangGraph로 제조 Agent를 만든다.