AI Agent란?

wldbs._.·2025년 7월 23일

RAG

목록 보기
3/22
post-thumbnail

회의에서 "AI Agent"라는 단어가 많이 나오더라.
에이전트? 대리인? 역할을 대신 수행하는?
정확한 개념을 알지 못해 정리해두었다.


개념

AI Agent란?

  • 사용자의 개입 없이 자율적으로 작동하며, 환경을 인지하고 학습하여 주어진 목표를 달성하거나 문제를 해결하는 지능형 소프트웨어 시스템
  • 스스로 판단하고 행동하여 특정 작업을 수행하는 인공지능 프로그램

: LLM(생성형 AI)을 실제로 “행동하는 존재”처럼 목표를 주면 스스로 문제를 해결하는 시스템

  • 기존의 LLM (예: ChatGPT)은 질문에 답변만 해주는 "챗봇"에 가까웠다면,
  • AI 에이전트는 다음과 같은 능력이 더해진 ‘능동적인 AI’
능력설명
🎯 목표 설정"OO 하는 방법을 찾아줘" 같은 목표 기반 요청을 이해
🧠 사고 (Reasoning)목표를 달성하려면 어떤 단계를 거쳐야 할지 스스로 계획
📚 도구 사용웹 검색, 계산기, 코드 실행, API 호출 등을 스스로 도구로 실행
🔁 반복과 수정결과가 틀리면 자기 피드백을 통해 수정하거나 재시도함

🍳 예시를 살펴보자.

요청일반 LLMAI 에이전트
"서울-부산 왕복 KTX 가격 알려줘""일반적으로 약 12만원입니다."→ 웹 검색 도구로 실제 요금 확인 → 왕복 계산 → 출처 포함 응답
"우리 회사 인사 규정 정리해줘""연차, 복지 등 관련 내용이 포함됩니다."→ 벡터 검색 → 관련 문서 추출 → 요약 → 정리된 보고서 생성

특징

  1. 자율성: 사용자의 직접적인 지시 없이 스스로 목표를 설정하고 실행
  2. 환경 인식: 주변 환경을 인지하고 상황을 분석
  3. 학습 능력: 과거 경험과 데이터를 통해 지속적으로 학습하고 개선
  4. 목표 지향: 특정 목표를 달성하기 위해 행동
  5. 도구 활용: 필요에 따라 지식 데이터베이스, 웹 검색, 코딩 등 다양한 도구를 활용

🥙 AI 에이전트와 기존 소프트웨어의 차이점?

  • 기존 소프트웨어는 사용자의 명령어에 따라 동작
  • AI 에이전트는 자율적으로 판단하고 행동

즉, AI 에이전트는 더 복잡한 작업을 수행하고, 예측 불가능한 상황에 적응할 수 있다.


구성 요소

🤖 AI 에이전트 구성 요소

  1. 🧠 LLM (두뇌)
  • 질문 이해, 사고, 생성 담당
  1. 🔨 도구 목록 (Tools)
  • 검색기, 계산기, 코드 실행기, DB 접근 등
  1. 📌 플래너 (Planner)
  • 목표 달성을 위한 순서 또는 계획을 짬
    • 예: Step 1. 검색 → Step 2. 정리 → Step 3. 요약
  1. 🎞 메모리 (Memory)
  • 대화 이력, 사용자 정보, 이전 행동 기억
  1. 🎯 루프 제어 (Loop & Feedback)
  • “이대로 괜찮은가?” 스스로 검토하고 반복 실행

프레임워크

아래와 같은 프레임워크가 있다고 알려준다.

🔧 유명한 AI 에이전트 프레임워크

이름특징
LangChain Agents도구 조합, 체인 생성, LLM 기반 플로우 제어
Auto-GPT자율적 목표 수행, 매우 능동적 (다만 아직은 불안정)
BabyAGI목표 → 하위 작업 생성 → 반복 실행
OpenAI Functions + AgentChatGPT API에서 플러그인처럼 도구 실행

예시 시나리오

🧠 예시 시나리오: 에이전트가 하는 일

목표: “회사 문서에서 연차 정책 요약해줘”

1. 질문 이해
2. 벡터 검색으로 관련 문서 찾기
3. 요약하기 (Chain of Thought)
4. 핵심 정책 정리
5. 출처 포함 응답

→ 이 전체 과정을 AI가 스스로 판단하고, 필요한 도구도 자동으로 사용해서 처리


예제

아래는 ChatGPT가 만들어진 에이전트 기초 예제이다.

🧠 LangChain AI 에이전트 예제 (기초)

from langchain.agents import initialize_agent, Tool
from langchain.agents.agent_types import AgentType
from langchain.chat_models import ChatOpenAI
import openai

# 🔑 OpenAI API 키 설정
openai.api_key = "YOUR_OPENAI_API_KEY"

# ✅ 사용할 도구 정의 (간단한 계산기)
def calculator_tool(input: str) -> str:
    try:
        result = eval(input)
        return f"계산 결과: {result}"
    except Exception as e:
        return f"계산 실패: {str(e)}"

tools = [
    Tool(
        name="계산기",
        func=calculator_tool,
        description="수학 계산을 도와주는 도구입니다. 숫자 계산이 필요할 때 사용하세요."
    )
]

# 🧠 LLM 준비
llm = ChatOpenAI(temperature=0)

# 🤖 에이전트 초기화
agent = initialize_agent(
    tools=tools,
    llm=llm,
    agent=AgentType.ZERO_SHOT_REACT_DESCRIPTION,  # 도구 사용 방식
    verbose=True  # 내부 행동 출력
)

# 🚀 질문 실행
response = agent.run("134 * 23은 뭐야?")
print("\n최종 응답:", response)

⇒ 참고로 OpenAI API 키는 OpenAI API keys 사이트를 거쳐 발급받을 수 있다.

profile
공부 기록용 24.08.05~ #LLM #RAG

0개의 댓글