AI 에이전트수정 2026-08-08

AI 에이전트 지식 지도 — 50편을 무엇부터 읽을 것인가

LLM 단독에서 코딩 에이전트까지의 개념 계보를 한 장으로 놓고, 각 단계가 앞 단계의 무엇을 풀고 대신 무엇을 새로 만드는지를 정리한다.

이 카테고리는 이 글을 포함해 51편이다. 순서대로 읽을 수도 있지만, 대부분은 지금 부딪힌 문제를 들고 온다. 이 글은 그 문제에서 편으로 가는 지도다.

한 가지만 먼저 말해 두면, 이 계보를 관통하는 문장은 하나다. 각 단계는 앞 단계의 표현력 한계를 풀고, 그 대가로 비용과 실패 지점을 늘린다. 그래서 "왜 LangGraph를 쓰나" 같은 질문에 프레임워크 비교로 답하면 절반만 맞는다. 정확한 답은 "1회 검색으로 안 풀리는 질문이 실제로 있었다"는 문제 서술이다.

카테고리 구조

도식을 탭하면 확대해서 볼 수 있습니다

②가 구현 계보, ③이 적용, ④가 그 위에 얹히는 논의다. **④는 ①③을 몰라도 읽히지만, ①~③은 ④의 문제의식이 없으면 왜 그렇게 짜는지가 안 보인다.**

개념 계보 — 각 단계는 무엇을 풀고 무엇을 만드는가

도식을 탭하면 확대해서 볼 수 있습니다
단계앞 단계의 어떤 한계를 푸는가대신 새로 생기는 문제어디에
RAGLLM이 학습 시점 밖을 모른다검색이 틀리면 답도 틀린다에이전트란 무엇인가
LangChain·LCEL벤더마다 SDK가 달라 조립이 안 된다흐름이 단방향이라 재시도가 없다구성요소와 LCEL
LangGraphDAG로는 되돌아가는 흐름을 못 그린다코드량·설계 부담이 늘어난다State와 Reducer
판단하는 RAG검색 실패를 시스템이 모른다호출 횟수가 문서 수만큼 선형 증가4종의 계보
멀티에이전트한 프롬프트에 역할이 뒤엉킨다라우팅 비용·컨텍스트 오염·무한 루프분할 경계와 토폴로지
프로덕트 클론개념만으로는 UX 제약을 못 본다인용 정합성·스트리밍이 새 과제로화면에서 그래프 역추론
코딩 에이전트생성만 하고 검증하지 않는다임의 코드 실행 = 신뢰 경계 붕괴실행 권한을 주는 순간

문제에서 편으로

도식을 탭하면 확대해서 볼 수 있습니다

구체적인 질문 단위로는 이렇게 갈린다.

이런 질문이라면펼 곳답의 축
에이전트가 무엇인가에이전트란 무엇인가도구는 절반. 계획 + 자기검토 루프가 본체
워크플로와 무엇이 다른가경로를 누가 정하는가경로를 사람이 정했나 LLM이 정하나
어떤 프레임워크를 쓰나제어권을 얼마나 쥘 것인가추상화와 제어권은 반비례한다
청크 크기를 어떻게 정하나RAG 파이프라인 만들기글자 수가 아니라 답변에 필요한 최소 의미 단위
상태 설계에서 중요한 결정은State와 Reducer필드 목록이 아니라 필드별 병합 정책
멀티유저 대화가 섞인다체크포인터·HITLthread_id 단위 발급. 공유하면 섞인다
사람 승인을 어떻게 넣나체크포인터·HITL결정과 실행이 분리돼야 그 틈에 게이트가 들어간다
환각을 어떻게 막나groundedness와 그 대가groundedness는 측정, factuality는 미보장
언제 에이전트를 쪼개나분할 경계와 토폴로지도구 개수가 아니라 프롬프트 충돌
무한 루프를 어떻게 막나Supervisor의 대가recursion_limit은 안전벨트. 해법은 종료 조건 명문화
병렬 처리는 어떻게Send()로 갈래 만들기노드 내부는 비동기, 그래프는 팬아웃. 가변이면 Send()
일부 분기가 실패하면부분 실패 마감성공분으로 마감 + 한계 명시
출력 포맷을 어떻게 보장하나부분 실패 마감분기에 쓰는 값은 스키마, 산문은 프롬프트 목차
코드 실행 도구는 안전한가실행 권한을 주는 순간work_dir은 보안 경계가 아니다
완성 제품 구조를 어떻게 추론하나화면에서 그래프 역추론관찰과 추정을 문장에서 가른다
인용의 신뢰성은인용 정합성프롬프트가 아니라 상태 설계 문제
진행 상황을 어떻게 보여주나노트북을 서비스로노드 경계 스트림으로는 토큰이 안 나온다
모델을 바꿨는데 왜 안 좋아지나Agent = Model + Harness실행 구조가 배포 시점에 고정돼 있다
조직에 어떻게 들이나AX 실행 프레임워크모델 선택보다 권한 등급 설계가 먼저

한 장 요약

프레임워크 3종

CrewAIAutoGenLangGraph
은유조립 라인회의실상태 기계
1급 개념Agent · Task · Crew · ProcessConversableAgent · GroupChatState · Node · Edge
추상화높음중간낮음
흐름 형태순차·계층 Process대화 턴의 연쇄사이클 허용 그래프
종료Task 소진 시 자동수동 설계 필수조건부 엣지 + 재귀 한도
코드 실행기본 비활성기본 시나리오도구로 별도 구성
중단·재개약함약함체크포인터 내장
적합 상황형식 고정 리포트생성-실행 검토 루프운영 투입할 신뢰성

추상화 수준과 제어권은 반비례한다.

그리고 흐름이 선형이면 애초에 에이전트를 쓰지 않고 체인으로 끝내는 선택지가 있다. 이것을 빼놓지 않는 것이 실무 감각이다.

판단하는 RAG 4변형

구분Agentic RAGSelf-RAGCRAGAdaptive RAG
무엇을 판정검색 필요 여부 + 관련성관련성 · 환각 · 적합성관련성라우팅 + 위 3종
Grader 수1314
되돌아가는 곳rewrite → agent재검색·재생성 자기루프없음(DAG)Self-RAG와 동일
막는 실패불필요한 검색환각·동문서답근거 부재위 전부
최소 LLM 호출3회N+3회N+1회N+4회
루프 상한recursion_limit없음해당 없음없음

위 호출 횟수는 실측이 아니라 코드에서 경로를 센 값이다(N = 검색 문서 수). 지연·비용 벤치마크는 별도로 재야 한다.

멀티에이전트 토폴로지 3종

기준NetworkSupervisorHierarchical
다음 순서를 정하는 주체각 에이전트 자신Supervisor LLM상위 → 팀 Supervisor
라우팅 LLM 호출0스텝당 1스텝당 계층 수
종료 판정각자 판단 → 불안정FINISH를 선택지로 명문화각 층이 FINISH
상태 격리없음없음팀별 State 분리
워커가 늘 때연결 수 폭증라우터 프롬프트 비대팀으로 묶어 흡수
적정 규모2~3개워커 3~6개팀 2~4개

격상 순서: 단일 → 조건부 엣지 워크플로 → Supervisor → Hierarchical. 한 단계씩만 올린다.

주제 교차 지도

같은 주제가 여러 시리즈에 걸쳐 나온다. 한 주제를 깊게 볼 때는 교차해서 읽어야 층위가 잡힌다.

주제기초실행 모델클론담론
프레임워크 비교
RAG 파이프라인
State·리듀서
도구 설계·docstring
조건 분기·라우팅
구조화 출력
종료 조건·루프 상한
비용·지연
병렬·팬아웃
스트리밍·UX
보안·격리
평가·관측
조직·운영

★ = 주력으로 다룸 · ○ = 부분적으로 다룸

주제별로 층위를 갖춰 읽으려면 이런 조합이 된다.

주제조합왜 이 조합인가
환각 대응문제 제기 + 검증 루프 + 보장 범위원인 → 구조적 해법 → 한계까지 한 흐름
왜 그래프인가체인의 한계 + 사이클 + 동적 분기같은 논지를 세 층위
비용 통제단일 유지 판단 + 호출 횟수 + Supervisor 대가설계 판단이 곧 비용 판단
조직 운영역할 3층 + seed와 fork + 권한 등급기술이 아니라 운영으로 답하는 3종

표현을 고를 때 조심할 것

에이전트 분야에는 마케팅성 과장과 학습용 단순화가 섞여 있다. 그대로 옮기면 근거를 대지 못한다.

부정확한 표현왜 부정확한가정확한 서술
"환각을 0으로 만들었다"측정되는 것은 groundedness다생성 결과를 문서 근거와 대조하는 검증 노드를 두어 근거 없는 답변이 사용자에게 도달하는 경로를 차단했다
"Self-RAG를 구현했다"원논문은 reflection token을 학습시킨다논문 아이디어를 외부 LLM Grader 체인으로 근사 구현한 것이며 학습 방식과는 다르다
"성능이 N% 개선됐다"정량 벤치마크가 없는 경우가 대부분정량 지표가 없다면 경로별 정답률·평균 지연·검색 호출 절감률처럼 무엇을 잴 것인지로 서술한다
"멀티에이전트로 만들었다"관리자 없는 정적 파이프라인인 경우가 많다순서가 고정된 구간은 조건부 엣지 워크플로이고, 유동적인 구간만 LLM 라우팅으로 뺐다
"제품을 클론했다"5단계 중 3단계만 구현한 경우가 흔하다검색·선별·생성만 구현했고 질의 분해와 후속 질문은 비워 두었다
"스트리밍으로 진행을 보여준다"invoke() 기반이면 스트리밍이 아니다진행 표시는 호출자 루프 기준이고 그래프 이벤트 스트림은 아니다
"이 코드를 그대로 쓰면 된다"폐기된 API와 필드 오매핑이 남아 있다폐기 API가 무엇으로 대체됐는지, 어떤 오매핑이 있는지를 함께 적는다
"LangGraph가 제일 좋다"우열 프레임이 성립하지 않는다제어권을 얻는 대신 코드량을 낸다. 선형 흐름이면 체인이 짧다

공통 원리는 하나다 — 조건을 붙이면 주장이 성립하고, 조건을 떼면 근거가 사라진다.

"환각 0"이 위험한 이유도 같다. 측정 가능한 주장이라 검증 근거를 요구받는데, 실제로 측정된 것은 다른 값이기 때문이다.

도입 전 확인할 열 가지

에이전트를 조직에 들일 때 기술 선택보다 먼저 정해져야 하는 것들이다. 정해지지 않았다면 그 자체가 도입 리스크다.

확인할 것정해지지 않으면
목적사람의 반복 작업을 대체하려는가, 지금 못 하는 일을 하려는가자동화 대상과 성공 기준이 흔들린다
평가성공을 정답률·처리량·개입 감소율 중 무엇으로 판정하는가좋아졌는지 알 방법이 없다
데이터평가용 정답 세트가 있는가, 만들어야 하는가판정기를 검증할 수단이 없다
비용요청당 비용 상한이나 월 예산 가이드가 있는가검증 루프를 몇 겹까지 붙일지 정할 수 없다
지연사용자 대면 실시간 경로인가, 배치·비동기인가실시간이면 N+4회 구조는 쓰지 못한다
권한읽기·실행·쓰기·배포 중 어디까지 주는가안전 설계의 출발점이 없다
게이트되돌릴 수 없는 작업 앞에 사람 승인이 있는가사고가 나야 경계를 알게 된다
운영장애 시 온콜은 누가 받고 실행 로그는 어디에 남는가사후 추적이 불가능하다
조직유지 인원은 몇 명이고 어느 팀 소유인가버스 팩터와 인지 비용이 잡히지 않는다
단계PoC인가, 운영 중인 것을 개선하는가프레임워크 선택 근거가 완전히 달라진다

평가 세트가 없다면 도입 초기 3~4주를 판정 기준을 만드는 데 쓰는 편이 낫다.

판정기를 검증할 방법이 없으면 검증 노드를 아무리 붙여도 품질이 올랐는지 알 수 없다.

통합 용어집

각 편의 용어표를 합친 것이다. 정의가 필요한 자리에서 되돌아오면 된다.

용어한 줄 정의
RAG외부 문서를 검색해 근거로 주입한 뒤 답을 생성하는 기법
Naive RAG검색 1회 → 생성 1회로 끝나는 단방향 RAG. 검색 실패를 감지 못 함
Agentic RAG검색 자체를 도구로 만들어 "검색이 필요한가"부터 판단하는 RAG
Self-RAG생성 후 환각·답변 적합성을 채점해 재생성·재검색하는 RAG
CRAG검색 문서가 부실하면 웹 검색으로 근거를 보정하는 RAG. 루프 없는 DAG
Adaptive RAG질문 유형으로 데이터소스를 라우팅한 뒤 검증을 붙인 통합형
Groundedness답변이 주어진 문서에 근거하는가. 사실성(factuality)과 다름
Graderyes/no 등 정형 라벨을 뱉는 LLM 판정기
Pre / Post-Retrieval검색 이전(청킹·임베딩·색인) / 검색 이후(재순위·선별) 단계
Chunking / Overlap문서를 검색 단위로 자르는 것 / 경계 손실을 줄이려 앞 조각 끝을 겹치는 것
Embedding텍스트를 의미를 담은 실수 벡터로 변환. 질문과 문서는 같은 모델이어야 함
Retriever질문을 받아 관련 문서를 돌려주는 인터페이스
LCEL|로 컴포넌트를 잇는 LangChain 표현식. 합성이 닫혀 있어 스트리밍·재시도가 따라옴
Runnableinvoke/stream/batch를 갖는 LangChain 공통 인터페이스
StateGraph상태 스키마를 받아 노드·엣지를 조립하는 LangGraph 그래프 빌더
Node / Edge상태를 받아 부분 업데이트를 반환하는 함수 / 다음 노드로의 연결
Conditional Edge함수 반환값으로 다음 노드를 고르는 분기. 사이클의 출발점
Reducer기존 채널 값과 노드 반환값을 어떻게 합칠지 정하는 채널별 병합 규칙
add_messages메시지 전용 리듀서. 누적 + id 기반 upsert + 타입 정규화
Tool / bind_toolsLLM이 호출할 외부 기능 / LLM에게 도구 목록을 인지시키는 바인딩(결정)
ToolNodetool_calls를 실제로 실행해 결과 메시지를 반환하는 노드(실행)
tool_call_id도구 호출 요청과 그 결과를 잇는 식별자
ReAct추론 → 도구 호출 → 관찰을 반복하는 에이전트 패턴
Checkpointer스텝별 상태를 저장·복원하는 지속성 계층. HITL의 전제 조건
thread_id대화 세션을 가르는 키. 잘못 공유하면 대화가 섞이는 사고
HITL / interrupt_before실행 도중 사람이 승인·수정하는 구조 / 지정 노드 직전에 정지시키는 옵션
Send()런타임에 분기와 전용 입력을 발행하는 Map-Reduce용 객체
Fan-out / Fan-in여러 갈래로 퍼뜨렸다가 다시 하나로 모으는 그래프 형태
Supervisor / Hierarchical관리자 1명이 워커에 배정하는 구조 / 그 관리자를 계층으로 중첩한 구조
recursion_limit그래프가 밟을 수 있는 최대 스텝 수. 안전벨트지 설계가 아님
Structured Output출력을 스키마로 강제해 파싱 실패를 없애는 기능. 그래프 안정성의 전제
create_react_agentReAct 루프를 완성해 주는 프리빌트 에이전트 팩토리
Prompt Injection외부 문서에 심긴 지시가 에이전트를 조종하는 공격. 실행기가 붙으면 곧 코드 실행
Sandbox임의 코드를 호스트와 격리해 실행하는 장치. 작업 디렉터리 지정은 샌드박스가 아님
Self-Correction생성 → 실행·검증 → 오류를 입력으로 되먹여 재생성하는 순환
Escalation자동 수정 한계에 도달했을 때 시도 이력과 함께 사람에게 넘기는 것
MCP도구·데이터 소스를 표준 인터페이스로 연결하는 프로토콜. M×N 연동을 M+N으로 바꾼다
A2A에이전트끼리 협업하기 위한 상위 계층 프로토콜
Agent Harness모델을 감싸는 실행 구조. 컨텍스트·도구·메모리·훅의 집합
Loop Engineering모델 호출 이후의 실패·기록·승인·판정을 설계하는 것
Context Offloading컨텍스트를 파일로 밀어내고 필요할 때 다시 읽는 기법

읽는 순서가 정해지지 않았다면 ④ 담론부터 한 편을 권한다. Agent = Model + Harness가 "왜 모델을 바꿔도 제품이 안 좋아지는가"를 다루는데, 이 질문이 나머지 50편이 답하려는 것의 요약이기 때문이다.

반복해 돌아오는 질문들은 네 편의 문답으로 따로 모아 두었다 — 기본기 · 실행 모델 · 멀티에이전트 · 운영.