Introduction to AI Agent
Last updated
Last updated
AI Agent가 대체 뭐길래 요즘 이렇게 주목을 받을까요?
이 섹션에서는 LLM과 Agent의 관계, 왜 Structured 데이터가 중요한지, 그리고 어떤 식으로 Agentic Workflow를 구성할 수 있는지를 이미지와 예시로 함께 알아봅니다.
AI Agent는 사용자의 명령이나 주어진 상황을 이해하고, 이를 바탕으로 목표를 달성하기 위한 작업을 자율적으로 수행하는 시스템입니다. 이를 위해 다양한 **도구(tool)**나 API를 활용할 수 있으며, 데이터를 기반으로 상황을 인식하고 판단하여 일련의 행동을 실행합니다.
✅ 간단히 말하자면, 주어진 목표를 달성하기 위해, 스스로 판단하고 행동하는 인공지능 시스템입니다.
LLM은 원래 텍스트를 이해하고 생성하는 데 특화된 모델입니다.
이러한 LLM이 점점 커지면서 추론(Reasoning) 능력까지 가지게 되었죠. 이게 바로 Scaling Law의 힘!
하지만, 실제 문제를 해결하기 위해선 "생성" 외에도 더 많은 기능이 필요합니다. 그래서 등장한 것이 Agent입니다.
Agent는 LLM의 추론 능력(Reasoning)을 중심으로, 다른 기능(계산, 검색, 외부 API 호출 등)을 연결하여 복잡한 작업을 자동화할 수 있게 도와줍니다.
그리고 이때 중요한 기술 중 하나가 바로 Function Calling입니다.
Function Call에 대해 더 자세히 알아보고 싶다면 Getting Started to Function Call을 참고하세요!
Function Call은 LLM이 외부 도구를 '사용하겠다'고 요청하는 방식입니다. 마치 “AI가 직접 프로그램의 버튼을 눌러 무언가를 실행하는 것”과 같죠.
예를 들어:
“서울의 내일 날씨 알려줘” 라는 질문을 받았을 때,
LLM은 그걸 “get_weather(location="Seoul", date="tomorrow")
함수를 실행해줘!” 라고 말할 수 있습니다.
@tool
데코레이터: 이 함수가 외부에서 사용할 수 있는 도구임을 명시하는 부분
Docstring: 함수의 역할을 설명하는 부분
LLM이 언제 이 도구를 사용해야 할지 판단하는 기준이 됩니다
이처럼 LLM은 사람처럼 명령을 이해한 뒤, 프로그래밍 언어처럼 함수 호출 형태로 의도를 표현할 수 있습니다.
LLM의 역할: 질문을 분석해 어떤 함수가 필요한지 판단 → Function Call 생성
Agent의 역할: 생성된 함수를 실제로 실행하고 → 결과를 다시 LLM에 전달
LLM의 최종 역할: 결과를 자연어로 요약해 사용자에게 전달
요약하자면,
Function Call = LLM이 외부 도구(API, 계산기, 검색 등)를 사용하려고 만드는 실행 요청 명령
Agent = 이런 요청을 실제로 실행해주는 비서 또는 도우미 역할
AI끼리 협업하려면 사람이 말하듯이 “아버지가 방에 들어가신다”라고 말해선 안 됩니다.
❌ Unstructured: “아버지가방에들어가신다”
✅ Structured: {"Person": "아버지", "Space": "방"}
Agent들은 이런 **구조화된 데이터(JSON)**를 기반으로 서로 협업합니다.
Structured Ouputs에 대해 더 자세히 알아보고 싶다면 Getting Started to Structured Ouptut을 참고하세요!
Agentic Workflow를 잘 설계하려면 어떻게 해야 할까요? Agentic Workflow는 복잡한 목표를 달성하기 위해 **작업(Task)**을 나누고, 각 Task를 가장 잘 수행할 수 있는 Agent에게 맡기는 설계 방식입니다.
🔍 핵심은 “작업을 잘게 나누는 것!”
이때 중요한 점은, 작업(Task)을 쪼개는 일은 LLM이 아니라 사람이 해야 한다는 점입니다.
LLM이나 Agent가 혼자서 "무엇을 어떻게 나눌지"까지 알 수는 없습니다. 우리가 목표를 이해하고, 전체 과정을 논리적으로 분해해줘야 Agent가 각 역할을 맡아 제대로 작동할 수 있어요.
몇 가지 예시를 통해 Task를 어떻게 나눌 수 있는지 살펴보겠습니다.
사용자 요청: "내일 서울에서 우산을 가져가야 할까?"
🧩 Task 쪼개기 예시
지역과 날짜 파악
→ 서울, 내일
날씨 정보 검색
→ 강수 확률 확인
우산 여부 판단 기준 적용
→ 강수 확률 60% 이상이면 우산 권장
결과 정리 및 응답 생성
🤖 Task별 Agent 배정 예시
지역과 날짜 추출을 위한 NLP Agent → 사용자 요청 문장에서 정보 추출
날씨 정보 호출을 위한 Weather Agent → 기상청 API 호출
우산 여부 판단을 위한 Rule-based Judge Agent → 기준 적용
자연어 응답 생성을 위한 Response Agent → 자연어 설명 생성
사용자 요청: "신제품 홍보 이메일을 만들어줘"
🧩 Task 쪼개기 예시
타깃 고객 분석
제품 정보 정리
이메일 톤/스타일 선택
이메일 작성
맞춤화된 추천 문구 추가
🤖 Agent 분배 예시
고객 분석을 위한 Customer Analysis Agent → CRM 데이터 기반으로 타깃 고객 정보 추출
제품 정보 요약을 위한 Product Summary Agent → 제품의 주요 특징 정리
이메일 스타일 조정을 위한 Tone Styling Agent → 마케팅 목적에 맞게 톤과 문체 조절
이메일 문구 생성을 위한 Copywriting Agent → 자연스럽고 설득력 있는 문장 작성
맞춤 문구 추천을 위한 Personalization Agent → 사용자의 행동 데이터 기반으로 개인화 문구 추천
이 밖에도 다양한 Agent 활용 사례는 우리 주변에서 쉽게 찾을 수 있는데요, 아래와 같은 우리 일상과 밀접한 예시들도 있습니다.
데이터 분석 Agent
수십만줄의 csv를 분석해 내고, 시각화까지 진행하며 에러도 스스로 수정합니다.
파일 관리 Agent
로컬 폴더 내의 파일 삭제, 이동, 읽기, 쓰기 등을 자동화합니다.
보고서 작성 Agent
문서 검색, 요약, 마크다운 형태의 보고서 작성, 이미지 삽입까지 자동화합니다.
Agentic Workflow = Task 나누기 + 역할 분배
Task 쪼개기는 사람이 전략적으로 설계해야 함
각 Agent는 자신이 잘하는 일을 맡아서 자동화 수행
전체 흐름은 Router → Task → Agent → 응답 구조로 이루어짐
앞서 본 것처럼, 하나의 목표를 달성하기 위해 여러 Agent가 함께 협업하는 Agentic Workflow를 설계하는 것이 중요합니다. 그리고 제대로 협업하기 위해서는 어떤 Agent를 어떤 상황에 쓸 것인지 판단하고 조율하는 똑똑한 시스템, 바로 Orchestration Layer가 필요합니다.
사용자의 요구(Input)에 맞춰 어떤 Agent(또는 Model)를 쓸지 선택하고 조합하는 중간 지휘자 역할입니다.
사용자의 요청을 이해하고
어떤 Agent 조합이 가장 효율적일지 판단하고
각 Agent에게 적절한 역할을 분배해줍니다.
현대의 AI 시스템은 하나의 모델만으로 구성되지 않습니다. 대신, 서로 다른 기능을 가진 여러 Agent + 여러 Model을 조합합니다.
✅ 서비스 안정성 확보
→ 한 Agent가 실패해도 전체 서비스는 무너지지 않음
✅ 성능 최적화 가능
→ 상황에 따라 비용 적은 모델 선택 or 고성능 모델 선택 가능
✅ 집단지성처럼 작동
→ 여러 Agent들이 협업하며 더 나은 결과 도출
사용자는 다양한 기준으로 요청합니다:
"정확하게", "싸게", "특정 국가의 모델은 빼고", "속도 우선", "오늘 안에 결과 줘"
Orchestration Layer는 이런 조건을 바탕으로 최적의 Agent 조합과 모델을 동적으로 결정합니다.
Agent는 점점 더 지능적이고, 대화형으로 진화하고 있습니다. 들어온 요청에 대해 무조건적인 작업 수행을 하던 Agent부터 시작해서, 할 수 있는 작업과 할 수 없는 작업을 구분하는 Agent, 그리고 할 수 있는 정보에 대해 부족한 정보를 추가로 요청하는 Agent까지 계속 발전하고 있습니다.
이번 섹션에서는 AI Agent의 핵심 개념을 살펴보았습니다.
🔹 AI Agent란? 목표 달성을 위해 자동으로 판단하고 행동하는 지능형 시스템
🔹 LLM + Agent 구조: LLM은 추론, Agent는 외부 기능 실행
🔹 Structured Data의 필요성: Agent 간 협업을 위한 핵심
🔹 Agentic Workflow: 태스크를 나누고, 태스크별 적절한 Agent 지정
📘 다음 섹션에서는 Upstage API들을 실제로 사용해 AI Agent를 만들어보는 실습으로 이어집니다! 준비되셨나요? 여러분의 첫번째 Agent를 직접 만들어 봅시다! 🤖✨
Suwan Kim | AI Edu | Upstage