TL;DR
작성자는 LangGraph와 CrewAI에서 에이전트 간 통신 그래프를 작업 전에 고정해야 하는 문제를 해결하기 위해 CADTopo를 만들었습니다. CADTopo의 Router는 매 라운드 목표에 필요한 에이전트와 통신 경로를 동적으로 고르고, Manager는 결과 점수에 따라 종료하거나 새 목표를 설정합니다. 각 에이전트는 비용이 다른 Backbone 목록과 도구를 가지며, 기본적으로 저가 모델을 사용하다가 불확실성·낮은 점수·라운드 부족 때 상위 모델로 전환합니다. Python 3.10+, MIT, LiteLLM, Markdown 기반 역할 정의를 제공하지만, 비용 절감이나 품질 개선을 입증하는 벤치마크는 아직 본문에 없습니다.
섹션별 상세
from cadtopo import Agent, Backbone, Router, Manager, EmbeddingModel, CadTopoAI
agents = [
Agent(
name="Developer",
skill_definition="Writes the Python implementation.",
system_prompt="You are a senior Python developer. Return only the function.",
backbones=[
Backbone(model="openrouter/meta-llama/llama-3.1-8b-instruct", cost=0.06),
Backbone(model="openrouter/anthropic/claude-3.5-sonnet", cost=0.20),
Backbone(model="openrouter/openai/gpt-5", cost=30.0),
],
tools=[run_tests],
),
Agent(
name="Tester",
skill_definition="Reviews and validates the implementation.",
system_prompt="You are a QA engineer. Point out any bugs.",
backbones=[
Backbone(model="openrouter/meta-llama/llama-3.1-8b-instruct", cost=0.06),
Backbone(model="openrouter/anthropic/claude-3.5-sonnet", cost=0.20),
],
),
]
router = Router(agents=agents, embedding_model=EmbeddingModel())
manager = Manager(api_provider="openrouter/meta-llama/llama-3.1-8b-instruct")
system = CadTopoAI(manager=manager, router=router, max_rounds=5)
answer = system.run("Implement a function that reverses a string.")에이전트별 역할, 모델 등급, 비용, 도구를 등록한 뒤 Router와 Manager를 연결하고 최대 5라운드로 문자열 반전 작업을 실행하는 CADTopo 구성 코드입니다.
용어 해설
- 동적 토폴로지 라우팅(Dynamic Topology Routing)
- — 에이전트 사이의 고정된 호출 순서를 미리 정하지 않고, 현재 목표와 각 에이전트의 역할·요구사항을 바탕으로 매 라운드 통신 구조를 새로 만드는 방식입니다. 작업마다 다른 협업 경로를 구성할 수 있습니다.
- 비용 인지 라우팅(Cost-Aware Routing)
- — 모든 요청에 같은 고가 모델을 사용하지 않고, 비용이 낮은 모델부터 시작한 뒤 불확실성이나 낮은 평가 점수 같은 조건에서만 더 비싼 모델로 전환하는 선택 전략입니다. 모델 비용과 결과 품질을 함께 고려합니다.
- 에이전틱 AI(Agentic AI)
- — 여러 AI 에이전트가 역할을 나누고 목표에 따라 작업을 수행하는 시스템을 뜻합니다. 이 글에서는 Router가 관련 에이전트를 고르고 Manager가 결과를 평가해 다음 목표나 종료 여부를 결정하는 구조로 구현됩니다.
- 도구 호출(Tool Calling)
- — 에이전트가 모델의 텍스트 응답만 반환하는 대신 등록된 외부 함수나 실행 도구를 선택해 호출하는 기능입니다. CADTopo에서는 Developer 에이전트가 run_tests 같은 도구를 함께 보유할 수 있습니다.
- Embedding 모델(Embedding Model)
- — 텍스트나 다른 입력을 의미를 반영한 벡터로 변환하는 모델입니다. CADTopo의 Router는 EmbeddingModel을 사용해 현재 목표와 에이전트의 역량을 비교하고 해당 라운드에 필요한 에이전트를 선별합니다.
- DyTopo 프로토콜(DyTopo Protocol)
- — 에이전트 협업에 필요한 통신 토폴로지를 작업 중에 동적으로 구성하는 프로토콜입니다. CADTopo는 이 프로토콜에 비용 인지 모델 선택을 추가해 라운드별 연결과 모델 등급을 함께 조정합니다.
언급된 도구
에이전트 협업 그래프를 구성하는 프레임워크로 언급됐습니다.
에이전트 팀과 역할 간 연결을 구성하는 도구로 언급됐습니다.
OpenAI, Anthropic, OpenRouter 또는 로컬 모델을 통일된 인터페이스로 연결하는 기반 라이브러리입니다.
여러 모델을 문자열 기반으로 선택하고 호출하는 API 제공자로 사용됐습니다.
언급된 리소스
AI 요약 · 북마크 · 개인 피드 설정 — 무료
출처 · 인용 안내
인용 시 "요약 출처: AI Trends (aitrends.kr)"를 표기하고, 사실 확인은 원문 보기 기준으로 진행해 주세요. 자세한 기준은 운영 정책을 참고해 주세요.

