AI Agent mọc tay chân: Strands + LeRobot kết nối robot, Natural Language trực tiếp điều khiển máy thật

Câu hỏi lớn nhất của AI Agent hai năm qua là gì?
Không phải không biết trò chuyện, cũng không phải không biết viết code, mà là phần lớn thời gian nó vẫn bị giam trong màn hình. Bạn bảo nó lập kế hoạch, tìm kiếm, viết script, gọi API, nó rất mạnh; nhưng bảo nó thật sự điều khiển một cánh tay robot, ghi một đoạn demo robot, chạy một vòng mô phỏng, rồi deploy policy lên phần cứng thật, nó lập tức vấp vào một đống “keo kỹ thuật”.
Giờ điểm đứt gãy này bắt đầu được vá lại.
Strands Robots SDK trong hệ sinh thái AWS được mở mã nguồn, gói LeRobot của Hugging Face, mô phỏng MuJoCo, suy luận policy, mesh đa robot Zenoh… thành AgentTools của Strands. Một câu của đội ngũ chính thức rất trực tiếp: strands-robots gives a Strands Agent hands.
Dịch ra ngôn ngữ người thường: AI Agent bắt đầu mọc tay mọc chân rồi.
Lần này chính xác đã phát hành gì
Dự án tên strands-robots, code nằm ở strands-labs/robots, tên package trên PyPI cũng là strands-robots. Khả năng cốt lõi của nó là dùng một factory Robot(), biến robot mô phỏng hoặc robot thật thành công cụ mà Strands Agent có thể gọi.
Ví dụ tối thiểu rất đặc trưng:
from strands import Agent
from strands_robots import Robot
robot = Robot(“so100”)
agent = Agent(tools=[robot])
agent(“Pick up the red cube”)
Mặc định, Robot(“so100”) khởi động mô phỏng MuJoCo, không cần GPU, cũng không cần phần cứng thật. Muốn chuyển sang robot thật, phải khai báo rõ mode=”real”:
robot = Robot(“so100″, mode=”real”, port=”/dev/ttyACM0″)
Thiết kế mặc định này rất quan trọng: mô phỏng trước, lên máy thật sau. Không vì một câu lệnh ngôn ngữ tự nhiên mà vô tình điều khiển servo thật.
LeRobot là gì: bộ công cụ “Hugging Face của thế giới robot”
Muốn hiểu Strands Robots, trước hết phải hiểu LeRobot.
LeRobot là thư viện học robot thế giới thực của Hugging Face, mục tiêu là thống nhất mô hình, dataset và công cụ trong lĩnh vực robot vào hệ sinh thái PyTorch, hạ thấp ngưỡng học robot.
Định vị chính thức rất rõ:
- Cung cấp mô hình, dataset và công cụ robot thế giới thực
- Giờ đây nhiều người hơn có thể chia sẻ dataset và pretrained model robot
- Bao phủ imitation learning, reinforcement learning, mô hình VLA
- Hỗ trợ phần cứng thật và môi trường mô phỏng
Một trong những thứ quan trọng nhất trong LeRobot là định dạng LeRobotDataset. Nó tổ chức video thị giác robot, trạng thái, dữ liệu hành động thành cấu trúc chuẩn, thường là MP4 hoặc ảnh cộng Parquet. Nhờ vậy, dữ liệu có thể upload lên Hugging Face Hub, và được tái sử dụng trong chuỗi huấn luyện, đánh giá, deploy.
Nói cách khác, LeRobot cung cấp “nền móng dữ liệu và mô hình” cho học robot.
Nhưng nền móng chưa phải quy trình hoàn chỉnh. Khi triển khai thật, bạn còn phải xử lý mô phỏng, cổng phần cứng, camera, hiệu chuẩn, suy luận policy, phối hợp đa robot, ngắt an toàn. Strands Robots vá đúng tầng này.
Strands Robots không thay thế, mà là đóng gói

Nhiều người nhìn thấy Strands + LeRobot, phản ứng đầu tiên có thể là: lại một framework robot mới à?
Không phải.
Nó giống như việc đóng gói chuỗi robot thành một tầng công cụ mà Agent có thể gọi. LeRobot vẫn đảm nhận phần lớn dữ liệu robot, policy, giao diện phần cứng; MuJoCo vẫn đảm nhận mô phỏng; GR00T, ACT, Pi0, SmolVLA, Diffusion… vẫn là nguồn policy; Zenoh đảm nhận mesh peer-to-peer.
Giá trị của Strands Robots là nén những thành phần vốn rời rạc này vào một quy trình làm việc của Agent:
- Ghi dữ liệu demo
- Ghi vào LeRobotDataset
- Upload hoặc tái sử dụng dữ liệu trên Hugging Face Hub
- Chạy mô phỏng trong MuJoCo
- Gọi policy local hoặc remote
- Deploy lên robot thật
- Cho nhiều robot phối hợp qua mesh
- Phát E-STOP dừng khẩn khi cần
Trước đây những bước này phải viết cả đống glue code. Giờ chúng có thể trở thành AgentTools, được cùng một Strands Agent điều phối.
Chuỗi trong một câu: từ ngôn ngữ tự nhiên đến hành động cơ khí
Chuỗi mà đội ngũ chính thức đưa ra rất trực quan:
Lệnh ngôn ngữ tự nhiên → Strands Agent → công cụ Robot → Policy Provider → Action Chunk → mô phỏng MuJoCo hoặc phần cứng thật → observation chảy ngược
Chìa khóa của chuỗi này là Agent không trực tiếp điều khiển động cơ, mà sinh action chunk qua policy provider, rồi giao cho mô phỏng hoặc phần cứng thực thi.
Các nguồn policy được hỗ trợ bao gồm:
- NVIDIA GR00T
- LeRobot ACT
- Pi0 / Pi0.5
- SmolVLA
- Diffusion Policy
- Motion planner cổ điển
- MPC
- scripted controller
- mock policy
Điều này có nghĩa Strands Robots không đặt cược vào một mô hình duy nhất, mà đặt các policy khác nhau sau cùng một giao diện trừu tượng. Hôm nay bạn có thể dùng mock policy để kiểm chứng quy trình, mai chuyển sang mô hình LeRobot local, mốt nối dịch vụ suy luận GR00T.
Hơn 50 robot, 8 nhóm lớn
Strands Robots liệt kê chính thức hơn 50 robot, trải trên 8 nhóm:
- Cánh tay robot: SO100, SO101, Koch, OMX, Panda, UR5e, xArm7…
- Robot hình người: Unitree G1, Unitree H1, Reachy2, Talos, Cassie…
- Robot di động: Spot, Unitree Go2, Stretch, LeKiwi, EarthRover…
- Bàn tay linh hoạt: Shadow Hand, Allegro Hand, Leap Hand, Robotiq 2F85…
- Hệ thống song thủ: ALOHA, bi_openarm, Trossen WXAI
- Máy bay: Crazyflie, Skydio X2
- Robot biểu cảm/tương tác: Reachy Mini
- Robot mobile manipulation: Google Robot
Trong đó một số robot có thể điều khiển phần cứng thật qua LeRobot, như SO100, SO101, Koch, OMX, HopeJR, ALOHA, bi_openarm, Reachy2, Unitree G1, LeKiwi, EarthRover.
Quan trọng hơn, mọi robot đều có thể mô phỏng. Với dev, điều này có nghĩa bạn có thể chạy đủ quy trình trong mô phỏng chi phí thấp trước, rồi mới quyết định có mua phần cứng hay không.
Mesh đa robot + dừng khẩn
Đa robot và kiểm soát an toàn là bài toán không thể né khi gắn Agent vào thế giới vật lý.
Strands Robots tích hợp sẵn mạng mesh Zenoh. Mỗi robot tự động trở thành một peer, có thể dùng tell() để tương tác với robot khác, broadcast() để phát lệnh, và E-STOP để dừng khẩn.
Mesh có thể bridge lên AWS IoT Core, cũng có thể dùng plugin device-connect để xây mạng cảm nhận thiết bị nâng cao hơn.
Thiết kế an toàn cũng rất rõ ràng:
- Mặc định là mô phỏng, muốn đổi chế độ phải khai báo rõ mode=”real”
- Ba hành động công cụ — trạng thái, thực thi, dừng — được tách riêng
- E-STOP độc lập với luồng điều khiển bình thường
- Có bước phê duyệt của con người trước hành động thật
Trong kịch bản công nghiệp, đây không phải cấu hình tùy chọn. Thiếu một cái cũng có thể gây sự cố.
Làm rõ thuật ngữ: ai đã làm ra chuyện này
Giải pháp tích hợp này do AWS mở mã nguồn (Apache 2.0), công bố trên blog hugggingface.co. Strands vốn là Agent SDK mã nguồn mở của AWS (Apache 2.0), hỗ trợ Python và TypeScript, có framework Agent đầy đủ. LeRobot là dự án của Hugging Face. Giao điểm của hai bên chính là strands-robots.
Bắt đầu thế nào
Nếu chỉ muốn trải nghiệm mô phỏng, khuyên bắt đầu từ extra MuJoCo:
uv pip install “strands-robots[sim-mujoco]”
Nếu muốn nối phần cứng thật và policy LeRobot local:
uv pip install “strands-robots[sim-mujoco,lerobot]”
Nếu muốn cài đủ cả:
uv pip install “strands-robots[all]”
Cài đặt cơ bản rất nhẹ, chỉ gồm numpy, opencv-headless, Pillow… Các khả năng khác cài riêng qua extra: sim-mujoco cho mô phỏng, lerobot cho phần cứng thật và policy local, groot-service cho suy luận NVIDIA GR00T, mesh cho mạng đa robot Zenoh, mesh-iot cho kịch bản fleet AWS IoT Core.
Cách tách này khá thực tế, không nhồi mọi dependency ngay từ đầu.
Đừng hiểu nhầm: đây không phải “trí tuệ thân xác một chạm”
Ở đây phải tạt một gáo nước lạnh.
Strands Robots rất cool, nhưng nó không biến AI thành chuyên gia robot trong một cú nhấp.
Phần cứng thật vẫn phải đối mặt với:
- Nhận diện cổng
- Giao tiếp servo
- Cấu hình camera
- Hiệu chuẩn cánh tay robot
- Căn chỉnh data schema
- Khả dụng của checkpoint
- GPU / Docker / dịch vụ suy luận
- Khoảng cách sim2real từ mô phỏng ra thực
- Ranh giới an toàn đa robot
Chẳng hạn suy luận GR00T local có thể cần NVIDIA GPU, Docker, checkpoint và cấu hình dữ liệu đúng. Robot thật SO-101 cũng không phải ghi mode=”real” là tự gặt khối vuông đỏ ngay; bạn vẫn cần camera, hiệu chuẩn, policy và môi trường an toàn.
Giá trị thực sự: viết ít glue code hơn
Điều đáng chú ý nhất lần này không phải năng lực mô hình bỗng tăng vọt, mà là chuỗi kỹ thuật được thông suốt.
Nơi đau nhất của phát triển robot thường không phải bài báo thuật toán, mà là các hệ thống không nói chuyện được với nhau:
- Định dạng dataset một kiểu
- Script mô phỏng một kiểu
- Điều khiển phần cứng thật một kiểu
- Suy luận policy một kiểu
- Giao tiếp đa robot một kiểu
- Dừng an toàn lại một kiểu nữa
Strands Robots hội tụ tất cả thành AgentTools.
Điều này rất thực tế cho nhóm nghiên cứu lẫn nhóm startup. Bạn có thể chạy mô phỏng SO100 trên laptop local, chưa mua phần cứng, chưa cần GPU, chưa xin quyền Hub; sau khi quy trình đã chắc, mới dần đưa vào SO101 thật, GR00T, checkpoint Hugging Face, mesh đa robot.
Ngân sách và rủi ro có thể giải phóng theo từng giai đoạn, thay vì ngày đầu đã dồn hết phần cứng, dữ liệu, huấn luyện, deploy lên bàn.
Vì sao điều này quan trọng với Agent
Trước đây công cụ của Agent phần lớn là công cụ thế giới số: tệp, trình duyệt, database, API, terminal, code interpreter.
Strands Robots đẩy ranh giới công cụ ra thế giới vật lý: robot, camera, servo, môi trường mô phỏng, policy hành động, giao tiếp đa máy.
Điều này có nghĩa phạm vi năng lực của Agent bắt đầu mở rộng từ “xử lý thông tin” sang “thực thi vật lý”.
Tất nhiên, thực thi vật lý phải thận trọng hơn nhiều. Thế giới thực không có phím undo; cánh tay robot đâm vào bàn, kẹp vỡ đồ vật, đánh vào người — không phải chạy lại script là xong. Vì vậy mặc định mô phỏng, máy thật phải khai báo rõ, E-STOP, phê duyệt gián đoạn — những thiết kế an toàn này lại chính là tín hiệu trưởng thành của dự án.
Quan hệ với ROS

Có người sẽ hỏi: cái này có thay thế ROS không?
Nhìn ngắn hạn, không. ROS là nền móng lâu đời của kỹ thuật hệ thống robot, hệ sinh thái node, topic, service, launch, driver rất sâu. Strands Robots giống một tầng điều phối Agent hơn, hướng tới “cho mô hình lớn tổ chức tác vụ robot qua giao diện công cụ”.
Bức tranh tương lai khả dĩ hơn là: tầng dưới phần cứng và hệ thống robot phức tạp vẫn có ROS/SDK nhà sản xuất/bộ điều khiển, tầng Agent qua công cụ như Strands Robots xâu chuỗi lập kế hoạch, gọi policy, ghi dữ liệu, kiểm chứng mô phỏng, phối hợp đa máy.
Nói cách khác, nó không giành khung gầm, mà giành lối vào của quy trình phía trên.
Tổng kết
Strands + LeRobot lần này thông suốt chuỗi robot, ý nghĩa thực không phải một câu nói khiến cánh tay robot thông minh ngay lập tức, mà là AI Agent bắt đầu sở hữu một bộ giao diện công cụ chuẩn để đi vào thế giới vật lý.
LeRobot cung cấp dữ liệu, mô hình và giao diện phần cứng cho học robot; MuJoCo cung cấp mô phỏng an toàn; GR00T, ACT, Pi0, SmolVLA, Diffusion… cung cấp policy; mesh Zenoh cung cấp giao tiếp đa robot; Strands Robots đóng gói tất cả thành AgentTools.
Đó là giá trị của nó: không phải cuộc cách mạng một chạm, mà là bớt viết cả đống glue code.
AI Agent trước đây chỉ mọc não và miệng, giờ bắt đầu mọc tay chân.
Nhưng trước khi thật sự bước vào thế giới thực, nó vẫn cần phanh, lan can, phê duyệt, mô phỏng và vô số chi tiết kỹ thuật.
Đó mới là bước chân thật nhất của trí tuệ thân xác đi từ PPT ra bàn thí nghiệm.