配置规划器与模型服务#
RPent 通过一个 CLI 参数选择 Agentic Planner 的后端:
--planner {api,claude_code,codex,flash}
三种在线规划器(api、claude_code 和 codex)接收相同的系统提示词和用户提示词,也使用同一套 RPent 工具定义。它们的区别在于如何将这些工具接入模型、如何组织工具调用循环,以及使用哪个模型 SDK。
|
它是什么 |
什么时候选它 |
|---|---|---|
|
基于 Pydantic AI 实现的工具调用循环, 不绑定特定模型提供商。当前支持 Anthropic Messages API、OpenAI Responses API 和 OpenAI 兼容的 Chat Completions API,内置 prompt 缓存和历史图片剪枝。 |
直接调用 Anthropic、OpenAI 或兼容的模型服务。 |
|
Claude Agent SDK。把 RPent 的 toolkit 暴露为进程内 MCP 服务,由 Claude Agent SDK 驱动循环。 |
通过 Claude Agent SDK 运行工具调用循环。 |
|
OpenAI Codex Python SDK。RPent 在进程内启动 Streamable HTTP MCP 服务,把 toolkit 接入 Codex。 |
通过 Codex SDK 运行任务,复用已有的 Codex 认证或配置独立 API。 |
|
Flash Mode,仅用于评测。重放 memory 中保存的成功执行计划,并对每个路点 的锚点重新定位,使方案能跟随移动过的物体。参见 使用 Flash Mode。 |
想在新布局上低成本地重跑一个已知可行的方案,无需 LLM 在线规划;仍需要感知和 VLA 服务。 |
api 规划器(直接调用模型 API)#
--planner api 是默认选项。它使用 Pydantic AI 实现工具调用循环,并要求 --model 带有模型提供商前缀。当前项目安装的依赖包含 Anthropic 和 OpenAI 集成,因此可以直接使用 Anthropic Messages API、OpenAI Responses API,以及 OpenAI 兼容的 Chat Completions API。
通过 --model 前缀选择模型提供商:
# Anthropic Claude
rpent --planner api --model anthropic:claude-opus-4-8 ...
# OpenAI Responses (例如 GPT-5.5)
rpent --planner api --model openai:gpt-5.5 ...
# OpenAI 兼容的 Chat Completions(例如 GLM 5.2,纯文本)
rpent --planner api --model openai-chat:glm-5.2 --no-images ...
它读取以下环境变量;需要覆盖 API 地址时使用 --base-url:
anthropic:*→ANTHROPIC_BASE_URL/ANTHROPIC_API_KEYopenai:*/openai-chat:*→OPENAI_BASE_URL/OPENAI_API_KEY
api 规划器的相关参数:
--max-tokens—— 单次 LLM 回复的 token 上限(默认8192)。--max-turns—— 工具调用轮数上限(默认100)。--no-images—— 不向模型发送图片字节;纯文本模型必须加此参数。此时智能体只依赖文本状态推理,任务表现可能不够理想。
claude_code 规划器#
--planner claude_code 将工具调用循环交给 Claude Agent SDK。 RPent 通过 SDK 创建进程内 MCP 服务,并把 toolkit 的工具注册到 mcp__rpent__<name> 命名空间。
RPent 为 Claude 规划会话关闭文件系统配置来源,因此不会自动加载项目的 CLAUDE.md 和开发 skills。工作目录仍为仓库根目录。
rpent --robot libero --planner claude_code \
--model claude-opus-4-8 \
--suite libero_object_swap --task 2 --seed 0
注意事项:
--model不要 加模型提供商前缀;省略时默认使用sonnet。--max-turns会传给 Claude Agent SDK,默认100。非交互运行受
--planner-timeout-s限制;默认读取CELL_TIMEOUT_S,未设置时为1200秒。--interactive模式不应用这一时限。通过
--claude-code-max-budget-usd设置美元预算(默认取MAX_BUDGET_USD环境变量或10)。RPent 的依赖中已包含 Claude Agent SDK;该 SDK 自带 Claude Code 二进制文件,无需单独安装 CLI。认证通常使用
ANTHROPIC_API_KEY,详见 Claude Agent SDK 文档。
通过 Claude Code 使用本地模型#
Claude Code 可以连接兼容 Anthropic Messages API 的本地模型服务。假设服务将 Qwen3.6-27B 注册为 Qwen/Qwen3.6-27B,可以这样配置:
export ANTHROPIC_BASE_URL=http://127.0.0.1:8000
export ANTHROPIC_API_KEY=EMPTY
rpent --robot libero --planner claude_code \
--model Qwen/Qwen3.6-27B \
--suite libero_goal_task --task 1 --seed 0
对于无法识别的本地模型名称,Claude Code 默认按 200,000 token 的上下文窗口管理会话。如果本地服务使用其他长度,请参考 Claude Code 环境变量文档 配置它的上下文和自动压缩参数。
codex planner#
--planner codex 使用 OpenAI Codex Python SDK。每次运行时,RPent 会在当前进程的后台线程中启动本地 Streamable HTTP MCP 服务,Codex 通过该服务调用同一个 toolkit;无需预先启动 scripts/codex_proxy/。
Codex 规划会话不会自动加载仓库的 AGENTS.md 和 .agents/skills/ 中的开发 skills。工作目录仍为仓库根目录,机器人指南和 memory 仍可通过已有工具读取。
rpent --robot libero --planner codex \
--model gpt-5.5 \
--suite libero_goal_task --task 1 --seed 0
注意事项:
设置
CODEX_SERVICE_TIER=fast可向 Codex 后端传入 fast 服务档位,不改变--reasoning-effort。未设置时 RPent 不覆盖服务档位。--model会覆盖CODEX_MODEL;两者都未设置时使用 Codex SDK 配置的默认模型。--planner-timeout-s限制 Codex 运行时间。默认依次读取CODEX_TIMEOUT_S、CELL_TIMEOUT_S,均未设置时为1200秒。默认情况下,Codex SDK 会复用已有的 Codex 认证。若要接入自定义的 Responses API 兼容端点,请设置
CODEX_BASE_URL和CODEX_API_KEY;这里不读取OPENAI_BASE_URL或OPENAI_API_KEY。
通过 Codex 使用本地模型#
Codex 可以连接兼容 OpenAI Responses API 的本地模型服务。下面以通过 vLLM 启动 Qwen3.6-27B 为例:
vllm serve /path/to/Qwen3.6-27B \
--served-model-name Qwen/Qwen3.6-27B \
--max-model-len 262144 \
--reasoning-parser qwen3 \
--enable-auto-tool-choice \
--tool-call-parser qwen3_coder
然后让 Codex 连接本地服务,并填写该服务实际开放的上下文限制:
export CODEX_BASE_URL=http://127.0.0.1:8000
export CODEX_API_KEY=EMPTY
export CODEX_MODEL_CONTEXT_WINDOW=262144
export CODEX_AUTO_COMPACT_TOKEN_LIMIT=230000
rpent --robot libero --planner codex \
--model Qwen/Qwen3.6-27B \
--suite libero_goal_task --task 1 --seed 0
vLLM 在兼容 OpenAI 的 /v1/models 响应中用 max_model_len 表示该上限,而 Codex 使用的模型目录格式要求 context_window 字段。因此,Codex 无法识别 vLLM 返回的模型元数据时会使用备用配置。请将 CODEX_MODEL_CONTEXT_WINDOW 设置为当前 vLLM 服务的 --max-model-len。这是服务实际接受的上限;为了适应可用显存,它可以低于 checkpoint 配置中标注的最大长度。
CODEX_AUTO_COMPACT_TOKEN_LIMIT 用于设置 Codex 自动压缩会话历史的触发点。该值应小于 CODEX_MODEL_CONTEXT_WINDOW,为下一次回复预留空间;当服务窗口为 262144 token 时,230000 是一个示例值。这两个变量都是可选的;如果未设置,Codex 将使用自身的默认值。
RPent 的 --model 必须与 vLLM 的 --served-model-name 保持一致。使用其他模型时,请按照对应的 vLLM 部署说明设置解析参数。
验证你的配置#
在启动完整任务前,先用 rpent-check-llm 检查模型服务的连接与认证配置。它会向所选后端发送其支持的最小真实请求,不携带工具或图像,也不启动机器人运行环境:
rpent-check-llm --planner api --model anthropic:claude-opus-4-8
rpent-check-llm --planner claude_code
rpent-check-llm --planner codex --json
成功时退出码为 0,任何失败为 1,并将失败归类为 missing_config、unsupported_provider、missing_api_key、 auth_failed、network_error、provider_error、sdk_error 之一。脚本与 CI 建议使用 --json。--base-url 覆盖后端端点, --timeout-s 覆盖诊断超时(api 为 30 秒,两个 SDK 后端为 90 秒;运行时的 1200 秒默认值不会被复用)。
使用 Dashboard 时,也请先在终端运行上述检查,并使用准备运行任务的规划器与模型配置。Dashboard 从命令行接收配置,打开后直接显示运行监控页面。启动方法见 使用 Dashboard。
检查通过只能证明认证与网络可达。它并不能证明模型会接受图像块(参见 --no-images)、你的工具 schema,或你的上下文长度。
添加规划器#
自定义规划器的接口、接入步骤和验证要求见 添加规划器。
设置规划器的运行限制#
以下参数的作用范围并不相同:
--max-tokens只限制api规划器每次回复的 token 数。LIBERO 类任务通常使用8192即可;RoboCasa 的长时序任务可以在模型支持的范围内调大。--max-turns限制工具调用的总轮数。单个 LIBERO 任务通常不会超过 30 轮;RoboCasa 的长时序任务可能接近默认的100。--planner-timeout-s限制规划器的运行时间。
模型调用 finish 工具后,规划器会记录相应的结束状态。达到轮数上限或超时时,运行结束,主程序仍会保存对话记录。超时或 SDK 异常会写入规划器结果,并输出到日志。