CUGA(ConfigUrable Generalist Agent): 엔터프라이즈 환경을 위한 오픈소스 AI 에이전트 프레임워크

CUGA (ConfigUrable Generalist Agent) 소개

CUGA (ConfigUrable Generalist Agent) 는 IBM Research에서 개발하고 오픈소스로 공개한 엔터프라이즈급 범용 AI 에이전트 프레임워크입니다. 단순히 채팅을 통해 일회성 답변을 주는 것을 넘어, 웹 브라우저 조작과 API 호출이 혼합된 복잡하고 긴 호흡의(Long-horizon) 업무를 수행하도록 설계되었습니다. 현재 AppWorld (API 작업 벤치마크)에서 1위, WebArena (웹 에이전트 벤치마크)에서 최상위권을 기록하며 그 성능을 입증하고 있습니다.

CUGA 프로젝트가 주목받는 이유는 기존 AI 에이전트들이 샌드박스 환경에서는 잘 작동하다가도 실제 복잡한 운영 환경(Production)에서는 오류를 일으키거나 멈추는 문제를 해결하려 했다는 점입니다. CUGA는 '신뢰성(Reliability)'과 '복구 능력(Recovery)'에 초점을 맞추어, 에이전트가 실패했을 때 스스로 경로를 수정하거나, 작업의 복잡도에 따라 추론 모드(Fast vs. Deep)를 동적으로 조절할 수 있는 아키텍처를 갖추고 있습니다.

개발자는 CUGA를 통해 복잡한 프롬프트 엔지니어링이나 오케스트레이션 로직을 바닥부터 짤 필요 없이, MCP (Model Context Protocol) 도구 설정과 도메인 지식(SOP)만 제공하면 바로 실무에 투입 가능한 에이전트를 구축할 수 있습니다. 또한 LangGraph 기반으로 구축되어 있어, LangChain 생태계와 자연스럽게 연동되며 시각적 워크플로우 빌더인 Langflow 에서도 사용할 수 있습니다.

기존의 에이전트 프레임워크와의 차별점

기존에 공개된 에이전트 프레임워크들이 단일 단계(Single-step)의 도구 호출이나 좁은 범위의 특정 작업에 최적화되어 있었다면, CUGA는 엔터프라이즈 자동화 라는 명확한 목표를 가지고 설계되었습니다.

  • 복잡도 관리 (Complexity Management): 일반적인 에이전트가 모든 요청에 대해 무거운 추론 과정을 거치는 것과 달리, CUGA는 '단순한 작업'과 '복잡한 작업'을 구분합니다. 평소에는 가벼운 실행 유닛(CugaAgent )이 처리하다가, 불확실성이 높거나 복잡한 작업이 감지되면 상위 관리자(CugaSupervisor )가 개입하여 전문 하위 에이전트를 호출하는 'On-Demand' 전략을 사용합니다.

  • 실패 복구 및 신뢰성: 작업 수행 과정을 'Task Ledger(작업 원장)'에 기록하여, 중간 단계에서 실패하더라도 전체를 다시 시작하는 것이 아니라 해당 지점부터 재계획(Re-planning)을 수행하여 복구할 수 있습니다.

CUGA의 핵심 아키텍처: 계층형 설계 (Layered Design)

CUGA는 LangGraph를 기반으로 구축되었으며, 다음과 같은 계층적 구조를 가집니다.

  • Chat Layer (User Interface): 사용자의 자연어 입력을 받아 의도(Intent)를 파악하고, 전체적인 목표(Goal)를 설정합니다.

  • Orchestration Layer (Plan Controller): 사용자의 목표를 세부적인 하위 작업(Sub-tasks)으로 분해(Decomposition)하고 실행 상태를 추적합니다. 이 과정에서 CugaSupervisor 가 전체 워크플로우를 관장하며 필요한 정책(Policy)과 문맥(Context)을 하위 에이전트에 전파합니다.

  • Execution Layer (Specialized Agents): 실제 작업을 수행하는 전문 에이전트들입니다.

    • Browser Agent: 웹 브라우저를 통해 검색, 클릭, 폼 입력, 데이터 스크래핑 등을 수행합니다.

    • API Agent: OpenAPI 사양이나 MCP 서버를 통해 외부 시스템의 API를 호출하고 결과를 처리합니다.

    • Coder Agent: 필요한 경우 Python 코드를 생성하고 샌드박스 환경에서 실행하여 복잡한 계산이나 데이터 처리를 수행합니다.

CUGA의 주요 기능

CUGA는 모듈화된 다중 에이전트 시스템(Multi-Agent System)으로, 유연한 확장성과 강력한 추론 능력을 제공합니다.

엔터프라이즈를 위한 기능 (Enterprise-Ready Features)

  • 구성 가능한 추론 모드 (Configurable Reasoning Modes): 작업의 성격에 따라 비용과 속도, 정확도 간의 균형을 맞출 수 있습니다.

    • Fast Mode: 휴리스틱 기반으로 빠르게 작업을 처리합니다.
    • Deep Planning Mode: 복잡한 문제 해결을 위해 심도 있는 계획과 반성(Reflection) 과정을 거칩니다.
  • 정책 준수 및 가드레일 (Policy-Aware): 기업의 보안 정책이나 표준 운영 절차(SOP)를 에이전트에 주입하여, 에이전트가 허용된 범위 내에서만 행동하도록 제어할 수 있습니다.

  • Save & Reuse (실험적 기능): 성공한 작업 수행 경로(Trajectory)를 저장해 두었다가, 유사한 작업이 요청되었을 때 재사용하여 속도와 일관성을 높입니다.

강력한 도구 통합 (Tool Integration)

CUGA는 다양한 방식으로 외부 도구와 연결됩니다:

  • MCP (Model Context Protocol) 지원: Anthropic이 제안한 표준 프로토콜인 MCP를 지원하여, 서버-클라이언트 구조로 도구를 안전하게 연결할 수 있습니다. FastMCP 를 통해 빠르게 MCP 서버를 연동할 수 있습니다.

  • OpenAPI Specification: REST API의 명세(Swagger/OpenAPI)만 있으면 자동으로 도구로 변환하여 에이전트가 API를 호출할 수 있게 합니다.

  • LangChain 호환: LangChain의 방대한 도구 생태계를 그대로 활용할 수 있습니다.

CUGA 사용 예시 영상

하이브리드 작업 실행 (Hybrid Task Execution) 예시

예시 작업: 디지털 판매(digital sales)에서 수익 기준 상위 계정을 가져온 다음 현재 페이지에 추가

Example Task: get top account by revenue from digital sales, then add it to current page

사람의 개입이 필요한 작업 실행 (Human in the Loop Task Execution) 예시

예시 작업: 최고의 계정 가져오기

Example Task: get best accounts

CUGA 설치 및 실행 예시

CUGA 설치 및 실행을 위해서는 Python 3.12 이상이 필요하며, uv 패키지 매니저를 권장합니다. 다음 단계를 따라 설치할 수 있습니다:

# 저장소 복제
git clone https://github.com/cuga-project/cuga-agent.git
cd cuga-agent

# 의존성 설치 (uv 사용 권장)
uv sync

# 환경 변수 설정 (API 키 등)
cp .env.example .env

# 에이전트 실행 (TUI 모드)
uv run cuga

OpenAI를 비롯하여 IBM WatsonX, Azure OpenAI, RITS, LiteLLM, OpenRouter 등의 LLM 서비스 공급자를 지원하며, .env 파일에서 상세한 설정이 가능합니다. 상세한 설정 방법은 GitHub 저장소의 README 문서를 참고해주세요.

라이선스

CUGA 프로젝트는 Apache License 2.0으로 배포되고 있어, 상업적 이용 및 수정 배포가 가능합니다. 단, 2025년 12월 23일 현재 프로젝트의 일부 기능은 다음 오픈소스 프로젝트의 코드를 포함하거나 파생되었으므로, 각 구성 요소의 라이선스 조항을 준수해야 합니다.

이와 관련한 상세한 내용은 라이선스 원문을 참고해주세요.

:house: CUGA 홈페이지

:framed_picture: CUGA 에이전트 사용 데모 (Hugging Face)

:scroll: IBM의 CUGA 소개 블로그

:scroll: Hugging Face의 CUGA 소개 블로그

:scroll: CUGA 기술 문서: Towards Enterprise-Ready Computer Using Generalist Agent

:github: CUGA 프로젝트 GitHub 저장소

:books: CUGA 공식 문서 사이트




이 글은 GPT 모델로 정리한 글을 바탕으로 한 것으로, 원문의 내용 또는 의도와 다르게 정리된 내용이 있을 수 있습니다. 관심있는 내용이시라면 원문도 함께 참고해주세요! 읽으시면서 어색하거나 잘못된 내용을 발견하시면 덧글로 알려주시기를 부탁드립니다. :hugs:

:pytorch:파이토치 한국 사용자 모임:south_korea:이 정리한 이 글이 유용하셨나요? 회원으로 가입하시면 주요 글들을 이메일:love_letter:로 보내드립니다! (기본은 Weekly지만 Daily로 변경도 가능합니다.)

:wrapped_gift: 아래:down_right_arrow:쪽에 좋아요:+1:를 눌러주시면 새로운 소식들을 정리하고 공유하는데 힘이 됩니다~ :star_struck:

1개의 좋아요