AgentAI 에이전트 기초 · 1중급

AI 에이전트란? — LLM이 스스로 생각하고 행동한다

AgentLLM에이전트AI자율AI

"알아서 해줘" — 에이전트가 나온 이유

챗봇에게 "올해 1분기 매출 보고서를 분석해서 PPT 초안 만들어줘"라고 하면 어떻게 될까요?

일반 LLM은 이렇게 말합니다: "파일을 직접 보내주시겠어요?"

에이전트는 이렇게 합니다:

  1. 보고서 파일 시스템에서 검색
  2. PDF 파싱 도구 실행
  3. 수치 분석
  4. 슬라이드 구조 계획
  5. PPT 파일 생성
  6. 결과 보고

목표만 주면 스스로 계획하고 실행합니다.


LLM vs 에이전트

flowchart LR
    subgraph LLM["일반 LLM (챗봇)"]
        L1["입력"] --> L2["응답 생성"] --> L3["출력"]
    end

    subgraph AGENT["AI 에이전트"]
        A1["목표"] --> A2["계획"]
        A2 --> A3["도구 실행"]
        A3 --> A4["결과 확인"]
        A4 -->|"목표 미달성"| A2
        A4 -->|"목표 달성"| A5["최종 결과"]
    end
구분일반 LLMAI 에이전트
입력질문/요청목표
실행단일 응답다단계 루프
도구 사용없음검색·코드·API 등
기억현재 대화만단기+장기 메모리
자율성낮음높음

에이전트의 4가지 핵심 구성 요소

flowchart TB
    subgraph AGENT["AI 에이전트"]
        BRAIN["🧠 LLM\n(추론·계획·판단)"]
        
        subgraph COMPONENTS["핵심 구성요소"]
            T["🔧 도구 (Tools)\n검색, 코드 실행, API 호출"]
            M["💾 메모리 (Memory)\n대화 기록, 사실, 경험"]
            P["📋 계획 (Planning)\n목표 분해, 단계 설계"]
            A["⚡ 행동 (Action)\n도구 실행, 환경과 상호작용"]
        end
    end

    BRAIN <--> T
    BRAIN <--> M
    BRAIN <--> P
    BRAIN <--> A

1. 도구 (Tools)

에이전트가 외부 세계와 상호작용하는 수단입니다.

도구 유형예시
검색웹 검색, 벡터 DB 검색
실행Python 코드 실행, 터미널
API날씨, 주식, 소셜미디어
파일읽기, 쓰기, 파싱
통신이메일, 슬랙 메시지

2. 메모리 (Memory)

flowchart LR
    subgraph MEM["메모리 유형"]
        S["단기 메모리\n현재 대화·작업 컨텍스트\n(컨텍스트 윈도우)"]
        L["장기 메모리\n벡터 DB에 저장된\n과거 경험·사실"]
        E["에피소드 메모리\n이전 작업의 성공/실패\n경험 저장"]
    end

3. 계획 (Planning)

복잡한 목표를 실행 가능한 단계로 분해합니다.

목표: "경쟁사 3곳의 가격 정책을 분석해서 보고서 작성"

계획:
1. 경쟁사 A 웹사이트 검색 및 가격 정보 수집
2. 경쟁사 B 웹사이트 검색 및 가격 정보 수집
3. 경쟁사 C 웹사이트 검색 및 가격 정보 수집
4. 수집된 데이터 비교 분석
5. 마크다운 보고서 작성
6. 결과 파일 저장

에이전트 실행 패턴: ReAct

에이전트의 가장 기본적인 실행 루프는 ReAct (Reason + Act) 패턴입니다.

flowchart TB
    GOAL["목표 입력"]
    
    subgraph LOOP["ReAct 루프"]
        THINK["생각 (Thought)\n현재 상황 분석, 다음 행동 결정"]
        ACT["행동 (Action)\n도구 선택 및 실행"]
        OBS["관찰 (Observation)\n실행 결과 확인"]
        
        THINK --> ACT --> OBS --> THINK
    end
    
    GOAL --> LOOP
    OBS -->|"목표 달성"| END["최종 답변"]

에이전트 유형

단일 에이전트

flowchart LR
    U["사용자"] --> A["에이전트"]
    A --> T1["도구 1"]
    A --> T2["도구 2"]
    A --> T3["도구 3"]
    A --> U

하나의 에이전트가 모든 도구를 직접 사용합니다. 단순한 작업에 적합합니다.

멀티 에이전트

flowchart TB
    U["사용자"] --> OR["오케스트레이터\n(조율 에이전트)"]
    OR --> A1["리서치 에이전트"]
    OR --> A2["분석 에이전트"]
    OR --> A3["작성 에이전트"]
    A1 & A2 & A3 --> OR
    OR --> U

복잡한 작업을 역할별로 분리합니다. 각 에이전트가 전문화됩니다.


에이전트가 적합한 상황

flowchart TD
    Q["이 작업에 에이전트가 필요한가?"]
    
    Q --> C1{"여러 단계가\n필요한가?"}
    Q --> C2{"외부 도구가\n필요한가?"}
    Q --> C3{"실행 결과에 따라\n방향이 달라지는가?"}
    
    C1 & C2 & C3 -->|"예"| YES["✅ 에이전트 적합"]
    C1 & C2 & C3 -->|"아니오"| NO["⚠️ 일반 LLM으로 충분"]

에이전트가 필요한 경우:

  • 웹 리서치 후 보고서 작성
  • 코드 작성 → 실행 → 디버깅 반복
  • 여러 API를 조합하는 자동화 워크플로우
  • 조건에 따라 다른 경로를 선택하는 처리

에이전트가 불필요한 경우:

  • 단순 질의응답
  • 텍스트 요약/번역
  • 형식이 고정된 데이터 변환

에이전트의 한계와 주의사항

flowchart LR
    subgraph RISKS["주의사항"]
        R1["🔄 루프 위험\n종료 조건 없으면\n무한 반복 가능"]
        R2["💰 비용 폭증\n다단계 실행 =\n토큰 N배 사용"]
        R3["🎯 목표 이탈\n중간 단계에서\n본래 목표 잃을 수 있음"]
        R4["🔒 보안\n실제 시스템 실행 권한\n최소 원칙 적용 필수"]
    end

정리

개념내용
AI 에이전트목표를 받아 스스로 계획·실행하는 LLM 시스템
도구에이전트가 외부와 상호작용하는 수단
메모리단기(컨텍스트)·장기(벡터 DB) 정보 저장
ReAct생각→행동→관찰 반복 루프 패턴
멀티 에이전트역할별로 분리된 에이전트 협업 구조

다음 편에서는 LangChain/LangGraph 기초 — 파이썬으로 에이전트를 실제로 구현하는 프레임워크를 배웁니다.

궁금한 점이 있으신가요?

협업·의뢰는 아래로, 가벼운 소통은 인스타그램 @bluefox._.hi도 환영이에요.