"초보자를 위한 AI 에이전트" 과정에 오신 것을 환영합니다! 이 과정은 AI 에이전트를 구축하기 위한 기본 지식과 실제 예제를 제공합니다.
다른 학습자 및 AI 에이전트 개발자들과 만나고, 이 과정에 대한 질문을 할 수 있는 Azure AI Discord 커뮤니티에 참여하세요.
이 과정을 시작하기 전에, AI 에이전트란 무엇인지, 그리고 우리가 구축하는 애플리케이션 및 워크플로에서 이를 어떻게 활용할 수 있는지 더 잘 이해해 보겠습니다.
이 강의에서는 다음 내용을 다룹니다:
- AI 에이전트란 무엇이며, 어떤 유형의 에이전트가 있는가?
- AI 에이전트에 적합한 활용 사례는 무엇이며, 이를 통해 어떤 도움을 받을 수 있는가?
- 에이전트 솔루션을 설계할 때 기본적으로 필요한 요소는 무엇인가?
이 강의를 마치면 다음을 할 수 있습니다:
- AI 에이전트 개념을 이해하고, 이를 다른 AI 솔루션과 비교할 수 있습니다.
- AI 에이전트를 가장 효율적으로 활용할 수 있습니다.
- 사용자와 고객 모두에게 생산적인 에이전트 솔루션을 설계할 수 있습니다.
AI 에이전트는 시스템으로, **대규모 언어 모델(LLM)**에 도구와 지식에 대한 접근 권한을 제공하여 작업을 수행할 수 있도록 확장된 기능을 제공합니다.
이 정의를 더 작은 부분으로 나눠보겠습니다:
- 시스템 - 에이전트를 단일 구성 요소로 생각하는 것이 아니라 여러 구성 요소로 이루어진 시스템으로 이해하는 것이 중요합니다. AI 에이전트의 기본 구성 요소는 다음과 같습니다:
- 환경 - AI 에이전트가 작동하는 정의된 공간입니다. 예를 들어, 여행 예약 AI 에이전트를 생각해보면, 환경은 에이전트가 작업을 완료하기 위해 사용하는 여행 예약 시스템일 수 있습니다.
- 센서 - 환경은 정보를 제공하고 피드백을 전달합니다. AI 에이전트는 센서를 사용하여 환경의 현재 상태에 대한 정보를 수집하고 해석합니다. 여행 예약 에이전트의 경우, 호텔 가용성이나 항공편 가격과 같은 정보를 제공받을 수 있습니다.
- 액추에이터 - AI 에이전트가 환경의 현재 상태를 받으면, 현재 작업에 대해 환경을 변경하기 위해 어떤 작업을 수행할지 결정합니다. 여행 예약 에이전트의 경우, 사용자를 위해 이용 가능한 방을 예약하는 작업이 될 수 있습니다.
대규모 언어 모델(LLM) - 에이전트의 개념은 LLM이 개발되기 전부터 존재했습니다. LLM을 사용하여 AI 에이전트를 구축하는 이점은 인간 언어와 데이터를 해석할 수 있는 능력입니다. 이 능력은 LLM이 환경 정보를 해석하고 환경을 변경하기 위한 계획을 정의할 수 있게 합니다.
작업 수행 - AI 에이전트 시스템 외부에서는, LLM은 사용자의 프롬프트에 따라 콘텐츠나 정보를 생성하는 상황에 제한됩니다. 그러나 AI 에이전트 시스템 내에서는, LLM이 사용자의 요청을 해석하고 환경 내에서 사용 가능한 도구를 활용하여 작업을 완료할 수 있습니다.
도구 접근 - LLM이 접근할 수 있는 도구는 1) LLM이 작동하는 환경과 2) AI 에이전트 개발자에 의해 정의됩니다. 예를 들어, 여행 에이전트의 경우, 에이전트의 도구는 예약 시스템에서 제공하는 작업에 의해 제한되며, 개발자는 항공편과 같은 특정 도구 접근을 제한할 수도 있습니다.
지식 - 환경에서 제공되는 정보 외에도, AI 에이전트는 다른 시스템, 서비스, 도구, 심지어 다른 에이전트로부터 지식을 검색할 수 있습니다. 여행 에이전트의 경우, 이 지식은 고객 데이터베이스에 저장된 사용자의 여행 선호도 정보일 수 있습니다.
이제 AI 에이전트의 일반적인 정의를 알았으니, 특정 에이전트 유형과 여행 예약 AI 에이전트에 어떻게 적용될 수 있는지 살펴보겠습니다.
에이전트 유형 | 설명 | 예시 |
---|---|---|
단순 반사 에이전트 | 미리 정의된 규칙에 따라 즉각적인 작업을 수행합니다. | 여행 에이전트가 이메일의 맥락을 해석하여 여행 불만 사항을 고객 서비스로 전달합니다. |
모델 기반 반사 에이전트 | 세계의 모델과 그 모델의 변화를 기반으로 작업을 수행합니다. | 여행 에이전트가 과거 가격 데이터에 접근하여 가격 변동이 큰 경로를 우선시합니다. |
목표 기반 에이전트 | 특정 목표를 달성하기 위해 계획을 세우고, 목표를 해석하여 이를 달성하기 위한 작업을 결정합니다. | 여행 에이전트가 현재 위치에서 목적지까지 필요한 여행 준비(차량, 대중교통, 항공편)를 결정하여 여정을 예약합니다. |
효용 기반 에이전트 | 선호도를 고려하고, 수치적으로 트레이드오프를 평가하여 목표를 달성하는 방법을 결정합니다. | 여행 에이전트가 편리함과 비용을 비교하여 최적의 여행을 예약합니다. |
학습 에이전트 | 피드백에 응답하여 시간이 지남에 따라 작업을 조정하고 개선합니다. | 여행 에이전트가 여행 후 설문조사에서 받은 고객 피드백을 사용하여 향후 예약을 개선합니다. |
계층적 에이전트 | 다중 에이전트를 계층 시스템에서 구성하며, 상위 에이전트가 작업을 하위 에이전트가 완료할 하위 작업으로 나눕니다. | 여행 에이전트가 여행을 취소할 때 작업을 하위 작업(예: 특정 예약 취소)으로 나누고, 하위 에이전트가 이를 완료한 후 상위 에이전트에 보고합니다. |
다중 에이전트 시스템(MAS) | 에이전트가 독립적으로 작업을 완료하며, 협력하거나 경쟁할 수 있습니다. | 협력적: 여러 에이전트가 호텔, 항공편, 엔터테인먼트와 같은 특정 여행 서비스를 예약합니다. 경쟁적: 여러 에이전트가 공유 호텔 예약 캘린더를 관리하고 고객을 호텔에 예약하기 위해 경쟁합니다. |
앞서 여행 에이전트 사례를 사용하여 다양한 에이전트 유형이 여행 예약의 다양한 시나리오에서 어떻게 사용될 수 있는지 설명했습니다. 이 애플리케이션은 과정 전반에 걸쳐 계속 사용할 것입니다.
AI 에이전트가 가장 적합한 활용 사례 유형을 살펴보겠습니다:
- 개방형 문제 - 워크플로에 작업 단계를 항상 하드코딩할 수 없기 때문에, LLM이 작업을 완료하기 위해 필요한 단계를 스스로 결정하도록 허용합니다.
- 다중 단계 프로세스 - 단일 조회로 해결할 수 없는 도구나 정보를 여러 차례 사용해야 하는 복잡한 작업입니다.
- 시간에 따른 개선 - 에이전트가 환경이나 사용자로부터 피드백을 받아 시간이 지남에 따라 더 나은 효용을 제공할 수 있는 작업입니다.
AI 에이전트를 사용하는 추가적인 고려 사항은 "신뢰할 수 있는 AI 에이전트 구축" 강의에서 다룹니다.
AI 에이전트 시스템을 설계하는 첫 번째 단계는 도구, 작업, 행동을 정의하는 것입니다. 이 과정에서는 Azure AI 에이전트 서비스를 사용하여 에이전트를 정의하는 방법에 중점을 둡니다. 이 서비스는 다음과 같은 기능을 제공합니다:
- OpenAI, Mistral, Llama와 같은 오픈 모델 선택
- Tripadvisor와 같은 제공자를 통한 라이선스 데이터 사용
- 표준화된 OpenAPI 3.0 도구 사용
LLM과의 통신은 프롬프트를 통해 이루어집니다. AI 에이전트는 반자동적인 특성을 가지므로, 환경 변화 이후에 LLM을 수동으로 다시 프롬프트하는 것이 항상 가능하거나 필요하지는 않습니다. 우리는 LLM을 여러 단계에 걸쳐 더 확장 가능하게 프롬프트할 수 있도록 하는 에이전트 패턴을 사용합니다.
이 과정은 현재 널리 사용되는 에이전트 패턴을 몇 가지로 나누어 진행됩니다.
에이전트 프레임워크는 개발자가 코드로 에이전트 패턴을 구현할 수 있도록 합니다. 이러한 프레임워크는 템플릿, 플러그인, 도구를 제공하여 AI 에이전트 간의 협업을 개선합니다. 이를 통해 AI 에이전트 시스템의 관찰성과 문제 해결 능력을 향상시킬 수 있습니다.
이 과정에서는 연구 기반의 AutoGen 프레임워크와 실제 사용 가능한 Semantic Kernel의 Agent 프레임워크를 탐구할 것입니다.
면책 조항:
이 문서는 기계 기반 AI 번역 서비스를 사용하여 번역되었습니다. 정확성을 위해 노력하고 있으나, 자동 번역에는 오류나 부정확성이 포함될 수 있습니다. 원본 문서를 해당 언어로 작성된 상태에서 신뢰할 수 있는 권위 있는 자료로 간주해야 합니다. 중요한 정보의 경우, 전문적인 인간 번역을 권장합니다. 이 번역 사용으로 인해 발생하는 오해나 잘못된 해석에 대해 당사는 책임을 지지 않습니다.