AutoGen FULL Tutorial with Python (Step-By-Step) 🤯 Build AI Agent Teams!
https://www.youtube.com/watch?v=V2qZ_lgxTzg
🤖 오토젠(AutoGen)의 개요와 강력한 기능
오토젠은 여러 개의 인공지능 에이전트가 서로 협력하여 복잡한 작업을 수행할 수 있도록 설계된 혁신적인 프레임워크입니다. 각 에이전트는 도구를 사용하거나 코드를 작성하고 직접 실행할 수 있는 능력을 갖추고 있습니다. 이는 마치 챗GPT의 코드 인터프리터와 플러그인 기능을 사용자가 원하는 대로 커스텀하여 자신의 애플리케이션에 통합할 수 있는 것과 같습니다. 에이전트 팀을 구성함으로써 사용자가 부여한 어떠한 임무도 자율적으로 해결할 수 있는 환경을 제공합니다.
💻 개발 환경 구축 및 초기 설정
실습을 위해 Visual Studio Code와 아나콘다(Anaconda)를 활용한 파이썬 환경 구축이 필요합니다. 먼저 conda create 명령어를 통해 파이썬 3.11.4 버전의 전용 가상 환경을 생성하고 활성화합니다. 이후 pip install pyautogen 명령어로 오토젠 라이브러리를 설치합니다. 개발의 핵심이 되는 app.py 파일에서는 OpenAI의 API 키를 설정하고, 사용할 모델(GPT-3.5 Turbo 또는 GPT-4)을 지정하는 설정 리스트를 작성하는 것으로 시작합니다.
⚙️ LLM 구성 및 효율적인 캐싱 메커니즘
LLM 설정 단계에서는 응답 지연 시 요청을 중단하는 request_timeout과 창의성 수준을 조절하는 temperature 등을 설정합니다. 특히 seed 값을 활용한 캐싱 기능은 오토젠의 큰 장점 중 하나입니다. 동일한 프롬프트와 시드 번호를 사용할 경우 이전 응답을 캐시에서 불러오기 때문에, API 호출 비용을 절감하고 실행 속도를 획기적으로 높일 수 있습니다. 코딩 작업의 경우 정확성을 위해 temperature를 0으로 설정하여 일관된 결과를 도출하는 것이 권장됩니다.
👥 에이전트 정의와 역할 분담
시스템은 크게 '어시스턴트 에이전트(Assistant Agent)'와 '사용자 프록시 에이전트(User Proxy Agent)'로 구성됩니다. 어시스턴트는 실제 문제를 해결하고 코드를 작성하는 역할을 하며, 사용자 프록시는 사용자를 대신해 코드를 실행하거나 어시스턴트에게 피드백을 전달합니다. 필요에 따라 CEO, CTO와 같은 역할을 부여한 여러 명의 어시스턴트를 생성하여 팀을 구성할 수도 있습니다. 이때 각 에이전트에게 명확한 '시스템 메시지'를 전달하여 각자의 역할을 정의하는 것이 중요합니다.
🛠️ 실행 제어 및 워킹 디렉토리 설정
사용자 프록시 설정 시 human_input_mode를 통해 인간의 개입 정도를 결정할 수 있습니다. 'ALWAYS'는 매 단계 승인을 받고, 'TERMINATE'는 작업 종료 시에만 의견을 묻고, 'NEVER'는 전 과정을 자율적으로 진행합니다. 또한 code_execution_config에서 work_dir을 설정하면, 에이전트가 생성한 모든 코드 파일과 결과물이 지정된 폴더(예: web) 내에 체계적으로 저장되어 로컬 환경에서의 작업 관리가 용이해집니다.
🚀 실전 테스트 및 프롬프트 최적화
실제 작업 수행 시, 복잡한 요약 작업 등에서는 GPT-3.5보다 GPT-4 모델이 훨씬 뛰어난 논리력을 보여줍니다. 예제에서는 1부터 100까지 숫자를 출력하는 코드를 작성하고 파일로 저장하는 임무를 부여했으며, 에이전트는 스스로 코드를 작성하고 로컬 환경에서 실행하여 결과를 만들어냈습니다. 작업이 의도와 다를 경우 프록시 에이전트를 통해 피드백을 주어 코드를 수정하게 하거나, 두 번째 태스크를 연속적으로 실행하여 기존 코드를 업데이트하는 등 유연한 작업 확장이 가능합니다.
🤖 차세대 멀티 에이전트 협업 프레임워크, 오토젠
오토젠은 여러 개의 자율적인 AI 에이전트를 생성하고 이들이 서로 협력하여 복잡한 과업을 완수하도록 돕는 강력한 프레임워크입니다. 기존의 단일 AI 모델 사용 방식과 달리, 코딩·기획·검토 등 각기 다른 역할을 가진 에이전트들이 반복적인 루프를 통해 결과물을 다듬기 때문에 출력물의 품질이 비약적으로 향상됩니다. 특히 이 시스템은 기존 OpenAI API 환경에 바로 적용할 수 있는 드롭인(Drop-in) 교체 기능을 지원하며, GPT-4와 같은 고급 모델뿐만 아니라 API가 있는 모든 대규모 언어 모델(LLM)과 통합하여 워크플로우를 자동화할 수 있는 유연성을 갖추고 있습니다.
👥 핵심 에이전트 구성: 사용자 프록시와 어시스턴트
시스템의 기본 구조는 '사용자 프록시 에이전트(User Proxy Agent)'와 '어시스턴트 에이전트(Assistant Agent)'의 상호작용으로 이루어집니다. 사용자 프록시는 실제 인간 사용자를 대행하여 에이전트가 작성한 코드를 로컬 환경에서 직접 실행하거나, 중요한 의사결정 단계에서 인간의 개입을 요청하는 역할을 수행합니다. 반면 어시스턴트는 챗GPT와 유사하게 실제 문제 해결을 위한 로직이나 코드를 작성하는 역할을 맡습니다. 이 두 에이전트가 자동화된 채팅을 주고받음으로써 사용자가 직접 코드를 복사하여 실행할 필요 없이 전체 작업 과정이 자율적으로 진행됩니다.
🛠️ 개발 환경 설정 및 라이브러리 구축
오토젠을 사용하기 위해서는 먼저 pip install pyautogen 명령어를 통해 전용 라이브러리를 설치해야 합니다. 이후 OpenAI API 키를 포함한 구성 리스트(config_list)를 설정하여 사용할 모델을 지정합니다. 실습 과정에서는 구글 코랩(Google Colab) 환경을 활용하며, seed 값을 설정하여 동일한 프롬프트에 대한 응답을 캐싱함으로써 API 호출 비용을 절감하고 실행 속도를 최적화할 수 있습니다. 또한 temperature 설정을 통해 에이전트의 응답 창의성 수위를 작업의 성격에 맞게 조절할 수 있습니다.
📈 실전 작업 수행: 주가 분석 및 시각화 자동화
실제 실습에서는 메타(Meta)와 테슬라(Tesla)의 연초 대비 주가 수익률을 비교하고 차트를 그리는 임무가 부여되었습니다. 어시스턴트 에이전트는 필요한 파이썬 라이브러리(yfinance 등)를 파악하고 코드를 작성했으며, 사용자 프록시 에이전트는 실행 중 발생한 변수 미정의 오류를 스스로 발견하여 어시스턴트에게 전달했습니다. 어시스턴트는 즉시 코드를 수정하여 재전달했고, 최종적으로 주가 변동 차트 파일(.png)을 성공적으로 생성해 내며 멀티 에이전트 시스템의 자가 수정 및 완수 능력을 입증했습니다.
📚 에이전트 교육 및 반복 가능한 레시피 생성
오토젠은 단순한 일회성 작업 수행을 넘어, AI 에이전트에게 새로운 기술을 가르치고 이를 '레시피'로 저장하여 재사용하는 기능을 제공합니다. 논문 검색 사이트인 ArXiv에서 특정 주제의 논문을 찾아 카테고리별로 분류하고 막대그래프를 그리는 복잡한 과정을 수행한 뒤, 이 과정을 일반화된 파이썬 함수 형태의 레시피로 정리하도록 명령할 수 있습니다. 이를 통해 사용자는 프로그래밍 지식이 부족하더라도 자연어 대화만으로 AI에게 복잡한 워크플로우를 학습시키고 향후 동일한 작업을 효율적으로 반복 수행할 수 있는 자산을 구축할 수 있습니다.
🚀 오픈소스 모델 활용의 접근성과 핵심 과제
오토젠을 오픈소스 모델과 연동하는 과정은 매우 간단하며, 단 몇 분 만에 원하는 모델을 실행할 수 있습니다. 가장 중요한 단계는 특정 사용 사례에 적합한 모델을 선택하고, 에이전트가 의도대로 동작하도록 프롬프트 템플릿을 세밀하게 조정하는 것입니다. 이를 통해 고가의 유료 API에 의존하지 않고도 로컬 환경에서 완전히 자유롭고 독립적인 AI 에이전트 팀을 운영할 수 있는 기반이 마련됩니다.
💻 LM 스튜디오를 통한 로컬 서버 구축
오픈소스 모델 구동을 위한 핵심 도구는 'LM 스튜디오(LM Studio)'입니다. 이 프로그램은 윈도우와 맥 환경에서 허깅페이스(Hugging Face)에 호스트된 다양한 모델을 손쉽게 검색하고 다운로드할 수 있는 인터페이스를 제공합니다. 예를 들어 'Mistral 7B'와 같은 최신 모델의 양자화 버전을 선택하여 내려받은 후, 내장된 '로컬 서버' 기능을 활성화하면 즉시 외부 애플리케이션과 통신할 수 있는 API 서버가 실행됩니다.
🛠️ 오토젠과 로컬 API의 간편한 연결
LM 스튜디오는 OpenAI의 API와 동일한 규격을 노출하므로, 오토젠 설정 파일에서 복잡한 코드 변경 없이도 연결이 가능합니다. config_list 설정에서 base_url을 로컬 호스트 주소(예: http://localhost:1234/v1)로 지정하고 API 키 값은 비워두는 것만으로 모든 준비가 완료됩니다. 이러한 방식은 기존의 OpenAI 기반 코드를 유지하면서도 모델의 출처만 로컬 서버로 변경할 수 있게 하여 개발 효율성을 극대화합니다.
🧪 실전 테스트 및 추론 과정 모니터링
설정이 완료된 후 오토젠 에이전트에게 파이썬 코드 작성 등의 임무를 부여하면, LM 스튜디오 서버를 통해 실시간 추론이 시작됩니다. 사용자는 LM 스튜디오의 로그 화면에서 에이전트 간의 대화와 추론 과정을 실시간으로 모니터링할 수 있습니다. 테스트 결과, 로컬 모델이 작업을 수행하고 코드를 출력하는 전 과정이 원활하게 진행됨을 확인할 수 있으며, 이는 완전한 오프라인 상태에서도 강력한 AI 기능을 활용할 수 있음을 시사합니다.
📈 최적화를 위한 향후 과제
오픈소스 모델을 활용한 오토젠 운영에서 남은 과제는 GPT-4 수준의 성능을 확보하는 것입니다. 현재 단계에서는 모델에 따라 작업 종료 시점을 정확히 판단하지 못하는 등 일부 불안정한 모습이 관찰될 수 있습니다. 이를 해결하기 위해서는 각 오픈소스 모델의 특성에 맞는 프롬프트 템플릿 최적화 연구가 필요하며, 적절한 모델 선택과 튜닝을 통해 상용 모델에 근접한 성능을 구현하는 것이 최종적인 목표입니다.
🌐 클라우드 기반 오픈소스 LLM 호스팅 환경 구축
RunPod의 'Secure Cloud' 서비스를 활용하여 고성능 GPU 자원을 확보함으로써 대규모 오픈소스 모델을 원활하게 구동할 수 있습니다. 설정 과정에서 RTX A6000과 같은 강력한 GPU를 선택하고, 'Text Generation WebUI' 템플릿을 배포합니다. 특히 네트워크 설정 시 포트 50001번을 반드시 개방해야 하는데, 이는 오픈소스 모델을 OpenAI의 API 규격과 동일하게 노출시켜 오토젠이 모델을 원활하게 인식하고 호출할 수 있도록 만드는 핵심적인 단계입니다.
📥 고성능 오픈소스 모델 선택 및 배포
실습에는 성능이 검증된 'Dolphin 2.1 Mistral 7B' 모델이 사용되었습니다. 이 모델은 크기 대비 효율이 매우 뛰어나며, 검열되지 않은(Uncensored) 특성을 가지고 있어 다양한 작업에 유연하게 대응합니다. Text Generation WebUI의 'Model' 탭에서 해당 모델의 식별자를 입력해 다운로드한 뒤, 'Transformers' 로더를 사용하여 메모리에 로드합니다. 사용자의 필요에 따라 코드 작성 능력이 뛰어난 'Code Llama'나 초대형 모델인 'Falcon 180B' 등 어떠한 오픈소스 모델도 동일한 방식으로 적용이 가능합니다.
🔌 OpenAI API 호환 확장 기능 활성화
다운로드한 모델을 오토젠에서 사용하기 위해서는 API 서비스 활성화가 필수적입니다. Text Generation WebUI의 'Session' 탭에서 'openai' 체크박스를 선택하고 설정을 적용한 뒤 세션을 재시작하면, 로컬 서버가 OpenAI API와 동일한 인터페이스를 제공하게 됩니다. 이 과정을 거치면 오토젠은 내부적으로는 오픈소스 모델을 사용하면서도 외부적으로는 마치 OpenAI의 유료 API를 사용하는 것과 동일하게 작동하여 기존 코드를 그대로 활용할 수 있습니다.
🛠️ 오토젠 애플리케이션 연결 및 실전 테스트
Visual Studio Code 환경에서 오토젠의 config_list를 수정하여 RunPod 서버와 연결합니다. API 베이스 주소에 RunPod에서 할당받은 URL과 포트 번호 50001을 입력하고 뒤에 /v1 경로를 추가합니다. 실제 테스트를 통해 '1부터 100까지 숫자를 출력하는 파이썬 코드 작성' 임무를 부여한 결과, 모델이 코드를 생성하고 사용자 프록시 에이전트가 이를 성공적으로 실행하여 결과를 도출하는 것을 확인할 수 있습니다. 이는 유료 API 없이도 클라우드 혹은 로컬 서버만으로 완전한 자율 에이전트 시스템 운용이 가능함을 보여줍니다.
📈 향후 과제 및 실무 적용 가능성
단순한 예제를 넘어 실무적인 가치를 창출하기 위한 고급 튜토리얼과 실생활 활용 사례 수집이 지속적으로 이루어지고 있습니다. 현재는 에이전트가 작업 종료 시점을 정확히 판단하지 못하는 등의 미세한 설정 문제가 존재할 수 있으나, 이는 사용자 프록시의 종료 조건을 세밀하게 조정함으로써 해결 가능합니다. 앞으로 더 큰 규모의 코드 전용 모델을 통합하고 복잡한 워크플로우를 설계함으로써 오픈소스 기반 오토젠 시스템의 실용성을 더욱 높일 수 있습니다.
⚙️ LLM 구성 및 유연한 모델 체이닝 (LLM Config)
오토젠의 모든 에이전트는 llm_config를 통해 동작 방식이 결정되며, 이는 단순한 모델 지정을 넘어 정교한 제어를 가능하게 합니다. 가장 핵심인 config_list는 여러 모델을 데이지 체인(Daisy Chain) 형태로 연결하여, 상위 모델(예: GPT-4)이 오류를 일으킬 경우 하위 모델(예: 오픈소스 모델 또는 GPT-3.5)로 자동 전환되는 안정성을 제공합니다. 또한 프롬프트 템플릿 기능을 활용하면 동일한 명령어를 반복 작성하지 않고도 변수를 삽입해 에이전트별로 최적화된 지시를 내릴 수 있으며, use_cache 설정을 통해 테스트 단계에서 실시간 응답 확인 여부를 선택할 수 있습니다. 특히 API 호출 시 발생하는 속도 제한(Rate Limit) 문제에 대응하기 위해 에러 발생 시 즉각 중단하거나 특정 값을 반환하도록 하는 로직을 포함하고 있어, 대규모 작업 시 발생할 수 있는 변수를 효과적으로 관리합니다.
💰 비용 절감과 속도 최적화를 위한 캐싱 메커니즘
캐싱(Caching) 기능은 오토젠의 경제성과 효율성을 뒷받침하는 강력한 도구입니다. seed 파라미터를 사용하면 특정 작업의 응답을 로컬 데이터베이스에 저장하며, 동일한 시드 번호와 프롬프트를 사용할 경우 실제 API를 호출하지 않고 저장된 데이터를 즉시 반환합니다. 이는 유료 API 사용 시 비용을 획기적으로 절감할 뿐만 아니라, 오픈소스 모델 사용 시에도 불필요한 추론 시간을 줄여 전체 워크플로우를 가속화합니다. 사용자는 캐시 폴더를 직접 삭제하거나 시드 번호를 변경하는 것만으로 손쉽게 캐시를 갱신하고 새로운 테스트 환경을 구축할 수 있습니다.
🚀 향상된 추론 및 API 통합 (Enhanced Inference)
오토젠은 단순히 멀티 에이전트 프레임워크를 넘어, 기존 OpenAI API를 대체할 수 있는 '향상된 추론' 레이어를 제공합니다. 이를 통해 개발자는 코드 변경 없이도 성능 튜닝, API 통합, 결과 필터링 등의 고급 기능을 즉시 활용할 수 있습니다. 특히 하이퍼파라미터 최적화 기능은 설정된 예산 범위 내에서 최적의 결과를 도출할 수 있도록 모델, 프롬프트, 토큰 수 등을 자동으로 조정합니다. 또한 템플릿 기능을 통해 모든 응답에 "단계별로 설명하라"는 식의 특정 형식을 강제함으로써 일관된 고품질의 응답을 얻을 수 있으며, 실험적인 로깅 기능을 통해 모든 API 호출 이력을 상세히 디버깅할 수 있습니다.
📚 정보 검색 증강 에이전트 (RAG Agents)
외부 데이터 소스로부터 정보를 추출해 지식을 확장하는 RAG(Retrieval Augmented Generation) 기능은 에이전트의 지능을 한 단계 높여줍니다. RetrieveAssistantAgent와 RetrieveUserProxyAgent는 PDF나 텍스트 파일 같은 외부 문서를 자동으로 임베딩하고 벡터 데이터베이스에 저장하여, 모델이 학습하지 않은 최신 정보나 특정 분야의 전문 지식을 답변에 활용할 수 있게 합니다. 기본적으로 Sentence Transformers와 ChromaDB를 사용하지만, 사용자의 필요에 따라 OpenAI 임베딩, Hugging Face 모델, 혹은 Pinecone이나 Qdrant 같은 외부 벡터 데이터베이스로 자유롭게 커스터마이징하여 복잡한 지식 기반 시스템을 구축할 수 있습니다.
🧠 장기 기억을 보유한 티처블 에이전트 (Teachable Agents)
최근 추가된 '티처블 에이전트(Teachable Agent)'는 대화가 종료된 후에도 학습한 내용을 기억하는 장기 기억 능력을 갖추고 있습니다. 기존 에이전트들이 단일 세션 내에서만 정보를 유지하는 것과 달리, 티처블 에이전트는 사용자가 알려준 사실이나 선호도를 별도의 데이터베이스에 영구적으로 저장합니다. 이를 통해 다음 대화에서도 이전의 학습 내용을 바탕으로 답변하며, 사용자가 모델을 매번 새로 교육할 필요 없이 시간이 지날수록 사용자에게 최적화된 맞춤형 파트너로 진화하게 됩니다.
🧠 멤GPT 통합을 통한 자율 에이전트의 지능 강화
멤GPT는 기존 거대 언어 모델(LLM)의 제한된 컨텍스트 창 문제를 해결하여, 오토젠 에이전트가 과거의 대화 내용이나 중요한 정보를 무제한으로 기억하고 활용할 수 있게 합니다. 이 기술은 아직 초기 단계에 있어 일부 마찰이 존재할 수 있으나, 성숙해질수록 에이전트의 자율성과 업무 연속성을 비약적으로 높여주는 핵심 기술이 될 것입니다. 멤GPT 라이브러리(pymemgpt)와 오토젠 라이브러리(pyautogen)를 함께 설치함으로써, 사용자는 장기 기억을 보유한 고도화된 AI 팀을 구축할 수 있습니다.
💻 개발 환경 구축 및 라이브러리 설치
안정적인 구현을 위해 파이썬 3.11 버전의 콘다(Conda) 가상 환경을 생성하고 활성화하는 과정이 필요합니다. 모듈 관리의 복잡성을 피하기 위해 가상 환경 내의 파이썬 경로를 직접 지정하여 pip install을 실행함으로써, 라이브러리가 올바른 디렉토리에 설치되도록 보장합니다. 이 과정에서 멤GPT와 오토젠 관련 패키지가 모두 설치되면 비주얼 스튜디오 코드(VS Code) 등의 개발 도구에서 모듈 참조 오류 없이 코드를 작성할 수 있는 상태가 됩니다.
🛠️ 메모리 관리 및 인터페이스 객체 설정
멤GPT 에이전트를 오토젠에 연결하기 위해서는 두 시스템 간의 가교 역할을 하는 특수 객체들이 필요합니다. '인터페이스(Interface)' 객체는 멤GPT의 내부 사고 과정이나 대화 내용을 터미널에 출력하는 통로 역할을 하며, '퍼시스턴스 매니저(Persistence Manager)'는 메모리에 저장해야 할 모든 데이터를 영구적으로 보관하는 기능을 수행합니다. 이를 통해 에이전트는 단순히 텍스트를 생성하는 것에 그치지 않고, 정보를 저장하고 나중에 다시 불러오는 복잡한 메모리 연산을 수행할 수 있게 됩니다.
👥 맞춤형 페르소나 및 에이전트 정의
에이전트의 행동 방침을 결정하는 '페르소나(Persona)'와 시스템 메시지를 정의하여 멤GPT 에이전트에게 구체적인 역할을 부여합니다. 예를 들어 '빅테크 기업의 팀 매니저'와 같은 역할을 설정하고 이를 멤GPT의 프리셋 설정에 삽입하면, 해당 지침을 장기적으로 기억하는 '멤GPT 코더(MemGPT Coder)' 에이전트가 생성됩니다. 이렇게 생성된 메모리 특화 에이전트는 일반적인 오토젠의 '어시스턴트 에이전트(Assistant Agent)'와 함께 팀을 이루어 협업할 수 있습니다.
🧪 실전 구동 및 내부 사고 과정 모니터링
설정된 에이전트 팀을 구동하면 멤GPT 에이전트만의 독특한 '내부 대화(Internal Dialogue)' 과정을 실시간으로 확인할 수 있습니다. 일반적인 에이전트가 결과물만 출력하는 것과 달리, 멤GPT 에이전트는 스스로 판단하고 메모리를 조작하는 사고 단계를 보여줍니다. 실습 결과, 멤GPT 기반의 코더와 일반적인 제품 매니저(PM) 에이전트가 서로 피드백을 주고받으며 협업하는 과정이 성공적으로 수행되었으며, 이는 오픈소스 모델이나 더 복잡한 팀 구성으로 확장될 수 있는 가능성을 보여줍니다.
🏠 완전 로컬 환경의 멀티 모델 에이전트 구축
오토젠을 올라마와 결합하면 외부 API 의존 없이 모든 프로세스를 로컬 컴퓨터에서 구동할 수 있습니다. 특히 각 에이전트의 역할에 최적화된 서로 다른 모델을 동시에 사용하는 '수직적 모델 할당'이 가능해집니다. 예를 들어, 메인 오케스트레이션에는 범용성이 높은 'Mistral'을, 코드 작성에는 'Code Llama'를 할당하여 에이전트 팀의 효율성을 극대화할 수 있습니다. 이러한 환경은 개인용 노트북 수준의 사양에서도 올라마의 효율적인 메모리 스왑 기능을 통해 충분히 구현 가능합니다.
🛠️ 올라마를 활용한 모델 관리 및 서버 실행
올라마는 터미널 기반으로 작동하며 ollama run [모델명] 명령어를 통해 원하는 오픈소스 모델을 간편하게 다운로드하고 실행할 수 있습니다. 실습에서는 일반 대화용 'Mistral'과 코딩 특화용 'Code Llama' 두 가지를 준비했습니다. 다운로드된 모델들은 동시에 메모리에 상주하거나 필요에 따라 빠르게 교체되며, 라이트LLM(LiteLLM)이라는 래퍼(Wrapper) 도구를 통해 OpenAI API와 동일한 규격의 로컬 API 엔드포인트로 노출됩니다. 이를 통해 각 모델은 서로 다른 포트(예: 8000번, 8001번)에서 독립적인 서버로 작동하게 됩니다.
🔌 라이트LLM을 통한 API 엔드포인트 가상화
라이트LLM은 올라마에서 구동되는 로컬 모델을 오토젠이 인식할 수 있는 표준 API 형식으로 변환해 주는 가교 역할을 합니다. lightllm --model ollama/[모델명] 명령을 실행하면 해당 모델에 대한 로컬 호스트 주소가 생성됩니다. 이 방식의 장점은 오토젠의 기존 코드를 거의 수정하지 않고도 base_url과 포트 번호만 지정하면 로컬 모델을 마치 클라우드 API처럼 호출하여 사용할 수 있다는 점입니다.
💻 오토젠 에이전트별 맞춤형 모델 설정
파이썬 코드 내에서 각 에이전트가 참조할 config_list를 개별적으로 정의합니다. 'Mistral'용 설정과 'Code Llama'용 설정을 각각 만든 뒤, 일반 비서 에이전트(assistant)에게는 Mistral 설정을, 코딩 에이전트(coder)에게는 Code Llama 설정을 부여합니다. 또한 전체 대화를 조율하는 그룹챗 매니저나 사용자 프록시 에이전트에게는 상황 판단 능력이 좋은 일반 모델을 할당함으로써, 각 에이전트가 자신의 전문 영역에 맞는 지능을 사용할 수 있도록 구조화합니다.
🧪 실전 협업 테스트 및 자율 실행 확인
설정된 에이전트 팀에 '1부터 100까지 출력하는 파이썬 스크립트 작성 및 실행' 임무를 부여하면, 코더 에이전트가 코드를 작성하고 사용자 프록시 에이전트가 이를 로컬에서 직접 실행하여 결과를 출력합니다. 각 단계에서 서로 다른 모델 서버로 프롬프트가 전달되고 응답이 돌아오는 과정을 실시간으로 확인할 수 있습니다. 결과적으로 개별 모델이 전담 역할을 수행하며 협업하는 완전한 로컬 AI 에이전트 팀 운영이 성공적으로 입증되었습니다.
🛠️ 오토젠 스튜디오의 개요 및 설치 절차
오토젠 스튜디오는 복잡한 AI 에이전트 팀을 코드 없이 직관적인 사용자 인터페이스(UI)로 구축할 수 있게 해주는 오픈소스 프로젝트입니다. 설치를 위해 먼저 파이썬 환경 관리 도구인 '콘다(Conda)'를 사용하여 전용 환경을 생성하고 활성화합니다. 이후 pip install autogenstudio 명령어로 라이브러리를 설치하며, OpenAI의 API 키를 환경 변수로 설정한 뒤 autogenstudio ui --port 8081을 실행하면 웹 브라우저를 통해 미려한 디자인의 관리 화면에 접속할 수 있습니다. 이는 기존의 텍스트 기반 오토젠 프레임워크를 누구나 쉽게 다룰 수 있도록 시각화한 혁신적인 도구입니다.
🧩 핵심 구성 요소: 스킬, 에이전트, 워크플로우
시스템은 크게 세 가지 요소로 구성됩니다. 첫째, **스킬(Skills)**은 에이전트가 실행할 수 있는 도구로, 이미지 생성이나 논문 검색과 같은 기능을 파이썬 코드로 정의하여 부여할 수 있습니다. 둘째, **에이전트(Agents)**는 고유한 역할과 도구를 가진 개별 AI 본체로, 여기서 각 에이전트가 사용할 LLM 모델(GPT-4 또는 로컬 모델)을 지정합니다. 셋째, **워크플로우(Workflows)**는 에이전트 간의 협업 방식과 작업 흐름을 정의하는 단계로, 사용자 프록시와 에이전트 팀을 하나로 묶어 특정 임무를 수행하도록 설계합니다.
🧪 플레이그라운드를 통한 실전 테스트와 시각화
'플레이그라운드(Playground)' 탭에서는 구축한 에이전트 팀에게 실제 작업을 지시하고 테스트할 수 있습니다. 예를 들어 주가 차트 시각화 워크플로우를 선택하고 엔비디아와 테슬라의 주가 비교를 요청하면, 에이전트들이 서로 대화하며 데이터를 수집하고 파이썬 코드를 작성 및 실행하여 최종적으로 PNG 차트 파일과 CSV 데이터 파일을 결과물로 제시합니다. 모든 과정은 비동기적으로 처리되며, 터미널 로그를 통해 에이전트들 사이의 상세한 대화와 코드 실행 과정을 실시간으로 확인할 수 있습니다.
🏠 올라마(Ollama)를 활용한 100% 로컬 환경 구축
오픈소스 모델 구동 도구인 '올라마'와 API 래퍼인 '라이트LLM(LiteLLM)'을 사용하면 유료 API 없이 완전한 로컬 환경에서 시스템을 운영할 수 있습니다. 올라마를 통해 'Mistral'과 같은 모델을 내려받은 뒤, 라이트LLM으로 로컬 호스트 서버(예: 8000번 포트)를 실행합니다. 오토젠 스튜디오의 모델 설정에서 해당 로컬 URL을 입력하면, 사용자의 컴퓨터 자원만으로 구동되는 독립적인 에이전트 팀을 만들 수 있으며 이는 보안과 비용 측면에서 큰 장점을 가집니다.
🚀 멀티 로컬 모델 연동 및 확장성
오토젠 스튜디오의 진정한 강점은 각기 다른 로컬 모델을 개별 에이전트에 할당할 수 있다는 점입니다. 예를 들어 올라마에서 'Llama 2'와 'Mistral'을 각각 다른 포트로 실행한 뒤, 코딩 에이전트와 비서 에이전트에게 각자 최적화된 모델을 연결하여 협업시킬 수 있습니다. 또한 고유한 인증 로직을 구현할 수 있는 로그아웃 기능을 지원하여 팀 단위의 협업 도구로 확장할 수 있는 가능성을 열어두었으며, 특정 작업에 특화된 미세 조정(Fine-tuned) 모델들을 자유롭게 조합하여 강력한 맞춤형 AI 팀을 구성할 수 있습니다.
🛠️ 오토젠 스튜디오 2.0 설치 및 초기 환경 설정
새로운 버전의 오토젠 스튜디오는 기능이 대폭 확장되었으며, 설치 과정에서 발생할 수 있는 데이터베이스 오류를 방지하기 위해 기존 버전의 완전한 삭제가 권장됩니다. 설치는 콘다(Conda) 가상 환경을 생성한 후 pip install autogenstudio 명령어를 통해 간단히 수행할 수 있습니다. 실행 시 특정 포트(예: 8081)가 이미 사용 중이라면 포트 번호를 변경하여 실행할 수 있으며, 웹 브라우저를 통해 직관적인 UI에 접속하게 됩니다. 특히 이번 버전에서는 모델 관리 탭이 추가되어 각 에이전트의 특성에 맞는 LLM 모델을 개별적으로 설정하고 관리할 수 있는 편의성이 강화되었습니다.
🧩 사용자 정의 스킬 개발 및 외부 라이브러리 연동
에이전트에게 특정 능력을 부여하는 '스킬(Skill)' 기능은 파이썬 코드를 통해 구현됩니다. 본 사례에서는 유튜브 URL에서 자막을 추출하기 위해 YouTubeTranscriptApi 라이브러리를 활용하는 스킬을 생성하였습니다. 사용자는 복잡한 코드를 직접 작성하는 대신 챗GPT를 활용해 필요한 기능의 초안을 작성하고 이를 오토젠 스튜디오의 스킬 탭에 등록할 수 있습니다. 등록된 스킬은 에이전트가 작업을 수행하는 과정에서 필요한 라이브러리를 스스로 감지하고 설치하여 실행할 수 있는 유연함을 보여줍니다.
👥 다중 에이전트 팀 구성과 그룹 채팅 워크플로우
오토젠 스튜디오 2.0의 핵심적인 변화는 두 명 이상의 에이전트로 구성된 팀을 만들 수 있다는 점입니다. 본 프로젝트에서는 유튜브 자막을 가져오는 '트랜스크립트 게터(Transcript Getter)'와 이를 바탕으로 글을 쓰는 '콘텐츠 라이터(Content Writer)'라는 두 명의 전문 에이전트를 생성하였습니다. 이들은 '그룹 채팅(Group Chat)' 워크플로우를 통해 사용자 프록시와 협력하며, 각 에이전트에게 명확한 역할과 시스템 메시지를 부여함으로써 복잡한 연쇄 작업을 체계적으로 수행할 수 있는 구조를 갖추게 됩니다.
📈 실전 업무 자동화: 유튜브 콘텐츠의 다변화
구축된 에이전트 팀은 유튜브 URL 하나만으로 고품질의 텍스트 콘텐츠를 자동 생성하는 실전 업무를 수행합니다. '트랜스크립트 게터'가 영상에서 자막 데이터를 추출하고 타임스탬프를 제거하면, '콘텐츠 라이터'가 해당 텍스트의 맥락을 분석하여 독창적인 블로그 포스트와 이모지가 포함된 트윗 스레드로 재구성합니다. 비록 UI상에서 최종 결과물이 즉시 나타나지 않는 간헐적인 버그가 있을 수 있으나, 터미널 로그를 통해 에이전트 간의 정교한 협업 과정과 완성도 높은 최종 결과물을 확인할 수 있습니다.
🚀 에이전트 협업의 성과와 향후 활용 가능성
이번 튜토리얼을 통해 오토젠 스튜디오 2.0이 단순한 챗봇을 넘어 실제 업무의 생산성을 높이는 강력한 자동화 도구임을 입증하였습니다. 모델 설정, 스킬 등록, 에이전트 팀 구성 및 워크플로우 실행으로 이어지는 일련의 과정은 코딩 지식이 부족한 사용자도 정교한 AI 시스템을 구축할 수 있게 합니다. 특히 에이전트 간의 명확한 역할 분담과 효율적인 스킬 공유는 향후 더욱 복잡한 비즈니스 시나리오에 대응할 수 있는 확장성을 제공합니다.