AI Agentに手足が生まれる:Strands+LeRobotがロボットをつなぎ、自然言語で実機を直接駆動

この2年間のAI Agent最大の問題は何か?
チャットができないのでも、コードが書けないのでもない。その多くがまだ画面の中に閉じ込められていることだ。計画、検索、スクリプト作成、API呼び出しを任せれば強い。だが、実際にロボットアームを押し動かし、ロボットの実演を録画し、シミュレーションを回し、ポリシーを実機ハードウェアへデプロイせよと言うと、たちまち大量のエンジニアリングのグルーコードにぶつかる。
いま、この断絶が埋められ始めた。
AWSエコシステムのStrands Robots SDKがオープンソース化され、Hugging Face LeRobot、MuJoCoシミュレーション、ポリシー推論、Zenohマルチロボットメッシュといった能力をStrands AgentToolsとしてパッケージ化した。公式の説明は非常にストレートだ:strands-robots gives a Strands Agent hands。
平たく言えばこうだ。AI Agentに手足が生まれ始めたのだ。
今回、何がリリースされたのか
プロジェクト名はstrands-robots、コードはstrands-labs/robots、PyPIのパッケージ名もstrands-robotsだ。中核となるのはRobot()ファクトリで、シミュレータ上のロボットや実機ロボットを、Strands Agentが呼び出せるツールへと変換する。
最小の例が非常に象徴的だ:
from strands import Agent
from strands_robots import Robot
robot = Robot(“so100”)
agent = Agent(tools=[robot])
agent(“Pick up the red cube”)
デフォルトでは、Robot(“so100”)が起動するのはMuJoCoシミュレーションで、GPUも実機ハードウェアも不要だ。実機ロボットへ切り替えるには、mode=”real”を明示的に指定する必要がある:
robot = Robot(“so100″, mode=”real”, port=”/dev/ttyACM0″)
このデフォルト設計が重要だ。まずシミュレーション、その後に実機。自然言語の一言で、誤って実際のサーボを動かしてしまうことがない。
LeRobotとは何か:ロボットの世界におけるHugging Faceツールチェーン
Strands Robotsを理解するには、まずLeRobotを理解しなければならない。
LeRobotはHugging Faceが推出した実世界ロボット学習ライブラリで、ロボット分野のモデル、データセット、ツールをPyTorchエコシステムに統一し、ロボット学習のハードルを下げることを目指している。
公式の位置づけは明確だ:
- 実世界ロボットのモデル、データセット、ツールを提供する
- より多くの人がロボットのデータセットや事前学習モデルを共有できるようにする
- 模倣学習、強化学習、VLAモデルをカバーする
- 実機ハードウェアとシミュレーション環境の双方に対応する
LeRobotで最も重要なもののひとつが、LeRobotDataset形式だ。ロボットの視覚映像、状態、行動データを標準的な構造に整理する。通常はMP4や画像にParquetを組み合わせる。これにより、データはHugging Face Hubへアップロードできるだけでなく、学習・評価・デプロイのパイプラインでも再利用できる。
言い換えれば、LeRobotはロボット学習に「データとモデルの土台」を提供している。
だが、土台は完全なワークフローとは限らない。実際に動かすには、シミュレーション、ハードウェアポート、カメラ、キャリブレーション、ポリシー推論、マルチロボット協調、安全停止の処理も必要だ。Strands Robotsが補っているのはまさにこの層だ。
Strands Robotsがするのは置き換えではなく、ラップだ

Strands + LeRobotを見て、多くの人が最初に浮かべる反応は「また新しいロボットフレームワークか?」かもしれない。
違う。
これはむしろ、ロボット関連の処理をAgentから呼び出せるツール層へとラップしたものだ。LeRobotは引き続きロボットのデータ、ポリシー、ハードウェアインターフェースの大部分を担当する。MuJoCoは引き続きシミュレーションを担当する。GR00T、ACT、Pi0、SmolVLA、Diffusionなどは引き続きポリシーの供給源だ。Zenohはピアツーピアのメッシュを担当する。
Strands Robotsの価値は、これまで分散していたコンポーネントをひとつのAgentワークフローへとまとめたことだ:
- 実演データの録画
- LeRobotDatasetへの書き込み
- Hugging Face Hubデータのアップロードまたは再利用
- MuJoCoでのシミュレーション実行
- ローカルまたはリモートポリシーの呼び出し
- 実機ロボットへのデプロイ
- 複数台のロボットをメッシュで協調させる
- 必要に応じてE-STOP緊急停止をブロードキャストする
以前はこれらのステップに大量のグルーコードが必要だった。今ではそれらをAgentToolsにして、同一のStrands Agentにスケジューリングさせられる。
ひとことでまとめたパイプライン:自然言語から機械の動作へ
公式が示すパイプラインは直感的だ:
自然言語の指示 → Strands Agent → Robotツール → Policy Provider → Action Chunk → MuJoCoシミュレーションまたは実機ハードウェア → observationの還流
このパイプラインの要点は、Agentがモーターを直接制御するのではなく、policy providerを通じてaction chunkを生成し、それをシミュレーションまたはハードウェアへ実行させる点だ。
対応するポリシーの供給源には以下が含まれる:
- NVIDIA GR00T
- LeRobot ACT
- Pi0 / Pi0.5
- SmolVLA
- Diffusion Policy
- 古典的なmotion planner
- MPC
- scripted controller
- mock policy
つまりStrands Robotsは単一のモデルに賭けたのではなく、さまざまなポリシーを同一の抽象インターフェースの背後に置いたのだ。今日はmock policyでフローを検証し、明日はローカルのLeRobotモデルへ差し替え、明後日はGR00T推論サービスへ接続する、といったことができる。
50以上のロボット、8大カテゴリ
Strands Robotsは公式に50以上のロボットを挙げており、8つのカテゴリをカバーしている:
- ロボットアーム:SO100、SO101、Koch、OMX、Panda、UR5e、xArm7など
- ヒューマノイド:Unitree G1、Unitree H1、Reachy2、Talos、Cassieなど
- 移動ロボット:Spot、Unitree Go2、Stretch、LeKiwi、EarthRoverなど
- ハンド:Shadow Hand、Allegro Hand、Leap Hand、Robotiq 2F85など
- 双腕システム:ALOHA、bi_openarm、Trossen WXAI
- 飛行体:Crazyflie、Skydio X2
- 表現/インタラクションロボット:Reachy Mini
- 移動操作ロボット:Google Robot
このうち一部のロボットは、LeRobot経由で実機を駆動できる。たとえばSO100、SO101、Koch、OMX、HopeJR、ALOHA、bi_openarm、Reachy2、Unitree G1、LeKiwi、EarthRoverだ。
さらに重要なのは、すべてのロボットでシミュレーションが可能なことだ。開発者にとってこれは、低コストのシミュレーションでまずフローを通してから、ハードウェアを購入するかどうかを判断できることを意味する。
メッシュによるマルチロボット協調 + 緊急停止
マルチロボットと安全制御は、Agentを物理世界につなぐうえで避けて通れない課題だ。
Strands RobotsにはZenohメッシュネットワークが組み込まれている。各ロボットは自動的にピアとなり、tell()で別のロボットとやり取りし、broadcast()で指示をブロードキャストし、E-STOPで緊急停止できる。
メッシュはAWS IoT Coreへブリッジできるほか、device-connectプラグインでより高度なデバイス感知ネットワークを構築することもできる。
安全設計も明確だ:
- デフォルトはシミュレーション。モード切り替えにはmode=”real”の明示的宣言が必須
- 状態、実行、停止の3つのツール動作を分離
- E-STOPは通常の制御フローから独立
- 実機動作の前に人間による承認割り込みを挟む
産業の現場では、これらはオプション設定ではない。ひとつ欠けるだけで事故につながり得る。
用語の整理:誰がこれをやったのか
この統合ソリューションはAWSがオープンソース化し(Apache 2.0)、hugggingface.coのブログで発表された。Strands自体はAWSがオープンソース化したAgent SDK(Apache 2.0)で、PythonとTypeScriptに対応し、完全なAgentフレームワークを備える。LeRobotはHugging Faceのプロジェクトだ。両者の交点こそがstrands-robotsである。
始め方
シミュレーションを試すだけなら、まずMuJoCo extraから始めるのがおすすめだ:
uv pip install “strands-robots[sim-mujoco]”
実機ハードウェアとローカルのLeRobotポリシーに接続するなら:
uv pip install “strands-robots[sim-mujoco,lerobot]”
すべてをまとめて入れるなら:
uv pip install “strands-robots[all]”
基本インストールは軽量で、numpy、opencv-headless、Pillowなどだけを含む。異なる能力はextraごとに分けてインストールする仕組みだ。sim-mujocoはシミュレーション用、lerobotは実機とローカルポリシー用、groot-serviceはNVIDIA GR00T推論用、meshはZenohマルチロボットネットワーク用、mesh-iotはAWS IoT Coreのフリート向けだ。
この分割方法はかなり実用的で、最初からすべての依存関係を押し込むようなことはしない。
誤読しないでほしい:「ワンクリックで具現化する知能」ではない
ここでひとつ、冷水を浴びせておきたい。
Strands Robotsは確かにクールだが、AIをワンクリックでロボットの専門家に変えるものではない。
実機では依然として次のような課題に直面する:
- ポートの認識
- サーボとの通信
- カメラの設定
- ロボットアームのキャリブレーション
- データスキーマの整合
- checkpointの可用性
- GPU / Docker / 推論サービス
- シミュレーションから現実へのsim2realギャップ
- マルチロボットの安全境界
たとえばGR00Tのローカル推論には、NVIDIA GPU、Docker、checkpoint、正しいデータ設定が必要かもしれない。実機SO-101も、mode=”real”と書くだけで自動的に赤いキューブを掴めるわけではなく、カメラ、キャリブレーション、ポリシー、安全な環境が依然として必要だ。
本当の価値:グルーコードを少なく書くこと
今回最も注目すべきは、モデルの能力が突然跳ね上がったことではなく、エンジニアリングのパイプラインがつながったことだ。
ロボット開発で最もつらいのは、大抵アルゴリズムの論文ではなく、システム同士が互いに会話しないことだ:
- データセット形式がひとつ
- シミュレーションスクリプトがまたひとつ
- 実機制御もひとつ
- ポリシー推論もひとつ
- マルチロボット通信もひとつ
- 安全停止もまた別
Strands RobotsはこれらをAgentToolsへと収斂させた。
これは研究チームにもスタートアップにも現実的な話だ。まずローカルのノートPCでSO100のシミュレーションを動かし、ハードウェアを買わず、GPUも使わず、Hubの権限も申請せずに済む。フローを確認した後、段階的に実機SO101、GR00T、Hugging Face checkpoint、マルチロボットメッシュを導入すればよい。
予算とリスクを段階的に投入でき、初日からハードウェア、データ、学習、デプロイをすべて背負い込む必要はない。
なぜAgentにとって重要なのか
かつてAgentのツールのほとんどはデジタル世界のものだった。ファイル、ブラウザ、データベース、API、ターミナル、コードインタープリタ。
Strands Robotsは、ツールの境界を物理世界へ押し広げた。ロボット、カメラ、サーボ、シミュレーション環境、行動ポリシー、マルチロボット通信だ。
これは、Agentの能力範囲が「情報処理」から「物理的な実行」へ拡大し始めたことを意味する。
もちろん、物理的な実行にはより慎重さが求められる。現実世界には取り消しキーがない。ロボットアームが机にぶつかり、物を壊し、人に当たっても、スクリプトの再実行では解決しない。だからこそ、デフォルトのシミュレーション、明示的な実機モード、E-STOP、承認割り込みといった安全設計こそが、このプロジェクトの成熟の証なのだ。
ROSとの関係

これはROSを置き換えるのか、と問う人もいるだろう。
短期的には違う。ROSはロボットシステムエンジニアリングの長年の基盤であり、ノード、トピック、サービス、launch、ドライバのエコシステムは非常に深い。Strands RobotsはむしろAgentオーケストレーション層で、「大規模モデルがツールインターフェースを通じてロボットタスクを編成できるようにする」ことに焦点を当てている。
今後は、低レイヤーのハードウェアと複雑なロボットシステムにはROSやベンダーSDK、コントローラが残り、Agent層はStrands Robotsのようなツールでタスク計画、ポリシー呼び出し、データ記録、シミュレーション検証、マルチロボット協調をつなぐ、という形が現れやすいだろう。
つまり、これはシャーシを奪うのではなく、上層のワークフローの入口を奪うものだ。
まとめ
Strands + LeRobotによる今回のロボットパイプライン接続の本当の意義は、一言でロボットアームを即座に賢くすることではなく、AI Agentが物理世界へ通じる標準的なツールインターフェースを手に入れ始めたことにある。
LeRobotはロボット学習のデータ、モデル、ハードウェアインターフェースを提供する。MuJoCoは安全なシミュレーションを提供する。GR00T、ACT、Pi0、SmolVLA、Diffusionなどがポリシーを提供する。Zenohメッシュがマルチロボット通信を提供する。Strands RobotsはこれらをAgentToolsとしてラップする。
これがその価値だ。ワンクリック革命ではなく、大量のグルーコードを書かずに済むこと。
AI Agentはこれまで脳と口を持っていた。今、手足を生やし始めた。
だが、本当に現実世界に足を踏み入れる前には、ブレーキ、ガードレール、承認、シミュレーション、そして大量のエンジニアリングの細部が依然として必要だ。
これこそが、エンボディッドAIをPPTから実験台へと進める、最もリアルな一歩だ。