PART 10 - 강의 1/3

Agent 개념과 구조

LLM을 자율적인 문제 해결자로 확장하기

01

LLM Agent란?

자율적으로 작업을 수행하는 AI 시스템

LLM Agent는 단순히 질문에 답하는 것을 넘어, 스스로 계획을 세우고, 도구를 사용하며, 복잡한 작업을 자율적으로 수행하는 AI 시스템입니다.

"Agent는 환경을 인식하고, 결정을 내리며, 목표 달성을 위해 행동하는 자율 시스템이다"
LLM Agent = LLM의 추론 능력 + 외부 도구 사용 능력 + 기억/학습 능력
LLM (Brain) + Tools + Memory = Agent

LLM vs LLM Agent 비교

기존 LLM

  • - 텍스트 입력 - 텍스트 출력
  • - 단일 턴 대화 또는 멀티턴 채팅
  • - 학습 데이터에 기반한 지식만 사용
  • - 외부 시스템과 상호작용 불가
  • - 수동적 응답 (질문에만 답변)

LLM Agent

  • + 목표 - 계획 - 실행 - 결과
  • + 자율적 다단계 작업 수행
  • + 실시간 정보 검색 및 활용
  • + API, DB, 파일 시스템 접근
  • + 능동적 문제 해결
02

Agent 아키텍처

두뇌, 도구, 기억의 세 가지 핵심 컴포넌트

Agent는 크게 세 가지 핵심 컴포넌트로 구성됩니다: 두뇌(LLM), 도구(Tools), 기억(Memory).

USER
사용자 입력
|
CORE
LLM (추론 엔진)
| |
MODULES
Tools
Memory
| |
EXTERNAL
웹/API
파일시스템
데이터베이스

Tools (도구)

Agent가 외부 세계와 상호작용하기 위해 사용하는 기능들입니다.

검색

정보 검색

웹 검색, 문서 검색, RAG, Wikipedia API
코드

코드 실행

Python 인터프리터, 터미널, Jupyter
데이터

데이터 처리

SQL 쿼리, 파일 읽기/쓰기, 계산기
API

외부 API

날씨, 주식, 이메일, 캘린더

Memory (기억)

Agent가 맥락을 유지하고 과거 경험을 활용하기 위한 저장소입니다.

Short-term Memory

현재 대화의 컨텍스트, 최근 액션 기록, 작업 중인 정보. 주로 LLM의 컨텍스트 윈도우에 저장됩니다.

Long-term Memory

과거 대화 요약, 사용자 선호도, 학습된 패턴. 벡터 DB나 외부 저장소에 영구 저장됩니다.

03

ReAct 패턴

추론과 행동의 결합

ReAct (Reasoning + Acting)는 Agent가 작업을 수행하는 핵심 패턴입니다. LLM이 생각(Thought)을 통해 계획을 세우고, 행동(Action)을 실행한 후, 관찰(Observation) 결과를 바탕으로 다음 단계를 결정합니다.

O
Observe
환경/결과 관찰
->
T
Think
추론 및 계획
->
A
Act
도구 실행
->
R
Loop
완료까지 반복
ReAct의 장점

ReAct 패턴은 "생각의 연쇄(Chain-of-Thought)"를 행동과 결합하여 더 신뢰할 수 있고 해석 가능한 결과를 만듭니다. 각 단계에서 LLM이 왜 그런 결정을 내렸는지 추적할 수 있습니다.

ReAct 실행 예시

Agent Execution Trace
O
OBSERVATION (입력)
"서울 날씨를 확인하고 우산이 필요한지 알려줘"
T
THOUGHT (추론)
사용자가 서울 날씨와 우산 필요 여부를 알고 싶어함. 먼저 날씨 API를 호출해서 현재 날씨 정보를 가져와야 함.
A
ACTION (실행)
weather_api.get_current(location="Seoul")
O
OBSERVATION (결과)
{"temp": 15, "condition": "Rain", "precipitation": 80%}
T
THOUGHT (추론)
현재 서울은 비가 오고 있고 강수 확률이 80%로 높음. 우산이 필요하다고 답변해야 함.
V
FINAL ANSWER
현재 서울은 15도이며 비가 내리고 있습니다. 강수 확률이 80%로 높으니 우산을 꼭 챙기세요!
04

Agent 유형

작업 방식에 따른 분류

Agent는 작업 방식에 따라 여러 유형으로 분류됩니다.

Simple (ReAct) Agent

가장 기본적인 형태로, 한 번에 하나의 도구를 사용하며 순차적으로 작업을 수행합니다.

  • - 관찰 - 생각 - 행동의 단순 루프
  • - 구현이 간단하고 이해하기 쉬움
  • - 단순한 작업에 적합
  • - 예: 날씨 확인, 단순 검색 질의

Planning Agent

작업을 시작하기 전에 전체 계획을 먼저 수립하고, 계획에 따라 순차적으로 실행합니다.

  • - 먼저 하위 작업으로 분해
  • - 각 단계를 순서대로 실행
  • - 복잡한 다단계 작업에 적합
  • - 예: 보고서 작성, 여행 계획 수립

Reflection Agent

자신의 출력을 검토하고 개선하는 자기 반성 능력을 가진 Agent입니다.

  • - 생성 - 비평 - 수정의 반복
  • - 품질 향상을 위한 자기 피드백
  • - 창작, 코드 생성에 효과적
  • - 예: 코드 리뷰, 글 퇴고

Multi-Agent System

여러 Agent가 협력하여 복잡한 작업을 분담하고 해결합니다.

  • - 역할 분담 (연구자, 코더, 검토자 등)
  • - Agent 간 통신 및 협업
  • - 대규모 복잡한 프로젝트에 적합
  • - 예: 소프트웨어 개발, 연구 프로젝트
05

Agent 구현 예시

의사 코드로 살펴보기

실제 Agent가 어떻게 동작하는지 간단한 의사 코드로 살펴봅니다.

Python (Pseudocode)
class SimpleAgent:
    def __init__(self, llm, tools):
        self.llm = llm
        self.tools = tools
        self.memory = []

    def run(self, task):
        """ReAct 루프 실행"""
        self.memory.append({"role": "user", "content": task})

        while True:
            # 1. LLM에게 다음 행동 결정 요청
            response = self.llm.generate(
                system_prompt=REACT_PROMPT,
                messages=self.memory,
                tools=self.tools
            )

            # 2. 최종 답변이면 종료
            if response.is_final_answer:
                return response.content

            # 3. 도구 호출이면 실행
            if response.tool_call:
                tool_result = self.execute_tool(
                    response.tool_call.name,
                    response.tool_call.args
                )
                # 4. 결과를 메모리에 추가
                self.memory.append({
                    "role": "tool",
                    "content": tool_result
                })
실제 구현 시 고려사항

실제 Agent 구현에서는 무한 루프 방지(max iterations), 에러 처리, 도구 실행 타임아웃, 비용 제한 등 다양한 안전장치가 필요합니다.

06

Agent 활용 사례

다양한 분야에서의 적용

CODE

코드 어시스턴트

코드 작성, 디버깅, 테스트 실행, 리팩토링 (GitHub Copilot, Cursor)
RESEARCH

연구 어시스턴트

논문 검색, 요약, 데이터 분석, 실험 설계
WORK

업무 자동화

이메일 처리, 일정 관리, 보고서 생성, 데이터 입력
SERVICE

고객 서비스

주문 처리, 환불 요청, FAQ 응대, 예약 관리
DATA

데이터 분석

SQL 쿼리 생성, 시각화, 인사이트 도출, 대시보드 생성
CREATE

창작 지원

콘텐츠 생성, 이미지 제작, 음악 작곡, 스토리 작성
SUMMARY

핵심 요약

  • LLM Agent는 LLM + Tools + Memory의 조합으로 자율적 작업 수행
  • ReAct 패턴: Observe - Think - Act의 반복 루프
  • Tools: 외부 세계와 상호작용 (검색, 코드 실행, API 등)
  • Memory: 단기(컨텍스트) + 장기(벡터 DB) 기억
  • Agent 유형: Simple, Planning, Reflection, Multi-Agent