Mosaic AI는 RAG(검색 증강 세대) 챗봇에서 도구 호출 에이전트에 이르기까지 간단하고 복잡한 세대 AI 애플리케이션을 모두 지원합니다. Gen AI 앱 및 에이전트 시스템의 핵심 개념을 알아보고, 일반적인 디자인 패턴을 탐색하고, Gen AI 앱을 빌드, 평가 및 크기 조정하기 위한 자습서를 실습합니다.
Gen AI 앱 개념 알아보기
기본 세대 AI 앱 개념에 익숙해지세요.
Mosaic AI가 Gen AI 개발 중에 주요 과제를 해결하는 방법을 알아봅니다.
Mosaic AI를 사용하여 Gen AI 앱 빌드 시도
다음의 노트북 튜토리얼부터 시작해보세요.
복잡성을 높일 준비가 되면 고급 가이드 및 자습서를 참조하세요.
생성형 AI 애플리케이션이란 무엇인가요?
Gen AI 앱은 생성 AI 모델(예: LLM, 이미지 생성 모델 및 텍스트 음성 변환 모델)을 사용하여 새 출력을 만들거나, 복잡한 작업을 자동화하거나, 사용자 입력을 기반으로 지능형 상호 작용에 참여하는 애플리케이션입니다. Gen AI 앱은 다양한 모델을 사용할 수 있지만 이 가이드에서는 LLM 기반 애플리케이션에 집중합니다.
LLM 기반 GEN AI 앱은 다양한 방식으로 빌드할 수 있지만 일반적으로 두 가지 아키텍처 패턴 중 하나에 속합니다.
유형 1: 단일체 LLM + 프롬프트 | 유형 2(권장): 에이전트 시스템 | |
---|---|---|
무엇입니까? | 신중하게 디자인된 프롬프트가 있는 단일 LLM입니다. | 간단한 체인에서 정교한 다중 에이전트 시스템에 이르기까지 여러 상호 작용 구성 요소(LLM 호출, 검색기, API 호출)가 함께 오케스트레이션됩니다. |
예제 사용 사례 | 콘텐츠 분류: LLM을 사용하여 고객 지원 티켓을 미리 정의된 항목으로 분류합니다. | 지능형 도우미: 문서 검색, 여러 LLM 호출 및 외부 API를 결합하여 포괄적인 보고서를 연구, 분석 및 생성합니다. |
가에 적합한 | 간단하고 집중적인 작업, 빠른 프로토타입 및 명확하고 잘 정의된 프롬프트입니다. | 복잡한 워크플로, 여러 기능이 필요한 작업 및 이전 단계에서 리플렉션이 필요한 작업. |
주요 이점 | 더 간단한 구현, 더 빠른 개발 및 낮은 운영 복잡성. | 더 안정적이고 유지 관리 가능하며, 제어 및 유연성이 향상되고, 테스트 및 확인이 용이하며, 구성 요소 수준 최적화가 가능합니다. |
제한 사항 | 덜 유연하고 최적화하기 어렵고 기능이 제한됩니다. | 더 복잡한 구현, 더 많은 초기 설정 및 구성 요소 조정이 필요합니다. |
대부분의 엔터프라이즈 사용 사례에서 Databricks는 에이전트 시스템권장합니다. 개발자는 시스템을 더 작고 잘 정의된 구성 요소로 분리하여 복잡성을 더 잘 관리하면서 엔터프라이즈 애플리케이션에 필요한 높은 수준의 제어 및 규정 준수를 유지할 수 있습니다.
Mosaic AI에는 모놀리식 시스템과 에이전트 시스템 모두에서 작동하는 도구와 기능이 있으며, 이 설명서의 나머지 부분에는 두 가지 유형의 GEN AI 앱 빌드에 대해 설명합니다.
에이전트 시스템 및 모놀리식 모델의 이론에 대해 자세히 알아보려면 Databricks 설립자의 블로그 게시물을 참조하세요.
- AI 에이전트 시스템: 신뢰할 수 있는 엔터프라이즈 AI 애플리케이션을 위한 모듈식 엔지니어링
- 모델에서 복합 AI 시스템으로의 전환
에이전트 시스템이란?
에이전트 시스템은 목표를 달성하기 위해 환경에서 자율적으로 인식, 결정 및 조치를 수행할 수 있는AI 기반 시스템입니다. 메시지가 표시될 때만 출력을 생성하는 독립 실행형 LLM과 달리 에이전트 시스템은 어느 정도의 기관. 최신 LLM 기반 대리 시스템은 LLM을 "중추"로 사용하여 문맥을 해석하고, 다음에 할 일을 판단하며, API 호출, 검색 메커니즘, 도구 사용 등의 작업을 실행하여 임무를 완수합니다.
에이전트 시스템은 LLM이 핵심인 시스템입니다. 해당 시스템:
- 다른 에이전트로부터 사용자 요청 또는 메시지를 받습니다.
- 진행 방법에 대한 이유: 가져올 데이터, 적용할 논리, 호출할 도구 또는 사용자에게 더 많은 입력을 요청할지 여부입니다.
- 계획을 실행하고, 필요에 따라 여러 도구를 사용하거나 대리업무를 하위 에이전트에 위임할 수 있습니다.
- 답변을 반환하거나 사용자에게 추가 설명을 묻는 메시지를 표시합니다.
에이전트 시스템은 일반 인텔리전스(LLM의 미리 학습된 기능) 및 데이터 인텔리전스(비즈니스와 관련된 전문 지식 및 API)를 브리징하여 고급 고객 서비스 흐름, 데이터가 풍부한 분석 봇 및 복잡한 운영 작업을 위한 다중 에이전트 오케스트레이션과 같은 영향력이 큰 엔터프라이즈 사용 사례를 가능하게 합니다.
에이전트 시스템은 무엇을 할 수 있나요?
에이전트 시스템은 다음을 수행할 수 있습니다.
- 동적으로 작업을 계획하다
- 한 단계에서 다음 단계로 상태 전달
- 지속적인 인적 개입 없이 새로운 정보에 따라 전략을 조정합니다.
독립 실행형 LLM이 요청 시 여행 일정을 출력할 수 있는 경우 에이전트 시스템은 도구 및 API를 활용하여 고객 정보를 검색하고 항공편을 자율적으로 예약할 수 있습니다. 에이전트 시스템은 LLM의 "일반 인텔리전스"와 "데이터 인텔리전스"(도메인별 데이터 또는 API)를 결합하여 단일 정적 모델이 해결하는 데 어려움을 겪는 정교한 엔터프라이즈 사용 사례를 해결할 수 있습니다.
에이전시는 연속체입니다. 시스템의 동작을 제어하는 모델을 자유롭게 제공할수록 애플리케이션의 에이전트가 늘어나게 됩니다. 실제로 대부분의 프로덕션 시스템은 위험한 작업에 대한 사람의 승인을 요구하는 등 규정 준수 및 예측 가능성을 보장하기 위해 에이전트의 자율성을 신중하게 제한합니다.
일반 인텔리전스 및 데이터 인텔리전스
일반 인텔리전스와 데이터 인텔리전스를 비교하는
- 일반 인텔리전스: LLM이 다양한 텍스트에 대한 광범위한 사전 학습에서 기본적으로 알고 있는 것을 나타냅니다. 이는 언어 유창성과 일반적인 추론에 유용합니다.
- 데이터 인텔리전스: 조직의 도메인별 데이터 및 API를 참조합니다. 여기에는 고유한 비즈니스 환경을 반영하는 고객 레코드, 제품 정보, 기술 자료 또는 문서가 포함될 수 있습니다.
에이전트 시스템은 이러한 두 가지 관점을 혼합합니다. 즉, LLM의 광범위하고 일반적인 지식으로 시작한 다음, 실시간 또는 도메인별 데이터를 가져와서 자세한 질문에 답하거나 특수한 작업을 수행합니다.
예제 에이전트 시스템
고객과 Gen AI 에이전트 간의 콜 센터 시나리오를 고려합니다.
고객이 요청합니다. "내 마지막 주문을 반환하는 데 도움을 줄 수 있나요?"
- 이유 및 계획: 쿼리의 의도를 고려할 때 에이전트는 "계획": "사용자의 최근 주문을 조회하고 반환 정책을 확인합니다."
- 정보 찾기(데이터 인텔리전스): 에이전트는 주문 데이터베이스를 쿼리하여 관련 주문을 검색하고 정책 문서를 참조합니다.
-
이유: 에이전트는 해당 주문이 반환 창에 맞는지 여부를 확인합니다.
- 선택적 휴먼 인 더 루프: 에이전트는 추가 규칙을 확인합니다. 항목이 특정 범주에 속하거나 일반 반환 창 밖에 있는 경우 인간에게 에스컬레이션합니다.
- 작업: 에이전트는 반환 프로세스를 트리거하고 배송 레이블을 생성합니다.
- 이유: 에이전트가 고객에게 응답을 생성합니다.
AI 에이전트가 고객에게 응답합니다: "완료되었습니다!" 배송 레이블은 다음과 같습니다..."
이러한 단계는 인간 콜 센터 상황에서 익숙한 과정입니다. 에이전트 시스템 컨텍스트에서 LLM은 논리적으로 사고하는 반면, 시스템은 특수 도구나 데이터 소스를 호출하여 세부 정보를 보완합니다.
복잡성 수준: LLM에서 에이전트 시스템으로
AI 시스템을 빌드할 때 여러 수준의 복잡성이 발생할 수 있습니다.
LLM(LLM + 프롬프트)
- 독립 실행형 LLM은 방대한 학습 데이터 세트의 지식을 기반으로 텍스트 프롬프트에 응답합니다.
- 단순 또는 일반 쿼리에 적합하지만 실제 비즈니스 데이터와 연결이 끊어지는 경우가 많습니다.
하드 코딩된 에이전트 시스템("체인")
- 개발자는 결정적이고 미리 정의된 단계를 오케스트레이션합니다. 예를 들어 RAG 애플리케이션은 항상 벡터 저장소에서 검색하고 결과를 사용자 프롬프트와 결합할 수 있습니다.
- 논리가 수정되었으며 LLM은 다음에 호출할 도구를 결정하지 않습니다.
도구 호출 에이전트 시스템
- LLM은 사용할 도구와 런타임에 사용할 시기를 결정합니다.
- 이 방법은 CRM 데이터베이스 또는 Slack 게시 API와 같이 호출할 도구에 대한 동적 컨텍스트 인식 결정을 지원합니다.
다중 에이전트 시스템
- 각각 고유한 함수 또는 도메인을 사용하는 여러 특수 에이전트.
- 코디네이터(때로는 AI 감독자, 때로는 규칙 기반)가 각 단계에서 호출할 에이전트를 결정합니다.
- 에이전트는 전체 대화 흐름을 유지하면서 서로 작업을 전달할 수 있습니다.
LLM 기반 애플리케이션을 빌드할 때 간단하게 시작합니다. 더 나은 유연성 또는 모델 기반 의사 결정을 위해 실제로 필요할 때 더 복잡한 에이전트 동작을 도입합니다. 결정적 체인은 잘 정의된 작업에 대해 예측 가능한 규칙 기반 흐름을 제공하는 반면, 더 많은 에이전트 접근 방식은 복잡성과 잠재적 대기 시간을 희생합니다.
Mosaic AI 에이전트 프레임워크 이러한 패턴과 관련이 없으므로 애플리케이션 요구 사항이 증가함에 따라 간단하게 시작하고 더 높은 수준의 자동화 및 자율성으로 쉽게 진화할 수 있습니다.
에이전트 시스템의 도구
에이전트 시스템의 컨텍스트에서 도구는 LLM이 잘 정의된 작업을 수행하기 위해 호출할 수 단일 상호 작용 함수입니다. AI 모델은 일반적으로 각 도구 호출에 대한 매개 변수를 생성하며 도구는 간단한 입력 출력 상호 작용을 제공합니다. 도구 쪽에는 다중 턴 메모리가 없습니다.
몇 가지 일반적인 도구 범주는 다음과 같습니다.
-
데이터 검색하거나 분석하는 도구
- 벡터 검색 도구: 벡터 인덱스를 쿼리하여 가장 관련성이 큰 텍스트 청크를 찾습니다.
- 구조화된 검색 도구: 델타 테이블을 쿼리하거나 API를 사용하여 구조화된 정보를 검색하십시오.
- 웹 검색 도구: 인터넷 또는 내부 웹 모음을 검색합니다.
- 클래식 ML 모델: ML 모델을 호출하여 scikit-learn 또는 XGBoost 모델과 같은 분류 또는 회귀 예측을 수행하는 도구입니다.
- Gen AI 모델: 코드 또는 이미지 생성과 같은 특수 생성을 수행하고 결과를 반환하는 도구입니다.
- 외부 시스템 상태를 수정하는 도구
- API 호출 도구: CRM 엔드포인트, 내부 서비스 또는 "업데이트 배송 상태"와 같은 작업에 대한 기타 타사 통합
- 코드 실행 도구: 샌드박스에서 사용자가 제공한(또는 경우에 따라 LLM 생성) 코드를 실행합니다.
- Slack 또는 전자 메일 통합: 메시지를 게시하거나 알림을 보냅니다.
-
논리를 실행하거나 특정 작업을 수행하는 도구
- 코드 실행기 도구: Python 스크립트와 같은 샌드박스에서 사용자 제공 또는 LLM 생성 코드를 실행합니다.
Mosaic AI 에이전트 도구에 대한 자세한 내용은 AI 에이전트 도구참조하세요.
도구의 주요 특징
에이전트 시스템의 도구:
- 잘 정의된 단일 작업을 수행합니다.
- 해당 호출을 넘어서는 지속적인 컨텍스트를 유지하지 마세요.
- 에이전트 시스템이 LLM에서 직접 액세스할 수 없는 외부 데이터 또는 서비스에 연결할 수 있도록 허용합니다.
도구 오류 처리 및 안전성
각 도구 호출은 API 호출과 같은 외부 작업이므로 시스템은 시간 제한, 잘못된 형식의 응답 처리 오류 또는 잘못된 입력과 같은 오류를 정상적으로 처리해야 합니다. 프로덕션 환경에서는 허용되는 도구 호출 수를 제한하고, 모든 도구 호출이 실패할 경우 대체 응답을 사용하고, 가드레일을 적용하여 에이전트 시스템이 동일한 실패 작업을 반복적으로 시도하지 않도록 합니다.