見出し画像

RhinocerosはAIに操作してもらおう ━ Claude MCPを使った自然言語操作の世界

Claude MCPが登場したのは、もう半年以上前のことになります。
その直後、Blender MCPを実装した方がいて話題になったのを覚えている方もいるかもしれません。
Claudeに自然言語で指示を出すと、Blenderがその通りに動くという取り組みで、当時Xでも結構盛り上がっていました。

その後しばらくして、RhinocerosやGrasshopperでもMCPを使った実装をする人がちらほら現れはじめ、今では珍しいものではなくなってきています。

私も遅ればせながら、Claude DesktopのMCPを使ってRhinoを操作してみました。
たとえば「原点(0,0)を中心とした半径5の円を描いて」と自然言語で指示を出すと、Rhinoがその通りに動いてくれます。

実際の動作の様子は、以下のYouTubeにアップしています。

今回は、その実例を軽く紹介します。
技術的な詳細やコードなどについては、私の個人ブログでまとめていますので、興味のある方はそちらをご覧ください。


✅ ClaudeにRhinoを動かしてもらうと、どんな感じ?

Rhinoを日常的に使っていて、PythonやC#でスクリプトを書く方なら、ピンとくるかもしれません。
Claude MCPによる自然言語操作の仕組みはざっくり言えば

「Claudeに話しかけると、指示に応じたスクリプトが生成され、それがそのままRhino上で実行される」

というものです。(※少なくとも私が実装したものは)

つまり、普段自分で書いているようなRhinoでのPythonやC#などのスクリプトの自動化処理を、コードを書かずに"指示"としてAIに投げる感覚に近いです。
今ならやっている人も多いかもしれませんが、ChatGPTなどに「Rhinoで○○するPythonコード書いて」とお願いして、それをコピペして実行する
あの流れが、よりスムーズかつ統合された形で実行できる、という印象です。

ただし、あくまでスクリプトで表現できる処理でないと難しいといった感触はありました。
Rhinoの手作業でしか行えないような複雑なマウス操作やUI上の動きは、難しく、いかにしてプログラムに落とし込むか、プロンプトの工夫が必要になると思います。

✅ こんな指示を出してみた

実際に、いろいろなパターンの指示を試してみました。

  • 「原点を中心に半径5の円を描いて」
     → 全く問題なしスムーズに成功。

  • 「X方向に3000ピッチでX1~X5、Y方向6000ピッチY1-Y2で通り芯を描いて 端部は少し伸ばしてね」
     → 問題なし。もうちょっと細かく指示出してあげればもっと通り芯っぽくなりそう

  • 「数学的に美しい曲線を描いて」
     → 抽象的だが、それらしいスクリプトを生成。

さらに、細かく指示をだして実行してみました。

👇こちらは、今回のサムネイルにも使っている例です。

「50×50の立方体グリッドを作って、以下の特徴を持つ美しいオブジェクトを作成してください:
立方体はすべて同じサイズ XY平面に50個ずつ、計2500個配置
立方体の間隔は3単位 X方向:X軸回りにX座標×5度ずつ回転
Y方向:Y軸回りにY座標×5度ずつ回転
Z軸回り:原点からの距離×5度ずつ回転 Z軸位置:Sin波とCos波を組み合わせた波状地形に配置(振幅5、周波数0.3)」

このような“条件付きのジオメトリ生成”のような指示でも、かなり正確に再現してくれました。

✅ 試してみて感じた“向き・不向き”

Claude MCPをRhinoで使ってみた印象として、得意なことと苦手なことがはっきり分かれるな、という感触がありました。

Rhinoは、どうしても「手で微調整する」ような操作が多いツールです。
そのため、すべてを自然言語で完全にコントロールするのは、なかなか難しい場面もあります。
(もちろん、プロンプトの書き方が上手ければもっと複雑なことができると思います。)

ただ、普段スクリプトでやっているような作業とはとても相性が良いと思いました。
普段から、ChatGPTなどに「Rhinoで○○するPythonコードを書いて」と頼んで、それをコピペして実行している人もいるかもしれませんが、その一連の流れがワンステップで済むのといった感じです。

もちろん、「じゃあコピペでもよくない?」という意見もあると思います。
それは確かにそうではありますが、もう少し使いこんでうまくプロンプトを渡してあげれば、Rhinoの横にClaudeを立ち上げといて、ちょっとしたことをお願いする、みたいな使い方ができそうだなという感触もありました。


✅ Grasshopperはどう?

今回はRhinoを対象に試しましたが、Grasshopperの方がむしろ相性がいい
かもしれません。

というのも、Grasshopperはもともとビジュアルプログラミング環境なので、「この処理を構造的に組むにはどうしたらいいか?」という発想と、ClaudeのようなLLMの構文変換能力がかなりマッチしそうです。

今度試してみようかなと思います。


✅ 課題点:LLMのRhinoAPIの理解はまだ浅い

惜しい点としては、Claudeに限らずLLM全般に言えることですが、RhinoのAPIの知識が足りてない印象を受けました。

関数名や引数の使い方を間違えるケースが意外と多く、
「おしいんだけどちょっと違う…」というコードを出してくることがあり、アシストしなければいけないこともそこそこありました。

ここは、RhinoのAPIドキュメントや、よく使うコード例をプロンプトに事前提供するといった工夫をすれば、より安定して使えるようになりそうです。

✅ まとめ

AI技術が日々進化する中で、正直なところ、私自身もキャッチアップするのに必死です。
Claude MCPも一時話題になったものの、ようやく試してみたというのが正直なところ。

とはいえ、こうして少し遅れてでも触れてみると、「これはもっと使い込めば業務にも応用できるかもしれない」と思える瞬間がありました。
特に、普段スクリプトを書くような作業が多い方にとっては、自然言語による操作という選択肢が見えてくるかもしれません。

この記事が、皆さんがAIを業務に取り入れる際の、ひとつの参考になれば幸いです。

▼関連記事


いいなと思ったら応援しよう!