エージェントは STEP ファイルを渡せる:text-to-cad と"コードを形状にする"発想

ずっとテキストじゃなかった部分
コーディングエージェントがソフトウェアを書けるのは、ソフトウェアがテキストだからだ。この一事実が、彼らが得意なことのほぼすべてを説明している。機械系の仕事でずっと役に立たなかった理由も説明してくれる。ブラケットはテキストじゃないし、肉厚もテキストじゃないし、STEP ファイルは断じてテキストじゃない。技術的にはテキストなんだけど。
text-to-cad は earthtojake による MIT ライセンスのプラグインで、今月はずっと GitHub のトレンドに載っていて、だいたい 18,600 stars。この矛盾を古い手で解いている。テキストじゃないなら、そのもののテキスト表現を作ればいい。ここでは、パラメトリックな Python スクリプトだ。
エージェントの仕事は 3D モデルを想像することじゃない。ジオメトリカーネルが実行できるコードを書くことだ。この違いが製品そのものになっている。
ループは実際どう回るのか
土台になっているのは cadgen という PyPI の Python パッケージで、build123d の上に載っていて、build123d が Open CASCADE を動かしている。ちゃんとした CAD ツールが使っているのと同じ系統のジオメトリカーネルだ。モデルはただの Python スクリプトで、step 定義のデコレータが付いて shape を返す関数。
3mm の肉厚で M3 穴が二つのカメラマウントが欲しいとする。言葉で説明する。エージェントが肉厚、穴径、穴ピッチをパラメータにしたスクリプトを書く。cadgen がそれを実行して STEP を書き出す。頼めば STL、3MF、GLB も。穴の位置を変えたければ数字をひとつ直して、また走らせる。モデルのソースはリポジトリに残って、他のコードと並ぶ。つまり diff もレビューも revert も、他のものと同じようにできる。
これが正確なジオメトリと、それらしいメッシュの違いだ。メッシュ生成器はブラケットに見える面を作る。ソリッドモデラーは肉厚が既知のブラケットを作る。町工場は STEP ファイルなら受け取るが、4,000 枚の三角形でできた曲面の STL は丁寧に断る。
プラグインは、設計が現実になるかどうかを決める地味な部分も引き受ける。製造のための設計と積層造形のための設計のチェックを回し、肉厚、オーバーハング、抜け勾配、アンダーカットを見る。そして指摘ごとに、警告をひとつ投げるのではなく、背後にあるルールを出す。ビュー、隠れ線、穴の注記、表題欄を備えた寸法入りの図面を PDF で生成する。レーザーカット用の DXF プロファイルを書き、OrcaSlicer で G-code にスライスし、Bambu Lab の機械にプリントを送り、SendCutSend 向けのアップロード前チェックを回し、ロボット記述とシミュレータのワールド用に URDF、SRDF、SDF ファイルを書く。
ローカルのビューアもある。対応しているアプリならモデルはチャット内のカードとして出る。それ以外では localhost のリンクが渡される。

なぜ一般化するのか
CAD というユースケースは具体的だが、パターンは具体的じゃない。二つの性質を持っている領域なら、コーディングエージェントに渡せる。成果物のコード表現と、その成果物が妥当かどうかを言ってくれるチェッカーだ。
機械部品は両方ある。スクリプトが表現で、製造性チェックがバリデータだ。Web ページも両方ある。HTML とブラウザだ。インフラも両方ある。設定と plan だ。動画は最近までどちらもなかった。少なくともエージェントが実行できる形では持っていなかった。HyperFrames のようなプロジェクトが埋めているのは、まさにその穴だ。
チェッカーがない領域では、エージェントは自信たっぷりのゴミを出す。'AI for 3D' がプレビューの段階で止まっていたのはそういうことだ。"椅子に見える"と"製造できる"の間にバリデータがなかった。
パターンのもう半分はローカル実行だ。cadgen はあなたのマシンの上で、本物のジオメトリカーネルに対して動く。ジオメトリの段階でニューラルネットワークに近似されているものは何もない。エージェントがパラメトリックな意図を出し、カーネルが真実を出す。
導入コストは、実際にかかる
つまずく点が二つある。どちらもリポジトリに書いてある。痛い目を見てから知るのではなく。これは作者たちの手柄だ。
Windows 11 には専用の罠がある。 CAD カーネルの Python バインディングは署名されていないネイティブモジュールを同梱していて、Windows 11 の Smart App Control(クリーンインストールでは既定でオン)がそれをブロックする。するとどのコマンドも DLL のロードエラーで失敗する。アプリ単位の例外はない。選択肢は Smart App Control を切る(システムによっては Windows の再インストールでしか戻せない)か、WSL の下で CAD スキルを動かすか。doctor コマンドがこのケースを検出するので、少なくともすぐ分かる。
テレメトリは既定でオン。 README が異例なほど詳しく書いていて、その勘は正しい。送られるのは、バージョン、インストール元、OS、使っているエージェントアプリ、それに各ツールが何回呼ばれたか、モデルをいくつ作ったかといったカウント。失敗理由はエラーテキストではなく固定リストから選ばれたもの。クラッシュレポートにはエラーの種類とコードのどこで失敗したかが入る。すべてにランダムなインストール ID が付き、PostHog に保存される。サーバーは IP から国を割り出すが、アドレスは保持しない。送られないのは、ファイル名、パス、ファイルの中身、プロンプト。コマンドひとつで切れて、すでに送った分も削除される。CI からも開発版インストールからも何も送られない。
どちらも若いプロジェクトには普通のことで、どちらも導入の足を引っ張る。商用 CAD ベンダーならどちらも出さない。
向いていないもの
有機的な形状。キャラクター、フィギュア、彫刻的なフォルム。形そのものが目的で機能が目的じゃないものは、メッシュ生成の領域で、メッシュベースの image-to-3D モデルのほうが適している。ドラゴンをパラメータで説明しようとするのは、ひどい午後になる。
エンジニアのサインオフの代わりにもならない。DFM スキルはガイド付きのレビューで、認証じゃない。人の体重を支える部品なら、いまも人間のエンジニアが図面にサインする。ループの終わりには誰かが請求書を払う。人間の居場所はたぶんそこだ。
リポジトリ自体が若くて、動きが速い。2026 年 4 月に作られ、1,400 commits 以上、PyPI パッケージは数十リリース、10 月初旬には二日で三バージョン出た。この速さは、新しいスキルが好きなら利点で、安定性が要るならリスクだ。
README にある、効いてくる一文
説明の中に、飛ばしやすい主張が埋まっている。このプラグインはエージェントに本物の CAD ワークフローを与える。デモでもプロンプトのラッパーでもなく、表現と、実行者と、バリデータと、加工屋への引き渡しを備えたワークフローだ。
これが、エージェントをソフトウェアの外でも役に立たせるものの形だ。ブラケットに詳しいモデルではなく、モデルが実行可能な何かを書き、別の何かがそれを検査し、出力が別のシステムに受け入れられるファイルになるループ。エージェントは CAD が得意である必要はない。コードが得意であればいい。そしてその領域にコンパイラがあればいい。
機械工学が最初にたどり着いたのは、コンパイラが五十年物で、バリデータが製造ルールの集合だったからだ。この二つを手に入れた領域は、一年以内にこう見えるようになる。
関連記事
大手5社がAIで表紙を作っていた、読者はもう見抜いている
米大手出版社5社のうち少なくとも3社が、公表も著者の同意もなくAIで表紙や販促コピーを生成していたと『Wired』が報道。公式説明と現場の証言は噛み合わず、表紙に名前を刷られた著者が最後に知る。
Character.AI が破産申請、ディズニーは 2000 万ドルで特許を押さえる
Character.AI が破産申請。ディズニーは 2000 万ドルでストーキングホースに名乗り出て、買うのは一部資産と特許ライセンスだけ。1 億 5000 万ドルのシリーズ A の話は、特許と月 800 万〜900 万ドルの損失で終わる。
XERJ:自分の数字が水増しだと白状する、コーディングエージェント向け検索エンジン
XERJ はローカル索引と tree-sitter のシンボル認識で、エージェントが読むファイルを減らす。実測は grep 比 2.7 倍の節約で、見出しの 40 倍ではない。メンテナ本人がそう書いている。
AI エージェントに画面を見させるのは、もうやめよう——CLI-Anything がすべてのソフトにコマンドラインを与える
エージェントに画面を見させるのはやめる。CLI-Anything は 7 段階のパイプラインで GIMP、Blender、LibreOffice 用の CLI を生成し、テストとドキュメントまで添える。