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% 기능 통과율을 보여줍니다.

시작 방법

  1. 저장소를 클론하고 environment.yml에서 conda 환경을 만듭니다.
  2. 헬퍼 aider-chat를 설치하고(설명된 대로 NumPy 고정) DashScope(또는 다른 OpenAI 호환) API 키를 설정합니다.
  3. multi_agent_cad/config.py를 편집하여 USER_REQUEST를 설정합니다(예: "30 mm 큐브").
  4. 명령줄 생성을 위해 python -m multi_agent_cad.graph를 실행하거나 웹 확장을 설치(pip install -e "[web]")하고 python -m multi_agent_cad.web를 실행하여 브라우저 UI를 사용합니다.
  5. 어셈블리의 경우 MAC_ASSEMBLY_REQUEST를 설정(또는 제공된 마크다운 프롬프트 중 하나 사용)하고 python -m mac_assembly를 실행합니다.

일반적인 사용 사례

  • 맞춤형 3D 인쇄 가능 부품의 빠른 프로토타이핑.
  • 로봇 연구용 기계 하위 어셈블리(예: 그리퍼 또는 갠트리)를 생성하고 URDF를 통해 물리 시뮬레이터에 즉시 공급.
  • LLM이 수동 스크립팅 없이 파라메트릭 CAD를 구동할 수 있음을 보여주는 교육 데모.

제한 사항

  • 어셈블리 생성은 아직 "기술 미리보기"입니다. 성공률이 정량화되지 않았으며 사용자는 제조 전에 조인트와 간격을 수동으로 검증해야 합니다.
  • 파이프라인은 특정 모델 제공자(DashScope, OpenRouter)와 STEP 런타임 제약으로 인한 build123d 커널 버전 <0.13에 의존합니다.
  • 생성된 Python 코드는 사용자의 권한으로 실행되므로 웹 UI는 신뢰할 수 있는 로컬 머신에 유지해야 합니다.

라이선스 – MIT(LICENSE 참조).


위의 모든 정보는 저장소의 README에서 직접 가져온 것이며 외부 가정은 추가되지 않았습니다.

관련

  • Dispatch
  • 프로젝트
  • Dispatch
  • 프로젝트
  • 프로젝트