01. 에이전틱 AI란 무엇인가
- "챗봇"과 "AI 에이전트"가 무엇이 다른지 한 문장으로 설명할 수 있다
- 에이전트의 핵심 동작 루프(인식 → 추론 → 행동 → 관찰)를 이해한다
- 이 강좌에 나오는 여러 프레임워크가 결국 "같은 개념의 다른 구현"임을 안다
- 단일 에이전트와 멀티 에이전트의 차이를 직관적으로 잡는다
먼저: LLM이 뭔가요?
이 강좌에 계속 나오는 LLM(Large Language Model, 대규모 언어 모델)부터 짚고 갑시다. 방대한 텍스트로 학습해 "다음에 올 말"을 예측하는 방식으로 글을 이해하고 생성하는 AI 모델입니다. ChatGPT, Claude, Gemini 같은 것들의 두뇌가 바로 LLM입니다. 이 안내서에서 "모델"이라고 하면 대개 이 LLM을 가리킵니다. 에이전트는 이 LLM을 엔진처럼 써서 판단하고 행동합니다.
비유로 시작하기: 자판기 vs 비서
일반적인 LLM 호출은 자판기와 같습니다. 동전(프롬프트)을 넣으면 정해진 음료(응답)가 한 번 나오고 끝입니다. 자판기는 "어? 콜라가 없네, 그럼 옆 가게에서 사 올까?"라고 생각하지 않습니다.
AI 에이전트는 비서에 가깝습니다. "다음 주 출장 항공권 알아봐 줘"라고 하면, 비서는 스스로 여러 단계를 밟습니다. 항공사 사이트를 검색하고(도구 사용), 가격을 비교하고(추론), 적당한 게 없으면 날짜를 바꿔 다시 찾고(반복), 결과를 정리해 보고합니다(관찰과 종합). 중간에 "창가 자리 선호하시나요?"라고 되물을 수도 있습니다(휴먼 인 더 루프).
즉, 에이전트 = LLM + 목표 + 도구 + 반복 루프 + (선택적) 메모리입니다.
정확한 정의
에이전틱 AI(agentic AI)는 LLM을 "한 번 호출하고 끝나는 함수"가 아니라, 목표를 달성할 때까지 스스로 판단하며 여러 단계를 수행하는 시스템으로 만드는 접근입니다. 핵심은 LLM이 다음 행동을 스스로 결정한다는 점입니다.
가장 널리 쓰이는 동작 모델은 에이전트 루프입니다.
flowchart LR
classDef user fill:#FFE082,stroke:#F9A825,color:#000
classDef agent fill:#80DEEA,stroke:#00838F,color:#000
classDef tool fill:#90CAF9,stroke:#1565C0,color:#000
classDef result fill:#A5D6A7,stroke:#2E7D32,color:#000
U[사용자 목표]:::user --> A[에이전트<br/>LLM 추론]
A:::agent -->|도구가 필요한가?| D{판단}
D -->|예| T[도구 실행<br/>검색·계산·API]:::tool
T --> O[관찰<br/>결과 확인]:::result
O --> A
D -->|아니오, 완료| F[최종 답변]:::result
루프의 각 단계는 다음과 같습니다. 에이전트는 현재 상황을 인식하고, LLM이 다음에 무엇을 할지 추론하며, 필요하면 도구를 호출해 행동하고, 그 결과를 관찰한 뒤 다시 추론으로 돌아갑니다. 목표가 달성되면 루프를 빠져나와 최종 답을 냅니다. 이 패턴은 원래 ReAct(Reasoning + Acting, '추론하며 행동하기') 논문에서 정립되었고, 오늘날 거의 모든 에이전트 프레임워크의 뼈대가 됩니다. 이름 그대로 생각만 하지 않고, 생각과 행동을 번갈아 반복한다는 뜻입니다.
챗봇 vs 에이전트: 무엇이 진짜 다른가
| 항목 | 단순 LLM 호출 / 챗봇 | AI 에이전트 |
|---|---|---|
| 실행 횟수 | 입력당 1회 | 목표 달성까지 N회 반복 |
| 다음 행동 결정 | 사람이 매번 지시 | LLM이 스스로 결정 |
| 도구 사용 | 없음(또는 수동) | 자율적으로 호출 |
| 상태 유지 | 보통 없음 | 메모리로 맥락 유지 |
| 적합한 일 | 단발성 질의응답 | 다단계·조건 분기 작업 |
📌 핵심: "사람이 매 단계를 지시하는가, 아니면 모델이 스스로 다음 단계를 정하는가"가 챗봇과 에이전트를 가르는 경계선입니다.
단일 에이전트에서 멀티 에이전트로
복잡한 일은 한 사람보다 팀이 잘합니다. 에이전트도 마찬가지입니다. "리서치 → 분석 → 글쓰기"처럼 성격이 다른 작업은, 각 역할에 특화된 에이전트를 두고 협업시키는 편이 품질이 높습니다. 이 강좌의 후반부(멀티 에이전트 팀, 핸드오프, AutoGen, CrewAI 등)는 모두 이 아이디어를 확장한 것입니다.
flowchart TB
classDef user fill:#FFE082,stroke:#F9A825,color:#000
classDef agent fill:#80DEEA,stroke:#00838F,color:#000
classDef result fill:#A5D6A7,stroke:#2E7D32,color:#000
M[매니저 / 오케스트레이터]:::agent
R[리서처 에이전트]:::agent
AN[분석가 에이전트]:::agent
W[작가 에이전트]:::agent
F[최종 보고서]:::result
M --> R --> AN --> W --> F
M -.조율.-> AN
M -.조율.-> W
멀티 에이전트를 구성하는 방식은 프레임워크마다 다릅니다. 미리 큰 그림만 잡아두면 나중이 편합니다. OpenAI Agents SDK는 핸드오프(handoff)로 한 에이전트가 다른 에이전트에게 대화를 넘깁니다. AutoGen은 에이전트들이 대화(conversation)하며 문제를 풉니다. LangGraph는 에이전트를 그래프의 노드로 두고 명시적 경로로 연결합니다. CrewAI는 역할(role)을 가진 직원들을 크루(crew)로 묶습니다. 표현은 달라도 "여러 LLM이 역할을 나눠 협력한다"는 본질은 같습니다.
이 강좌의 도구 지도
처음에는 도구가 많아 막막할 수 있습니다. 아래 한 장의 표로 "누가 무엇을 위한 도구인지"를 잡아두세요. 자세한 비교는 [9부]에서 다시 다룹니다.
| 프레임워크 | 한 줄 정체성 | 비유 |
|---|---|---|
| OpenAI Agents SDK | 최소 추상화의 OpenAI 네이티브 SDK | 잘 정리된 기본 공구함 |
| AutoGen | 대화로 협업하는 멀티에이전트(현재 유지보수 모드) | 회의실에서 토론하는 팀 |
| LangGraph | 상태 그래프 기반의 정밀 제어 | 공정도(flowchart) 엔진 |
| CrewAI | 역할 기반 팀 + 프로덕션 Flows | 가상 회사 조직도 |
| MCP | 도구를 표준 방식으로 연결하는 프로토콜 | AI용 USB-C 포트 |
| n8n | 드래그앤드롭 노코드 자동화 | 비주얼 자동화 보드 |
💡 팁: 어떤 프레임워크를 쓰든, 1부에서 배우는 "루프·메모리·도구·가드레일" 개념은 그대로 통합니다. 도구는 갈아타도 개념은 자산으로 남습니다.
⚠️ 흔한 실수: "에이전트면 무조건 멀티 에이전트가 좋다"는 오해. 단순한 작업에 여러 에이전트를 붙이면 비용·지연·디버깅 난이도만 커집니다. 가장 단순한 구성으로 시작하고, 필요할 때만 복잡도를 올리세요. 이건 9부 베스트 프랙티스에서 반복해 강조할 원칙입니다.
이 장에서 배운 것
- 에이전트는 "LLM + 목표 + 도구 + 반복 루프"이며, 핵심은 모델이 다음 행동을 스스로 결정한다는 점이다.
- 동작의 뼈대는 ReAct 기반의 인식 → 추론 → 행동 → 관찰 루프다.
- 복잡한 작업은 역할을 나눈 멀티 에이전트로 풀 수 있고, 프레임워크마다 협업 방식(핸드오프·대화·그래프·크루)이 다르다.
- 표현은 달라도 모든 프레임워크는 같은 핵심 개념의 다른 구현이다.
✍️ 확인 문제
- 같은 GPT 모델을 쓰더라도 "챗봇"과 "에이전트"를 구분하는 가장 본질적인 기준은 무엇인가?
- ReAct 루프의 네 단계를 순서대로 쓰고, 각 단계에서 LLM이 하는 일을 한 줄씩 설명하라.
- "PDF 한 장을 요약해 줘"라는 작업과 "경쟁사 5곳의 최신 가격을 조사해 비교표를 만들어 줘"라는 작업 중 멀티 에이전트 구성이 더 어울리는 쪽은 어디이고, 그 이유는?
다음 장: 02. 개발 환경 준비와 API 키 관리 — 코드를 한 줄이라도 돌리려면 환경부터 갖춰야 합니다.