[Proposal] TCOD — extending slime's On-Policy Distillation to multi-turn agents
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 25/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Necesita aclaración
- Estado de actividad
- Tranquilo
- Stack tecnológico
- python
- Área
- ai, machine-learning
Línea de trabajo
Comienza con CONTRIBUTING.md y el punto de entrada existente examples/on_policy_distillation; después, determina si slime admite la ruta de rollout multi-turno descrita en el issue. Se considera completado cuando se haya establecido si TCOD debe incorporarse como un ejemplo hermano verificable o debe seguir siendo un proyecto independiente enlazado desde README.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Your Question
I'd like to bring TCOD (a published method, arXiv:2604.24005) to slime: on-policy distillation for multi-turn agents with a temporal curriculum — essentially the multi-turn extension of your existing single-turn OPD example (examples/on_policy_distillation). It is not yet implemented in any RL framework, so I'm asking where it best fits before writing any slime-specific code, rather than showing up with an unsolicited recipe PR. Two concrete questions:
- Does slime support multi-turn agent rollouts (LLM → env step → repeat) that TCOD's curriculum would hook into? Your current OPD example is single-turn (math), so if multi-turn agent rollout isn't a supported path yet, TCOD probably belongs in a standalone repo instead of the core examples.
- If multi-turn rollout is supported, would you accept TCOD as an example sibling to
examples/on_policy_distillation(lightweight, CI/run-verifiable)? If not, would you be open to linking a standalone TCOD repo from the slime README — the path CONTRIBUTING points to for algorithm-style projects?
Either way I'm not proposing large refactors or new abstractions into the core.
What I've Tried
- Read CONTRIBUTING and checked TCOD against your scope, which is why I'm opening a question first instead of a PR.
- Studied
examples/on_policy_distillation: a Qwen3-8B student imitates a Qwen3-32B teacher by matching token-level log-probs as a KL penalty on top of the advantage estimator (Math500 76% → 94%), single-turn, with sglang / megatron teacher modes. TCOD reuses this same on-policy KL-to-teacher objective. - TCOD itself (in the paper): single-turn OPD applied to multi-turn agents is unstable — errors compound across turns, per-turn KL grows with turn index, trajectory KL escalates and success rate collapses. TCOD keeps the standard KL-to-teacher objective but grows the trajectory depth
kexposed to the student short→long (k = min(k_start + floor(n/η), k_max)), in two variants: F2B (student rolls out only the firstksteps, drop-in) and B2F (teacher replays the firstL-ksteps to seed the student, then student takes the remainingk). Reported gains: +up to ~15 SR over vanilla OPD, stable KL, ~32% less training time.
Environment (if relevant)
No response
Additional Context
- Author: @kokolerk (author of the TCOD paper)
- TCOD paper: arXiv:2604.24005
- slime OPD example: https://github.com/THUDM/slime/tree/main/examples/on_policy_distillation
- slime CONTRIBUTING: https://github.com/THUDM/slime/blob/main/CONTRIBUTING.md
- Standalone TCOD repo: https://github.com/kokolerk/TCOD
Pre-submission Checklist
- I have read the CONTRIBUTING.md and understand the collaboration scope.
- I have read the documentation and FAQ and my question is not answered there.
- I have searched for existing issues and my question has not been asked before.
- Lenguaje dominante
- Python
- Estrellas
- 8.7k
- Forks
- 1.3k
- Merge medio
- 12 h 30 min
- PR fusionados (30 d)
- 32
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Sin plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de THUDM/slime
-
gpqa: when no option letter can be extracted, a single-letter gold label is substring-matched against the whole reply, so a reply that never answers can score 1.0Posiblemente ocupada @shaurya416 la tomó hace 27 días. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
Los mantenedores suelen responder en 1 día
-
[Bug] shipped dynamic-sampling filters crash on fan-out groups (list[list[Sample]]) from multi-turn agent rolloutsPosiblemente ocupada @QIU-Guanzong la tomó hace 38 días. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
Los mantenedores suelen responder en 1 día
-
[Bug] W&B initialization fails with wandb 0.28.2 because wandb.util.generate_id was removedPosiblemente ocupada @cyyecao-lappland la tomó hace 56 días. Abiertobug
Dificultad 1/5 1-3 horas Aptitud para principiantes 90/100
THUDM/slime#2332 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
[Bug] solution_str = sample.prompt + sample.responsePosiblemente ocupada @mvanhorn la tomó hace 121 días. Abiertobug
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
THUDM/slime#1829 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
THUDM/slime#1628 · 1 reacción ·
Los mantenedores suelen responder en 1 día
Todos los issues de THUDM/slime
Issues similares
-
comp/tools P2 type/bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
NousResearch/hermes-agent#142908 · 1 comentario ·
-
[oblt-aw][autodoc] Fix malformed headings in new Buildkite docs pagesPosiblemente ocupada @github-actions la tomó hoy. Abiertodocumentation
Dificultad 1/5 Menos de una hora Aptitud para principiantes 83/100
Los mantenedores suelen responder en 1 día
-
[Bug]: fileUploadMatrix.test.ts URL case does a real DNS lookup and fails offlinePosiblemente ocupada @r2jaff la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
ComposioHQ/composio#5054 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 88/100
Los mantenedores suelen responder en 1 día
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
pytorch/tensordict#3286 ·
Los mantenedores suelen responder en 1 día