부본 AutoGen: 차세대 대규모 언어 모델 애플리케이션 지원 - Unite.AI
Rescale 미팅 예약

인공 지능

AutoGen: 차세대 대규모 언어 모델 애플리케이션 지원

mm

게재

 on

AutoGen 프레임워크

대규모 언어 모델 (LLM)은 현재 주류 AI에서 가장 많이 논의되는 주제 중 하나입니다. 전 세계 개발자들은 LLM의 잠재적인 적용을 모색하고 있습니다. 이러한 모델은 딥 러닝 기술과 방대한 양의 훈련 데이터를 활용하여 텍스트, 오디오, 이미지, 비디오 등을 포함한 광범위한 콘텐츠를 이해, 요약, 예측 및 생성하는 AI 알고리즘입니다.

대규모 언어 모델은 복잡한 AI 알고리즘입니다. 이러한 모델을 개발하는 것은 철저한 작업이며 LLM의 기능을 활용하는 애플리케이션을 구축하는 것도 마찬가지로 어렵습니다. 최상의 결과를 얻기 위해 대규모 언어 모델의 잠재력을 최대한 활용할 수 있는 워크플로를 설계, 구현 및 궁극적으로 최적화하려면 상당한 전문 지식, 노력 및 리소스가 필요합니다. LLM의 강력한 기능을 활용하는 애플리케이션에 대한 워크플로를 구축하는 데 필요한 광범위한 시간과 리소스를 고려할 때 이러한 프로세스를 자동화하는 것은 엄청난 가치를 갖습니다. 개발자가 점점 더 정교하게 작업을 수행하면서 워크플로가 가까운 미래에 더욱 복잡해질 것으로 예상되기 때문에 이는 특히 그렇습니다. LLM 기반 애플리케이션. 또한 이러한 워크플로에 필요한 설계 공간은 복잡하고 광범위하므로 성능 기대치를 충족하는 최적의 강력한 워크플로를 만드는 과제가 더욱 가중됩니다.

자동 생성 워크플로 파이프라인에 자동화를 도입하여 LLM 워크플로의 조정 및 최적화를 단순화하는 것을 목표로 Microsoft 팀에서 개발한 프레임워크입니다. AutoGen 프레임워크는 GPT-3 및 GPT-4와 같은 고급 LLM의 기능을 활용하는 동시에 자동화된 채팅을 사용하여 대화를 시작함으로써 LLM을 도구 및 인간 입력과 통합함으로써 현재의 한계를 해결하는 대화 가능하고 사용자 정의 가능한 에이전트를 제공합니다. 여러 에이전트 사이. 

AutoGen 프레임워크를 사용하면 복잡한 다중 에이전트 대화 시스템을 개발할 때 두 단계만 수행하면 됩니다. 

1 단계 : 각각의 역할과 기능을 갖춘 에이전트 세트를 정의합니다. 

2 단계 : 에이전트 간의 상호 작용 동작을 정의합니다. 즉, 에이전트는 다른 에이전트로부터 메시지를 받을 때 무엇에 응답해야 하는지 알아야 합니다. 

위의 두 단계는 모두 모듈식이며 직관적이므로 이러한 에이전트를 구성 및 재사용 가능하게 만듭니다. 아래 그림은 공급망 최적화에서 코드 기반 질문 답변을 다루는 샘플 워크플로우를 보여줍니다. 보시다시피, 작성자는 먼저 코드와 해석을 작성하고, Safeguard는 코드의 개인 정보 보호 및 안전을 보장하며, 필요한 허가를 받은 후 Commander에 의해 코드가 실행됩니다. 런타임 중에 시스템에 문제가 발생하면 완전히 해결될 때까지 프로세스가 반복됩니다. 아래 프레임워크를 배포하면 공급망 최적화와 같은 애플리케이션에 배포할 때 수동 상호 작용의 양이 3배에서 10배로 줄어듭니다. 또한 AutoGen을 사용하면 코딩 노력도 최대 XNUMX배까지 줄어듭니다. 

AutoGen은 LLM의 기능을 활용하여 복잡한 애플리케이션의 개발 프로세스를 변화시키는 것을 목표로 하므로 게임 체인저가 될 수 있습니다. AutoGen을 사용하면 원하는 결과를 얻는 데 필요한 수동 상호 작용의 양을 줄일 수 있을 뿐만 아니라 복잡한 응용 프로그램을 만드는 데 필요한 코딩 노력도 줄일 수 있습니다. AutoGen을 사용하여 생성 LLM 기반 애플리케이션 프로세스 속도를 크게 높일 수 있을 뿐만 아니라 이러한 복잡한 애플리케이션을 개발하는 데 필요한 시간, 노력 및 리소스를 줄이는 데에도 도움이 됩니다. 

이 기사에서는 AutoGen 프레임워크에 대해 더 자세히 알아보고 AutoGen 프레임워크의 필수 구성 요소 및 아키텍처와 잠재적인 응용 프로그램을 살펴보겠습니다. 그럼 시작해 보겠습니다. 

AutoGen 소개: 차세대 대규모 언어 모델 애플리케이션 지원

AutoGen은 원하는 작업을 성공적으로 실행하기 위해 서로 대화할 수 있는 여러 에이전트를 사용하여 LLM의 기능을 활용하는 응용 프로그램을 만들 수 있는 기능을 개발자에게 제공하는 Microsoft 팀에서 개발한 오픈 소스 프레임워크입니다. AutoGen의 에이전트는 대화 가능하고 사용자 정의가 가능하며 도구, 사람 입력 및 LLM의 조합을 사용하는 다양한 모드에서 작동할 수 있습니다. 또한 개발자는 AutoGen 프레임워크를 사용하여 에이전트의 상호 작용 동작을 정의할 수 있으며, 개발자는 컴퓨터 코드와 자연어를 모두 사용하여 다양한 애플리케이션에 배포된 유연한 대화 패턴을 프로그래밍할 수 있습니다. 오픈 소스 프레임워크인 AutoGen은 개발자가 LLM의 기능을 활용하는 다양한 복잡성의 애플리케이션 및 프레임워크를 구축하는 데 사용할 수 있는 일반적인 프레임워크로 간주될 수 있습니다. 

대규모 언어 모델은 수많은 실제 응용 프로그램에서 새로운 관찰, 도구 사용 및 추론에 적응하기 위해 LLM 프레임워크를 사용하는 에이전트를 개발하는 데 중요한 역할을 합니다. 그러나 LLM의 잠재력을 최대한 활용할 수 있는 이러한 응용 프로그램을 개발하는 것은 복잡한 일이며, 작업 복잡성의 증가와 함께 LLM의 수요와 응용 프로그램이 계속 증가함에 따라 여러 에이전트를 사용하여 이러한 에이전트의 성능을 확장하는 것이 중요합니다. 서로 동기화되어 작동합니다. 하지만 다중 에이전트 접근 방식을 사용하여 다양한 복잡성을 지닌 다양한 도메인에 적용할 수 있는 LLM 기반 애플리케이션을 개발하려면 어떻게 해야 할까요? AutoGen 프레임워크는 다중 에이전트 대화를 사용하여 위 질문에 답하려고 시도합니다. 

AutoGen: 구성요소 및 프레임워크

개발자가 다양한 도메인에서 LLM 기능을 사용하여 복잡한 애플리케이션을 만드는 데 들이는 노력을 줄이기 위한 시도로 AutoGen의 기본 원칙은 다중 에이전트 대화를 활용하여 다중 에이전트 워크플로를 통합하고 간소화하는 것입니다. , 따라서 구현된 에이전트의 재사용성을 극대화합니다. AutoGen은 원하는 작업을 성공적으로 실행하기 위해 서로 대화할 수 있는 여러 에이전트를 사용하며 프레임워크는 두 가지 기본 개념을 기반으로 구축되었습니다. 대화 가능한 에이전트 대화 가능한 프로그래밍. 

대화 가능한 에이전트

AutoGen의 대화 가능한 에이전트는 메시지를 전달하여 다른 대화 가능한 에이전트와 정보를 주고받을 수 있는 사전 정의된 역할을 가진 엔터티입니다. 대화 가능한 에이전트는 수신 또는 전송된 메시지를 기반으로 내부 컨텍스트를 유지하며 개발자는 LLM 도구를 사용하거나 사람의 입력을 받는 것과 같은 고유한 기능 세트를 갖도록 이러한 에이전트를 구성할 수 있습니다. 

인력, 도구, LLM이 제공하는 에이전트 기능 

에이전트의 기능은 메시지를 처리하고 응답하는 방법과 직접적인 관련이 있으며, 이는 AutoGen 프레임워크의 에이전트가 개발자에게 에이전트에 다양한 기능을 부여할 수 있는 유연성을 허용하는 주된 이유입니다. AutoGen은 다음을 포함하는 에이전트에 대한 다양한 공통 구성 가능 기능을 지원합니다.

  1. LLM: LLM이 지원하는 에이전트는 암시적 상태 간섭, 역할극, 피드백 제공, 심지어 코딩과 같은 고급 LLM 프레임워크의 기능을 활용합니다. 개발자는 에이전트의 자율성 또는 기술을 향상시키기 위해 새로운 프롬프트 기술을 사용하여 이러한 기능을 결합할 수 있습니다. 
  2. 인간 : 여러 응용 프로그램은 어느 정도 인간의 개입을 원하거나 필요로 하며, AutoGen 프레임워크를 사용하면 LLM 기반 응용 프로그램을 통해 특정 대화 라운드 동안 인간의 입력을 요청할 수 있는 인간 지원 에이전트를 사용하여 에이전트 대화에 인간의 참여를 촉진할 수 있습니다. 에이전트 구성. 
  3. 도구 : 도구 지원 에이전트에는 일반적으로 코드 실행이나 함수 실행을 사용하여 도구를 실행할 수 있는 기능이 있습니다.

에이전트 협력 및 맞춤화

애플리케이션의 특정 요구 사항 및 요구 사항에 따라 개발자는 다중 에이전트 대화와 관련된 복잡한 동작을 표시하기 위해 필수 백엔드 유형의 조합을 갖도록 개별 에이전트를 구성할 수 있습니다. AutoGen 프레임워크를 사용하면 개발자는 내장된 에이전트를 확장하거나 재사용하여 전문적인 역할과 기능을 가진 에이전트를 쉽게 만들 수 있습니다. 아래 첨부된 그림은 AutoGen 프레임워크에 내장된 에이전트의 기본 구조를 보여줍니다. ConversableAgent 클래스는 최고 수준의 에이전트 추상화이므로 기본적으로 사람, 도구 및 LLM을 사용할 수 있습니다. UserProxyAgent 및 AssistantAgent는 사전 구성된 ConversableAgent 클래스이며, 이들 각각은 공통 사용 모드를 나타냅니다. 즉, 이 두 에이전트는 각각 AI 보조자(LLM의 지원을 받는 경우) 역할을 하며 사람의 입력을 요청하거나 함수 호출을 실행합니다. 또는 인간 대리자 역할을 하는 코드(도구 및/또는 인간의 지원을 받는 경우). 

아래 그림은 개발자가 AutoGen 프레임워크를 사용하여 사용자 정의 응답 기능이 있는 XNUMX-에이전트 시스템을 개발하는 방법과 프로그램 실행 중에 XNUMX-에이전트 시스템을 사용하는 자동 에이전트 채팅 결과를 보여줍니다. 

서로 대화할 수 있는 사용자 지정 에이전트의 사용을 허용함으로써 이러한 대화 가능한 에이전트는 AutoGen 프레임워크의 기본 구성 요소 역할을 합니다. 그러나 개발자는 이러한 에이전트가 지정된 작업에서 상당한 진전을 이룰 수 있는 애플리케이션을 개발하기 위해 이러한 다중 에이전트 대화를 지정하고 구성해야 합니다. 

대화 프로그래밍

위에 언급된 문제를 해결하기 위해 AutoGen 프레임워크는 두 가지 필수 개념을 기반으로 구축된 컴퓨팅 패러다임인 대화 프로그래밍을 사용합니다. 계산, 다중 에이전트 대화에서 에이전트가 응답을 계산하기 위해 수행한 작업 제어 흐름, 이러한 계산이 수행되는 조건 또는 순서입니다. 이를 프로그래밍하는 기능을 통해 개발자는 다양하고 유연한 다중 에이전트 대화 패턴을 구현할 수 있습니다. 게다가 AutoGen 프레임워크에서는 계산이 대화 중심으로 이루어집니다. 에이전트가 수행한 작업은 에이전트가 포함된 대화와 관련되며 에이전트가 수행한 작업으로 인해 종료 조건이 충족될 때까지 후속 대화에 대한 메시지가 전달됩니다. 또한 AutoGen 프레임워크의 제어 흐름은 에이전트가 계산 절차와 메시지를 보낼 것인지에 대한 참여 에이전트의 결정이므로 대화에 의해 주도됩니다. 

위 그림은 개별 에이전트가 역할별 작업과 대화 중심 계산을 수행하여 코드 실행 및 LLM 간섭 호출과 같은 원하는 응답을 생성하는 방법을 간단하게 보여줍니다. 대화 상자에 표시되는 대화를 통해 작업이 진행됩니다. 

대화 프로그래밍을 용이하게 하기 위해 AutoGen 프레임워크는 다음과 같은 디자인 패턴을 제공합니다. 

  • 자동 에이전트 채팅을 위한 자동 응답 메커니즘 및 통합 인터페이스

AutoGen 프레임워크에는 대화 중심의 해당 계산을 수행하기 위한 통합 인터페이스가 있습니다. "수신 또는 송신 기능" "와 함께 메시지를 받거나 보내려면생성_응답” 수신된 메시지를 기반으로 응답을 생성하고 필요한 조치를 취하는 기능입니다. AutoGen 프레임워크는 또한 상담원 자동 회신 기본적으로 대화 기반 제어를 실현하는 메커니즘입니다. 

  • 자연어와 프로그래밍의 융합을 통한 제어

AutoGen 프레임워크는 다음을 포함하는 다양한 제어 흐름 관리 패턴에서 자연어 및 프로그래밍의 사용을 촉진합니다. LLM을 사용한 자연어 제어프로그래밍 언어 제어프로그래밍과 자연어 간의 전환 제어

일반적으로 사전 정의된 흐름과 함께 제공되는 정적 대화 외에도 AutoGen 프레임워크는 여러 에이전트를 사용하는 동적 대화 흐름도 지원하며 프레임워크는 개발자에게 이를 달성하기 위한 두 가지 옵션을 제공합니다.

  1. 함수 호출을 사용합니다. 
  2. 맞춤형 생성-응답 기능을 사용합니다. 

AutoGen의 응용

복잡한 다중 에이전트 애플리케이션 개발에서 AutoGen 프레임워크의 잠재력을 설명하기 위해 현실 세계와의 관련성을 기준으로 선택된 AutoGen의 XNUMX가지 잠재적 애플리케이션, AutoGen 프레임워크로 강화된 문제 해결 기능, 그리고 그들의 혁신적인 잠재력. 

AutoGen 프레임워크의 XNUMX가지 애플리케이션은 다음과 같습니다.

  1. 수학 문제 해결. 
  2. 증강 채팅을 검색합니다. 
  3. ALF 채팅. 
  4. 다중 에이전트 코딩. 
  5. 동적 그룹 채팅. 
  6. 대화형 체스. 

AutoGen 프레임워크의 응용

응용 1 : 수학 문제 해결

수학은 LLM 모델을 활용하여 AI 연구 지원 및 맞춤형 AI 개인교습을 포함하여 완전히 새로운 잠재적 응용 분야를 열어주는 복잡한 수학적 문제를 해결하는 데 도움을 주는 기본 학문 중 하나입니다. 

위에 첨부된 그림은 수학적 문제 해결에 있어 경쟁력 있는 성능을 달성하기 위해 AutoGen 프레임워크를 적용한 것을 보여줍니다. 

응용 프로그램 2: 질문 응답 및 검색 증강 코드 생성

최근 몇 달 동안 검색 증강 코드 생성은 외부 문서 통합 시 LLM의 한계를 극복하기 위한 효과적이고 실용적인 접근 방식으로 등장했습니다. 아래 그림은 효과적인 검색 확대 및 Q&A 작업 성능 향상을 위해 AutoGen 프레임워크를 적용하는 방법을 보여줍니다. 

응용 3: 텍스트 세계 환경에서의 의사결정

AutoGen 프레임워크를 사용하여 온라인 또는 대화형 의사 결정에 사용되는 애플리케이션을 만들 수 있습니다. 아래 그림은 개발자가 AutoGen 프레임워크를 사용하여 접지 에이전트가 포함된 XNUMX 에이전트 대화 시스템을 설계하여 성능을 크게 향상시킬 수 있는 방법을 보여줍니다. 

애플리케이션 4: 다중 에이전트 코딩

AutoGen 프레임워크에서 작업하는 개발자는 OptiGuide 프레임워크를 사용하여 코드를 작성하여 최적화된 솔루션을 구현하고 사용자 질문에 답할 수 있는 다중 에이전트 코딩 시스템을 구축할 수 있습니다. 아래 그림은 다중 에이전트 설계를 생성하기 위해 AutoGen 프레임워크를 사용하면 특히 보호가 필요한 코딩 작업을 수행할 때 전반적인 성능을 크게 향상시키는 데 도움이 된다는 것을 보여줍니다. 

애플리케이션 5: 동적 그룹 채팅

AutoGen 프레임워크는 참여하는 여러 에이전트가 컨텍스트를 공유하고 사전 정의된 순서를 따르는 대신 동적 방식으로 서로 대화하는 동적 그룹 채팅을 중심으로 회전하는 통신 패턴에 대한 지원을 제공합니다. 이러한 동적 그룹 채팅은 지속적인 대화를 통해 상담원 내 상호 작용 흐름을 안내합니다. 

위 그림은 AutoGen 프레임워크가 ''를 활용하여 에이전트 간의 동적 그룹 채팅을 지원하는 방법을 보여줍니다.그룹채팅관리자”, 특수요원. 

응용 프로그램 6: 대화형 체스

AutoGen 프레임워크의 개발자는 이를 사용하여 LLM 또는 인간일 수 있는 플레이어를 위한 내장 에이전트를 특징으로 하는 자연 간섭 게임인 대화형 체스 애플리케이션을 개발했으며 관련성을 제공하는 타사 에이전트도 있습니다. 정보를 제공하고 미리 정의된 표준 규칙 세트를 기반으로 보드의 움직임을 검증합니다. 아래 첨부된 그림은 플레이어가 농담, 캐릭터 플레이 또는 심지어 밈 참조를 사용하여 자신의 움직임을 창의적으로 표현할 수 있도록 하는 AutoGen 프레임워크를 사용하여 구축된 자연 간섭 게임인 대화형 체스를 보여줍니다. 이는 플레이어뿐만 아니라 체스 게임을 더욱 흥미롭게 만듭니다. , 청중과 관찰자를 위한 것이기도 합니다. 

결론

이 기사에서는 워크플로 파이프라인에 자동화를 도입하여 LLM 워크플로의 오케스트레이션 및 최적화를 단순화하는 것을 목표로 하는 대화 프로그래밍 및 대화 가능 에이전트의 개념을 사용하는 오픈 소스 프레임워크인 AutoGen에 대해 설명했습니다. AutoGen 프레임워크는 GPT-3 및 GPT-4와 같은 고급 LLM의 기능을 활용하는 동시에 자동화된 채팅을 사용하여 대화를 시작함으로써 LLM을 도구 및 인간 입력과 통합함으로써 현재의 한계를 해결하는 대화 가능하고 사용자 정의 가능한 에이전트를 제공합니다. 여러 에이전트 사이. 

AutoGen 프레임워크는 아직 초기 실험 단계에 있지만 해당 분야에서 향후 탐색 및 연구 기회를 위한 길을 열어 주며 AutoGen은 이를 활용하여 애플리케이션 개발의 속도, 기능 및 용이성을 향상시키는 데 도움이 되는 도구일 수 있습니다. LLM의 기능. 

"직업은 엔지니어, 마음은 작가". Kunal은 AI와 ML에 대한 깊은 애정과 이해를 가진 기술 작가로, 매력적이고 유익한 문서를 통해 이 분야의 복잡한 개념을 단순화하는 데 전념하고 있습니다.