TL;DR
맥락·배경: 엔터프라이즈 환경에서 에이전트가 여러 도구를 조합해 복잡한 태스크를 수행하도록 만드는 것이 일반적이지만, 구성 부가가 많아 초기 접근이 어렵다. 본 글의 주된 아이디어는 CUGA 하네스를 통해 도구 목록과 프롬프트만으로도 엔터프라이즈 에이전트를 쉽게 구성하고 생산 환경으로 운용 가능한 상태로 만드는 것이다. 핵심 전개: CUGA는 계획-실행 루프를 가지되, 실행 전에 계획을 수립하고 중간 상태를 추적하며 필요 시 재계획하는 반성(reflection) 메커니즘으로 안정성을 확보한다. 이 구조는 'Inline 도구 + MCP' 패턴으로 구현되며, 24개의 단일 파일 앱(cuga-apps)을 통해 다양한 도메인에 재사용 가능하다는 점이 입증된다. 또한 거버넌스와 안전성은 내재된 정책 체계(Intent Guard, Tool Approval 등)로 확보되며, 생산 환경에서의 운영은 Sovereign Core의 경계 격리 모델로 가능하다. 핵심 수치·근거: AppWorld와 WebArena 벤치마크에서 상위 성과를 기록했고, 1개의 파일(main.py)로 에이전트를 시작하고 도구를 조합하는 구조를 제시한다. 의미: 이 패턴은 엔터프라이즈에서도 반복 가능한 방법으로 에이전트 개발의 진입 장벽을 낮추고, 거버넌스 포함 생산 운영의 신뢰성을 높이는 방향으로 나아간다.
섹션별 상세
def make_agent():
from cuga import CugaAgent
from _llm import create_llm
return CugaAgent(
model=create_llm(
provider=os.getenv("LLM_PROVIDER"),
model=os.getenv("LLM_MODEL"),
),
tools=_make_tools(),
special_instructions=_SYSTEM,
cuga_folder=str(_DIR / ".cuga"),
)
# Pattern: inline tool + MCP tools
@tool
def search_ibm_catalog(query: str) -> str: #
"""Search the IBM Cloud Global Catalog for real IBM Cloud services. Always call this before recommending services to verify they exist."""
...
# hits the catalog API, returns JSON from _mcp_bridge
web_tools = load_tools(["web"])
return [search_ibm_catalog, *web_tools]에이전트의 메인 팩토리와 inline 도구 정의를 보여주는 핵심 예시 코드 블록이다

실무 Takeaway
- 패턴 재사용이 가능하도록 설계된 하네스가 엔터프라이즈 에이전트의 도입 장벽을 낮춘다
- Inline tool + MCP 구조로 도구 간의 경계가 명확해져 확장과 거버넌스가 쉬워진다
- 여섯 가지 정책으로 운영 거버넌스를 기본으로 제공해 생산 환경 안전성을 높인다
- 경계 격리와 로컬/사설 망에서의 운용으로 데이터 프라이버시와 규정 준수를 강화한다
- 마이크로-서비스식 설계로 서브태스크를 전문화된 에이전트로 분리하고 필요 시 재배포가 가능하다
AI 요약 · 북마크 · 개인 피드 설정 — 무료
출처 · 인용 안내
인용 시 "요약 출처: AI Trends (aitrends.kr)"를 표기하고, 사실 확인은 원문 보기 기준으로 진행해 주세요. 자세한 기준은 운영 정책을 참고해 주세요.