AI 에이전트(AI 에이전트)란? 에이전트의 개념, 모델과의 차이, 언제 사용해야 할까?

신 영·2025년 1월 12일
20

자연어처리(NLP)

목록 보기
18/18
post-thumbnail

✅ 들어가며

회사에서 AI Agent 스터디를 하고 있습니다. 그런데 공부할수록 해결되지 않은 의문이 있었습니다.

1. Agent와 AI 모델의 차이는 무엇인가?
- 모델을 여러 개 붙여 쓴 걸 Agent라고 하는 건가?
- 워크플로우로써의 Agent만을 Agent라고 할 수 있는 것인가?
2. Agent는 언제 써야 할까?
- 언제 모델을 쓰고, 언제 Agent를 써야 효과적/효율적일까?

질문을 해결하기 위해 두 자료를 읽고 정리하였습니다. 제목마다 원문 링크를 달아 두었으며, 직접 전문을 읽어보시면 또다른 인사이트를 얻으실 수 있을 것 같습니다.

Anthropic의 Building effective agent (24.12.20)
Google의 Agents (24.9)

자료 정리 이후 포스팅 마지막 부분에는 다른 분의 글과 AI Agent 공부하실 때 도움 받으실 수 있는 내용도 추가해 두었습니다. 저와 같은 질문을 가지고 계셨던 분들께 이 포스팅이 도움 되기를 바랍니다 🙌


1️⃣ Anthropic - Building effective agent (24.12.20) 🔗

📍 워크플로우 vs 에이전트

특징워크플로우(Workflows)에이전트(Agents)
작업 흐름LLM과 도구들이 미리 정의된 코드 경로를 통해 조율되는 시스템LLM이 스스로의 프로세스와 도구 사용을 동적으로 조정, 결정하여 작업을 수행하는 시스템
LLM의 역할고정된 규칙을 따름- 스스로 작업을 제어
- 상황에 따라 의사결정과 작업 경로 변경
- LLM이 어떻게 목표를 달성할지 스스로 결정
자율성낮음높음
적합한 작업예측 가능한 작업, 단순하고 반복적인 작업복잡하고 필요한 단계 수 예측이 어렵거나 불가능한 작업, 유동적인 작업
예시- 챗봇이 고객 문의를 처리하기 위해 미리 정의된 질문-응답 경로를 따르는 경우
- 데이터 파이프라인에서 미리 정의된 순서로 LLM이 데이터를 처리하도록 설계된 시스템
- LLM이 특정 도구를 호출하거나, 새로운 계획을 세워 문제를 해결하는 자율적인 AI 에이전트
- 사용자가 던진 모호한 질문에 따라 적절한 리소스를 탐색하고 최적의 답변을 생성하는 시스템

📍 Building block VS Workflows VS Agents

Building block을 추가하여 세 가지를 비교합니다. 아래와 같이 이해하시면 좋을 것 같습니다.

Building block ▶ LLM 단독 활용
Workflows ▶ LLM 여러 개를 엮어 워크플로우 생성
Agents ▶ LLM의 자율적 계획 및 운영

  • Building block: The augmented LLM
    스스로 검색 쿼리 생성, 적절한 툴 선택, 유지할 정보 결정

  • Workflows

Prompt chaining, Routing, Parallelization, Orchestrator-workers, Evaluator-optimizer

  • Agents

인간의 명령으로 작업을 시작, 작업이 명확해지면 에이전트는 독립적으로 계획하고 운영하며, 추가 정보나 판단을 위해 인간에게 확인하기도 합니다.

📍 Summary

LLM 분야의 성공은 가장 정교한 시스템을 구축하는 것이 아닙니다. 필요에 맞는 올바른 시스템을 구축하는 것이 중요합니다. 간단한 프롬프트로 시작하여 종합적인 평가를 통해 최적화하고 더 간단한 솔루션으로 해결할 수 없는 경우에만 다단계 에이전트 시스템을 추가하는 것이 좋습니다.

에이전트를 구현할 때, Anthropic은 세 가지 핵심 원칙을 따르도록 권합니다.

  1. 에이전트 설계에서 간단함을 유지하십시오.
  2. 에이전트의 계획 단계를 명시적으로 보여줌으로써 투명성을 우선시하십시오.
  3. 도구 문서화와 테스트를 통해 에이전트-컴퓨터 인터페이스(ACI)를 신중하게 설계하십시오.

2️⃣ Google - Agents (24.9) 🔗

📍 What is an agent?

  • 모델이 외부 도구에 접근
  • 자율적으로 작업을 계획하고 실행할 수 있는 능력
  • 모델(외부 세계와 상호작용 한계) + 도구(검색 등) + 오케스트레이션 계층(에이전트가 정보를 받아들이고, 내부 추론을 수행하며, 이 추론을 사용해 다음 작업이나 결정을 내리는 순환 프로세스)

📍 Tools: Our keys to the outside world

에이전트가 외부 시스템과 상호작용할 수 있도록 도와주는 도구(Tools)에 대해 설명합니다. 여기서는 언어 모델이 외부 세계와 직접 상호작용할 수 없는 한계를 해결하기 위해 다양한 도구들을 소개하며, 그 중 확장(Extensions), 기능(Functions), 데이터 저장소(Data Stores) 등을 활용하여 에이전트가 실시간으로 외부 시스템과 연결되어 작업을 수행할 수 있게 만드는 방법을 다룹니다.

  • Functions: 클라이언트 측에서 실행됩니다. 즉, 모델은 실제 API 호출을 하지 않고 필요한 로직과 인수를 출력합니다. API 호출은 클라이언트 애플리케이션이나 다른 시스템 레이어에서 처리됩니다(예: 미들웨어, 프론트엔드).
  • Extensions: 에이전트 측에서 실행됩니다. 에이전트가 미리 정의된 Extension을 통해 API와 직접 상호작용합니다.

  • Data stores: 언어 모델이 새로운 정보를 반영할 수 있도록 도와주는 도구. 기본적으로 언어 모델은 훈련 데이터에 기반하여 지식을 제공합니다. 그러나 이 데이터는 훈련 시점에서 고정되어 있으며, 시간이 지남에 따라 최신 정보가 반영되지 않아 실시간 정보 반영에 한계가 있습니다. Data Stores는 이 문제를 해결하고 모델의 응답이 사실에 기반하도록 돕습니다. → RAG도 한 가지 방법이 될 수 있겠죠.

📍 Enhancing model performance with targeted learning

  • In-context learning, Retrieval-based in-context learning, Fine-tuning based learning도 에이전트 프레임워크에 활용할 수 있습니다.

📍 Agent quick start with LangChain

LangChain 활용 에이전트 예제 제공

📍 Production applications with Vertex AI agents

Vertex AI agents 구축 프레임워크 예시 제공

📍 Summary

1. 에이전트의 역할: 에이전트는 실시간 정보에 접근하고, 행동을 제시하며, 복잡한 작업을 자율적으로 계획하고 실행할 수 있습니다. 에이전트는 여러 개의 언어 모델을 활용해 상태 전환 시기와 방법을 결정하고, 모델 단독으로 수행하기 어려운 복잡한 작업을 외부 도구를 통해 완수합니다.
2. 에이전트의 작동 핵심: 에이전트의 핵심은 오케스트레이션 계층으로, 이는 추론, 계획, 의사결정을 구조화하고 에이전트의 행동을 유도합니다. ReAct, Chain-of-Thought, Tree-of-Thoughts와 같은 다양한 추론 기법은 오케스트레이션 계층이 정보를 수집하고 내부 추론을 수행하며, 신뢰성 있는 결정을 내리거나 반응을 생성할 수 있도록 합니다.
3. 도구의 역할: Extensions, Functions, Data Stores는 에이전트가 외부 시스템과 상호작용하고 훈련 데이터 이상의 지식에 접근할 수 있게 하는 도구입니다. Extensions는 외부 API와의 연결을 제공하며, Functions는 개발자가 세밀한 제어를 할 수 있도록 도와줍니다. Data Stores는 구조화된 데이터나 비구조화된 데이터에 접근할 수 있게 하여 데이터 기반 애플리케이션을 구현할 수 있도록 합니다.
4. 미래의 에이전트: 에이전트의 미래는 더욱 진화된 도구와 추론 능력 향상으로 더 복잡한 문제를 해결할 수 있는 가능성을 열어줍니다. 에이전트 체이닝 전략이 중요한 역할을 할 것입니다. 각기 다른 분야나 작업에서 뛰어난 성과를 내는 전문화된 에이전트를 결합한 전문가 에이전트의 혼합 접근 방식은 다양한 산업과 문제 영역에서 탁월한 결과를 도출할 수 있습니다.
5. 반복적인 접근법: 복잡한 에이전트 아키텍처를 구축하는 데에는 반복적인 접근이 필요합니다. 실험과 개선을 통해 특정 비즈니스 사례와 조직의 요구에 맞는 해결책을 찾는 것이 중요합니다. 기본 모델의 생성적 특성으로 인해 모든 에이전트는 다르게 생성됩니다. 그러나 각 구성 요소의 강점을 활용함으로써 언어 모델의 능력을 확장하고 실제 가치를 창출하는 애플리케이션을 만들 수 있습니다.


3️⃣ 링크드인 글 소개

Gim GyungJin on LinkedIn: Toolformer: Language Models Can Teach Themselves to Use Tools

  • Agent에 대한 연구는 2023년 부터 계속 핫했던 주제
  • 2023년 초 연구는 task위주의 Tool 호출 연구가 대부분
  • 2023년 후반으로 가면서 Agent 연구는 메모리를 활용한 multi-path reasoning 논문들이 주류를 차지하기 시작
  • 2024년에는 들어서는 대부분의 AI 제품이 Agent를 표방하고 있다.
  • 에이전트 특징
    • 1 외부 시스템과의 연동(+tool 사용)
    • 2 history 기억
    • 3 인지적인 아키텍처(reasoning, CoT)
  • 언제 에이전트를 써야 하는가?
    • static한 공리가 아니라, 최신 데이터가 필요할 경우
    • 여러가지 경우의 수를 통해 문제를 풀어야 하는 경우 (e.g. backtracking 문제)
    • 외부 호환 인터페이스가 수시로 바뀌는 경우

내가 Agent를 사용하고자 한다면, 내가 풀고자 하는 use case가 greedy한 문제인지 static한 문제인지 문제정의부터 명확하게 하는 것이 필요하다. static한 문제일수록 고전적인 AI solution의 완성도가 더 높고, Agent가 풀고자 하는 dynamic workflow와 방향성이 다를 가능성이 크기 때문이다.


4️⃣ AI Agent 공부할 때 참고하면 좋을 사이트

AI 에이전트 프레임워크, 런치패드, 도구, 튜토리얼 및 리소스 목록 제공

AI Agent Toolkit


✅ 마치며

부족한 부분이 있을 수 있습니다. 댓글 환영합니다 🤭 여러분의 인사이트가 있다면 공유해 주세요 ❗

0개의 댓글

관련 채용 정보