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ガイド付き編集ループを実行します。
- Web UI – 軽量なFastAPI/Reactインターフェースにより、ユーザーはプロンプトを入力し、3Dプレビューを表示し、エクスポートされたファイルをダウンロードできます。セキュリティ対策(CSRFヘッダー、ホスト許可リスト、オプションの宛先パス制御)が組み込まれています。
- アセンブリパイプライン – 説明をサブパーツに分割し、ジョイントインターフェースを定義し、ミラーリングされたコンポーネントを再利用し、下流のロボットシミュレーション用のURDFを生成する実験的拡張機能(MAC v2)。
- ベンチマーク – READMEは、2つのQwenモデルでの単一部品ベンチマークを報告しており、>99%のフィーチャーパス率を示し、再現されたベースラインと比較して60-100倍少ないトークンと6-13倍低い推定コストを使用しています。
開始方法
- リポジトリをクローンし、
environment.ymlからconda環境を作成します。 - ヘルパー
aider-chatをインストールし(説明どおりNumPyを固定)、DashScope(または他のOpenAI互換)APIキーを設定します。 multi_agent_cad/config.pyを編集してUSER_REQUESTを設定します(例:「30 mmの立方体」)。- コマンドライン生成には
python -m multi_agent_cad.graphを実行するか、Web拡張機能をインストール(pip install -e "[web]")してpython -m multi_agent_cad.webを起動し、ブラウザUIを使用します。 - アセンブリの場合、
MAC_ASSEMBLY_REQUESTを設定(または提供されたmarkdownプロンプトのいずれかを使用)し、python -m mac_assemblyを実行します。
典型的なユースケース
- カスタム3Dプリント可能部品の迅速なプロトタイピング。
- ロボット研究用の機械サブアセンブリ(例:グリッパーやガントリー)を生成し、URDFを介して物理シミュレータにすぐにフィード。
- LLMが手動スクリプトなしでパラメトリックCADを駆動できることを示す教育デモ。
制限事項
- アセンブリ生成はまだ「テクノロジープレビュー」です。成功率は定量化されておらず、ユーザーは製造前にジョイントとクリアランスを手動で検証する必要があります。
- パイプラインは特定のモデルプロバイダー(DashScope、OpenRouter)と、STEPランタイム制約による
build123dカーネルバージョン<0.13に依存しています。 - 生成されたPythonコードはユーザーの権限で実行されるため、Web UIは信頼できるローカルマシン上に保つ必要があります。
ライセンス – MIT(LICENSEを参照)。
上記のすべての情報はリポジトリのREADMEから直接取得したものであり、外部の仮定は追加されていません。
関連
- Dispatch
- プロジェクト
- Dispatch
- プロジェクト
- プロジェクト