Pan-Chera/Multi-Agent-CAD
MAC (Multi-Agent CAD): A decoupled multi-agent framework for text-to-CAD generation via constrained test-time compute
멀티 에이전트 CAD (MAC)
기능 – MAC은 일반 영어(또는 중국어) 설계 브리프를 실제 편집 가능한 CAD 지오메트리로 변환합니다. 다음을 수행할 수 있습니다:
- 프롬프트에서 단일 인쇄 가능한 부품 생성.
- 메커니즘 설명을 여러 구성 요소로 분해하고, 각 부품을 생성하고, 함께 결합하고, 완전한 어셈블리를 내보냅니다.
- 생성된 지오메트리를 자동으로 검증하고 필요한 경우 LLM 기반 코드 수정 루프를 사용하여 수리합니다.
- 결과를 표준 엔지니어링 파일(STEP, STL, GLB)로 내보내고, 어셈블리의 경우 로봇 시뮬레이터에 드롭할 수 있는 URDF로 내보냅니다.
중요성 – 기존 CAD는 숙련된 사용자가 코드를 작성하거나 수동으로 모델링해야 합니다. MAC을 사용하면 엔지니어나 취미 사용자가 자연어로 원하는 것을 설명하고 편집, 3D 인쇄 또는 시뮬레이션할 수 있는 완전히 파라메트릭 모델을 받을 수 있습니다. 이 프로젝트는 또한 멀티 에이전트 파이프라인(계획, 코드 생성, 검증, 수리)이 기준선 "CAD-Skills" 접근 방식과 비교하여 필요한 LLM 토큰 양을 극적으로 줄일 수 있음을 보여줍니다.
주요 구성 요소
- 멀티 에이전트 워크플로우 – LangGraph를 사용하여 별도의 LLM 단계를 조정합니다: 부품 계층을 결정하는 플래너,
build123d커널용 Python 코드를 작성하는 지오메트리 생성기, 시각적 검증기, 출력이 기하학적 검사를 통과하는지 결정하는 "판사". - Aider 기반 수리 – 생성된 스크립트가 실행되지 않거나 지오메트리가 유효하지 않은 경우 Aider 도구는 모델이 수정될 때까지 LLM 안내 편집 루프를 실행합니다.
- 웹 UI – 경량 FastAPI/React 인터페이스로 사용자가 프롬프트를 입력하고 3D 미리보기를 보고 내보낸 파일을 다운로드할 수 있습니다. 보안 조치(CSRF 헤더, 호스트 허용 목록, 선택적 대상 경로 제어)가 내장되어 있습니다.
- 어셈블리 파이프라인 – 설명을 하위 부품으로 분할하고, 조인트 인터페이스를 정의하고, 미러링된 구성 요소를 재사용하고, 다운스트림 로봇 시뮬레이션을 위한 URDF를 생성하는 실험적 확장(MAC v2).
- 벤치마크 – README는 두 Qwen 모델에 대한 단일 부품 벤치마크를 보고하며, 재현된 기준선보다 60-100배 적은 토큰과 6-13배 낮은 예상 비용을 사용하면서 >99% 기능 통과율을 보여줍니다.
시작 방법
- 저장소를 클론하고
environment.yml에서 conda 환경을 만듭니다. - 헬퍼
aider-chat를 설치하고(설명된 대로 NumPy 고정) DashScope(또는 다른 OpenAI 호환) API 키를 설정합니다. multi_agent_cad/config.py를 편집하여USER_REQUEST를 설정합니다(예: "30 mm 큐브").- 명령줄 생성을 위해
python -m multi_agent_cad.graph를 실행하거나 웹 확장을 설치(pip install -e "[web]")하고python -m multi_agent_cad.web를 실행하여 브라우저 UI를 사용합니다. - 어셈블리의 경우
MAC_ASSEMBLY_REQUEST를 설정(또는 제공된 마크다운 프롬프트 중 하나 사용)하고python -m mac_assembly를 실행합니다.
일반적인 사용 사례
- 맞춤형 3D 인쇄 가능 부품의 빠른 프로토타이핑.
- 로봇 연구용 기계 하위 어셈블리(예: 그리퍼 또는 갠트리)를 생성하고 URDF를 통해 물리 시뮬레이터에 즉시 공급.
- LLM이 수동 스크립팅 없이 파라메트릭 CAD를 구동할 수 있음을 보여주는 교육 데모.
제한 사항
- 어셈블리 생성은 아직 "기술 미리보기"입니다. 성공률이 정량화되지 않았으며 사용자는 제조 전에 조인트와 간격을 수동으로 검증해야 합니다.
- 파이프라인은 특정 모델 제공자(DashScope, OpenRouter)와 STEP 런타임 제약으로 인한
build123d커널 버전 <0.13에 의존합니다. - 생성된 Python 코드는 사용자의 권한으로 실행되므로 웹 UI는 신뢰할 수 있는 로컬 머신에 유지해야 합니다.
라이선스 – MIT(LICENSE 참조).
위의 모든 정보는 저장소의 README에서 직접 가져온 것이며 외부 가정은 추가되지 않았습니다.
관련
- Dispatch
- 프로젝트
- Dispatch
- 프로젝트
- 프로젝트