Vision-Language-Action — 让AI不光能看会说,还能动手干活
VLA(Vision-Language-Action)是一种将视觉理解、语言推理和行动控制统一到单一模型的AI架构。它不再只是"看图说话",而是看完画面、听完指令后,直接输出可执行的动作序列。
2026年4月,Google发布Gemma 4 VLA,直接把VLA模型塞进 Jetson Orin Nano Super 这种边缘设备里跑。这意味着:不需要云端大模型,机器人本地就能看、想、动。
之前的三段式流程是这样的:
三个模型串起来,延迟叠加、信息逐层丢失,就像传话游戏——传到最后,"帮我拿苹果"变成了"帮我拿个盆"。
VLA干掉了这个传话链条:一张图进去,关节角度出来,端到端,没有中间商赚差价。
VLA的输入同时包含:
三种token拼在一起,喂进Transformer,直接输出action token。
关键问题:动作是连续值(关节角度0.37弧度),怎么变成token?
方案:将连续动作空间离散化。比如把每个关节的旋转范围切分成256个bin,每个bin对应一个token。这样动作就变成了"词汇",模型可以用生成文字的方式生成动作。
OpenClaw的Agent架构天然适合VLA场景——Agent Loop的"观察→推理→行动"循环和VLA的"视觉→语言→动作"管线完美对应。
# openclaw agent config: vla-robot-agent
name: vla-robot-agent
model: gemma4-vla-local # 本地部署的Gemma 4 VLA
skills:
- name: robot-perception
description: "处理摄像头输入,识别场景中的物体和状态"
tools:
- camera_capture
- object_detection
- name: task-planning
description: "将自然语言指令分解为可执行的子动作序列"
tools:
- action_decomposer
- safety_checker
- name: action-execution
description: "将VLA输出的action tokens转为机器人控制信号"
tools:
- action_token_decoder
- motor_controller
cron:
- schedule: "*/1 * * * *"
task: "安全巡检:检查机器人关节角度是否在安全范围内"
memory:
type: episodic
retention: 24h # 保留24小时的交互记忆
storage: /var/robot/memory/
# skills/vla-inference/SKILL.md
---
name: vla-inference
description: 调用本地VLA模型进行视觉-语言-行动推理
tools:
- camera_capture
- vla_model_infer
- action_executor
---
## 推理流程
1. 捕获当前视觉帧
2. 组装多模态输入(image + instruction + proprio)
3. 调用VLA模型推理
4. 解码action tokens为关节角度
5. 安全检查后执行
## 输入格式
```json
{
"image": "base64_encoded_frame",
"instruction": "pick up the red cup",
"proprioception": [0.12, -0.34, 0.56, ...]
}
```
## 输出格式
```json
{
"actions": [
{"joint": "shoulder", "angle": 0.45},
{"joint": "elbow", "angle": -0.23},
{"joint": "wrist", "angle": 0.78}
],
"confidence": 0.92,
"estimated_time_ms": 120
}
```
import openclaw
import base64
import numpy as np
# 初始化OpenClaw Agent
agent = openclaw.Agent("vla-robot-agent")
# 捕获摄像头帧
frame = agent.tools.camera_capture()
# 编码为base64
frame_b64 = base64.b64encode(frame).decode()
# 本体感知数据(当前关节角度)
proprio = np.array([0.12, -0.34, 0.56, 0.11, -0.89, 0.33])
# 调用VLA推理
result = agent.tools.vla_model_infer(
image=frame_b64,
instruction="把红色杯子拿到桌子左边",
proprioception=proprio.tolist()
)
# 安全检查 + 执行
if result["confidence"] > 0.8:
safety_ok = agent.tools.safety_checker(result["actions"])
if safety_ok:
agent.tools.action_executor(result["actions"])
print(f"✅ 动作已执行,预计耗时 {result['estimated_time_ms']}ms")
else:
print("⚠️ 安全检查未通过,动作已拦截")
else:
print(f"⚠️ 置信度不足:{result['confidence']}")
| 模型 | 参数量 | 运行设备 | 特点 |
|------|--------|----------|------|
| Gemma 4 VLA | 4B/12B | Jetson Orin Nano | Google出品,边缘端友好 |
| RT-2 | 55B | 云端 | 先驱之作,证明VLA可行性 |
| Octo | 93M | 桌面GPU | 开源,小而美 |
| π0 | 3B/5B | 服务器 | Physical Intelligence出品 |
| OpenVLA | 7B | 单GPU | 开源标杆,社区活跃 |