Глава 12: Offline RL для tool-using LLM-агентов
Agentic AI превращает использование языковых моделей в последовательное принятие решений; offline RL превращает залогированные agent traces в субстрат для более безопасного улучшения политики.
Зачем эта глава
Большинство текущих пайплайнов обучения LLM-агентов ближе к SFT, DPO, rejection sampling или online RL, чем к классическому offline RL. Это не упрек — эти методы работают, когда есть pairwise-предпочтения, живая обратная связь или дешёвые rollouts.
Но как только execution traces агента логируются как траектории state–action–reward, задача естественно ложится на framing из глав 1–3:
task → context/observation → thought/plan → tool call/action → tool result → next state → reward/outcome
Отличие от MuJoCo или D4RL не концептуальное, а прикладное:
| RL-объект | Классическое управление | Agentic LLM |
|---|---|---|
| State | Низкоразмерный вектор | Контекст, история, память, наблюдения инструментов |
| Action | Непрерывное / дискретное управление | Текст, tool call, API-запрос, шаг плана |
| Reward | Return среды | Успех задачи, verifier, human rating, штраф за cost/safety |
| Episode | Rollout фиксированной длины | Multi-turn взаимодействие |
| Policy | MLP / actor | LLM или LLM-router по инструментам |
Состояния высокоразмерны и частично наблюдаемы; пространство действий огромно и структурировано; награды часто разрежены и задержаны; credit assignment тянется через множество шагов рассуждения и вызовов tools. Это те же failure modes, что в offline DRL — экстраполяция, distribution shift, переоптимистичные value estimates — но с более «грязными» наблюдениями и слабыми симуляторами.
Эта глава переносит идеи книги на agentic AI. Она не утверждает, что CQL, IQL или TD3+BC вставляются в LangChain без адаптации. Она объясняет, что переносится, что нужно менять и какая инфраструктура (логирование, verifiers, replay) должна быть на месте.
Agent traces как offline RL data
Agent trace — траектория $\tau = (s_0, a_0, r_0, s_1, \ldots, s_T)$, где на каждом шаге могут быть:
- цель пользователя и история диалога,
- retrieved documents или memory,
- explicit plan, rationale summary или structured scratchpad, если это часть дизайна агента; hidden chain-of-thought обычно не следует требовать или хранить в RL dataset,
- structured tool call или свободная генерация,
- feedback среды / инструмента,
- скалярная или программная награда.
BC по успешным траекториям (SFT на ReAct-style демонстрациях) — baseline по умолчанию, аналог главы 1. Фреймворки вроде AgentGym (Xi et al., 2024) собирают multi-turn trajectories для web, embodied и tool-using задач. AgentTraj-style datasets — топливо для BC, ещё не offline RL — но субстрат, без которого offline RL невозможен.
Прикладной prerequisite — replayable trace schema: без согласованного логирования state snapshots, actions, observations, rewards и metadata behavior policy позже невозможны OPE, reward relabeling и conservative policy improvement.
Формулировка MDP / POMDP
Каждый LLM-вызов (или tool step) — одно решение в MDP:
- State $s_t$: всё, на чём политика условится — system prompt, цель, диалог, tool outputs, memory, retrieved context. Обычно POMDP: истинное состояние скрыто; агент видит context window.
- Action $a_t$: выход модели — JSON tool call, SQL, browser action или text plan.
- Transition $s_{t+1}$: обновление контекста часто детерминировано при $(s_t, a_t, o_t)$, но observation $o_t$ может приходить от stochastic, non-stationary или versioned tools и environments.
- Reward $r_t$: часто 0 до конца эпизода; затем success/failure, verifier score, human rating или shaped process reward.
Agent Lightning (Luo et al., 2025) формулирует это явно: execution — MDP, trajectories раскладываются на (state, action, reward). Agent Lightning не offline RL method в узком смысле CQL/IQL; это infrastructure, превращающая execution в RL-compatible transitions для online, off-policy или потенциально offline training.
Мост для практиков:
Agent observability / tracing → trajectories → offline or off-policy RL dataset
Логи LangChain-, AutoGen- или OpenAI Agents-style — потенциальные RL training data, если заданы rewards и границы state.
BC / SFT как baseline
SFT на expert или отфильтрованных успешных траекториях — behavioral cloning. Силён, когда behavior policy хорош, horizon короткий, failure modes редки.
Проваливается как BC (глава 1): compounding error, награда только для фильтрации, нет комбинирования хороших сегментов смешанных эпизодов.
Для multi-step tool use SFT не распределяет credit по шагам. Offline RL и advantage-weighted methods нужны, когда rewards и coverage это поддерживают.
Offline RL beyond SFT
DPO vs trajectory-level offline RL
DPO оптимизирует sequence-level log-likelihood ratio (сумму потокенных log-prob относительно reference-модели) под supervision pairwise-предпочтения. Поэтому step-level credit assignment слаб для multi-turn reasoning и tool use.
OREO (Wang et al., 2024/2025, ACL Findings 2025) — якорь: policy + value function через soft Bellman-style objective, мотивирован sparse rewards и credit assignment по шагам reasoning. Эмпирически лучше DPO-style baselines на GSM8K, MATH и ALFWorld.
Прямой предшественник — ILQL (Implicit Language Q-Learning; Snell et al., 2023): IQL (глава 5), адаптированный к генерации языка — expectile value-функция плюс неявное ограничение на support датасета, политика реализуется advantage-перевзвешиванием логитов базовой модели. Самый прямой мост от глав про value-пессимизм к LLM-политикам.
| Подход | Данные | Credit assignment |
|---|---|---|
| DPO / preference learning | Pairwise chosen vs rejected | Sequence-level preference signal |
| Offline RL (OREO-style) | Полные trajectories + rewards | Value function + Bellman backup по шагам |
Соответствие классическим идеям offline RL
Не читайте как «вставь CQL как есть». Это design vocabulary:
| Классический offline RL | Agentic AI analogue |
|---|---|
| BC | SFT на успешных traces |
| Policy constraint (TD3+BC, гл. 6) | KL-штраф к reference в RLHF / DPO / GRPO — тот же регуляризатор «держись близко к поведенческой» |
| AWR / AWAC / IQL | Веса по advantage, verifier score, process reward (ILQL = IQL прямо для токенной генерации) |
| CQL / pessimism | Штраф unsupported tool calls / plans |
| FQE / learned Q | Critic по agent states и actions |
| Decision Transformer | Conditioning на desired return / success |
| Model-based offline RL | Simulator, verifier, world model |
| OPE (гл. 3) | Sandbox replay, verifier rollouts, learned value |
LightningRL — hierarchical credit assignment + single-turn RL updates. Это off-policy RL bridge, не замена CQL/IQL на fixed logs.
Credit assignment в reasoning и tool use
RAGEN (Wang et al., 2025) — multi-turn agent RL (StarPO): нестабильность, Echo Trap, shallow reasoning без fine-grained rewards. RAGEN-2 (Wang et al., 2026) — template collapse, SNR-aware filtering. Caveats переносятся на offline: сильнее зависимость от data coverage, reward quality, evaluator fidelity.
Для offline: process rewards, step-level value targets, verifier-backed labels.
OPE для агентов
- Replay в sandbox — cached fixtures, recorded API responses.
- Verifiers — unit tests, SQL, retrieval, code execution.
- Learned critics — FQE-style или goal-conditioned values. Planning without Search (Hong et al., 2025) — natural-language critic без fine-tuning base LLM.
- Human / A/B review — при высоком deploy risk.
LLM как annotators, generators и critics
KALM и TEDUO — LLM-assisted offline RL, не всегда узкие «tool-using chat agents», но data-layer pattern переносится:
| Роль | Пример | Связь с offline RL |
|---|---|---|
| Trajectory generator | KALM | Imaginary rollouts + offline RL |
| Dataset labeler | TEDUO | LLM annotator до RL |
| Inference-time critic | Planning without Search (2505.18098) | Offline RL обучает critic |
| Reward model | LLM-as-judge | Комбинируйте с verifiers |
Failure modes
Reward hacking, spurious tool use, template collapse (RAGEN-2), unsupported tool calls (OOD), overconfident critics, non-stationary APIs, cost/safety в reward.
Toy example: calculator agent
Пример намеренно без language modeling: политика выбирает structured tool calls, не генерирует free text. Так изолируется offline RL: улучшение над logged behavior через value learning и support constraints.
📄 Код:
agentic_offline_rl_toy.py
Среда: задачи x+y, x-y, x*y; tools lookup_x, lookup_y, add, sub, mul, final. Награды: +1 / −1 / −0.02 за шаг.
Четыре политики: Behavior (logger), BC (majority action), naive FQI (tabular Q), support-constrained FQI (argmax только по actions из dataset на state — toy analogue CQL/support mask).
Два режима данных: (1) mul есть в логах; (2) на mul-задачах behavior никогда не вызывает mul.
Запуск: python code/agentic_offline_rl_toy.py
Типичный qualitative результат:
- Good coverage: FQI ≈ 1.0, улучшение над behavior (~0.7).
- No mul support: BC ~0.67; naive FQI на mul-only ≈ 1.0 (extrapolation — выбирает
mulбез support); support-constrained на mul ≈ 0 (отказывается от unsupported op).
State key включает (task, x_known, y_known, result) — числовой result, чтобы wrong/correct outcome не сливались.
Тезис: offline RL улучшает внутри support; conservative methods отказываются от unsupported improvement; unconstrained Q может «галлюцинировать» OOD actions. Начинайте с tabular toy, затем classifier / LLM + support filter.
Практическая schema логирования
{
"episode_id": "task_001",
"t": 3,
"task": "Find quarterly revenue in uploaded 10-K",
"state": {
"user_goal": "...",
"conversation_history": "...",
"available_tools": ["search", "open_pdf", "calculator"],
"memory": "...",
"retrieved_context": "..."
},
"action": {
"type": "tool_call",
"tool": "open_pdf",
"arguments": {"page": 42}
},
"observation": {
"tool_result": "...",
"error": null
},
"reward": 0.0,
"done": false,
"prompt_version": "agent_prompt_v12",
"tool_schema_version": "tools_2026_06_20",
"environment_version": "sandbox_v3",
"action_logprobs": null,
"reward_components": {
"task_success": 0.0,
"format_valid": 1.0,
"tool_error_penalty": 0.0,
"cost_penalty": -0.0031
},
"reward_source": "verifier_v2",
"verifier_version": "sec_filing_checker_2026_06",
"split": "train",
"metadata": {
"behavior_policy": "gpt-4.1-agent-v3",
"temperature": 0.2,
"latency_ms": 1400,
"cost_usd": 0.0031,
"safety_flags": []
}
}
Рекомендации:
stateвосстанавливаем на train/eval — версионируйтеprompt_version,tool_schema_version,environment_version.action— structured (JSON schema), где возможно.reward— хранитеreward_components,reward_source,verifier_versionотдельно от scalarreward.action_logprobs— для off-policy evaluation; логируйте, если behavior policy их отдаёт.metadata.behavior_policy— provenance. Importance-weighted OPE дополнительно требует comparable actions и behavior/target probabilities — для free-form LLM actions часто недоступно без log-probs при сборе.
Ограничения и честный scope
Большинство deployed agents — SFT + online RLHF/GRPO. Offline RL для agents силён при abundant replayable traces, reliable verifiers, нетolerance к exploratory online learning.
См. Приложение. Глава 13 завершает книгу.
Литература
- Wang, H., Hao, S., Dong, H., et al. (2024). Offline RL for LLM Multi-Step Reasoning (OREO). arXiv:2412.16145, ACL 2025, code.
- Snell, C., Kostrikov, I., Su, Y., Yang, M., & Levine, S. (2023). Offline RL for Natural Language Generation with Implicit Language Q-Learning (ILQL). ICLR. arXiv:2206.11871.
- Xi et al. (2024). AgentGym. arXiv:2406.04151, project.
- Luo et al. (2025). Agent Lightning. arXiv:2508.03680, docs.
- Pang et al. (2024). KALM. arXiv:2404.09248, project.
- Pouplin et al. (2024). The Synergy of LLMs & RL (TEDUO). ICML 2025. arXiv:2412.06877.
- Hong, J., Dragan, A., & Levine, S. (2025). Planning without Search: Refining Frontier LLMs with Offline Goal-Conditioned RL. NeurIPS 2025. arXiv:2505.18098.
- Wang et al. (2025). RAGEN. arXiv:2504.20073.
- Wang et al. (2026). RAGEN-2. arXiv:2604.06268, project.