Learning to Present: Inverse Specification Rewards for Agentic Slide Generation
Organizations: Tavus Inc. · University of Texas at Dallas · Texas A&M University
Abstract
Automated presentation generation remains a challenging task requiring coherent content creation, visual design, and audience-aware communication. This work proposes an OpenEnv-compatible reinforcement learning environment where LLM agents learn to research topics, plan content, and generate professional HTML slide presentations through tool use. We introduce a multi-component reward system combining structural validation, render quality assessment, LLM-based aesthetic scoring, content quality metrics, and an inverse specification reward that measures how faithfully generated slides convey their intended purpose. The inverse specification reward, an "inverse task" where an LLM attempts to recover the original specification from generated slides, provides a holistic quality signal. Our approach fine-tunes Qwen2.5-Coder-7B via GRPO, training only 0.5% of parameters on prompts derived from expert demonstrations collected using Claude Opus 4.6. Experiments on 48 diverse business briefs across six models demonstrate that our fine-tuned 7B model achieves 91.2% of Claude Opus 4.6's quality while improving 33.1% over the base model. The six-model comparison reveals that instruction adherence and tool-use compliance, rather than raw parameter count, determine agentic task performance. We contribute SlideRL, an open-source dataset of 288 multi-turn rollout trajectories across all six models: https://huggingface.co/datasets/KarthikRagunathAnandaKumar/sliderl-multi-turn-rollouts Code: https://github.com/pushing-the-frontier/slide-forge-llm
Figures & tables
| Category | Tools | Description |
|---|---|---|
| Research | web_search , fetch_url | Info gathering |
| Content | create_outline , revise_outline | Planning |
| Design | generate_slide , edit_slide , set_theme | Slide creation |
| Structure | get_slide_content , delete_slide , reorder_slides , duplicate_slide , insert_slide | Deck ops |
| Meta | review_deck , finalize | Quality control |
| Field | Type | Description |
|---|---|---|
| brief | SlideBrief | Task configuration |
| research_context | list[dict] | Accumulated research |
| outline | list[dict] | Slide structure |
| slides_html | list[str] | Generated HTML |
| slides_png | list[bytes] | Rendered PNGs |
| theme | str | Visual theme |
| Field | Type | Description |
|---|---|---|
| result | str | Tool execution result |
| success | bool | Action succeeded |
| current_slide_count | int | Slides created |
| phase | str | Workflow phase |
| slide_previews | list[str] | Base64 PNG thumbnails |
| Component | Weight | Description |
|---|---|---|
| code_rules | 1.0 | Structural validation |
| render_quality | 2.0 | Render success, HTML validity |
| aesthetic_html | 1.5 | HTML design quality |
| aesthetic_visual | 1.5 | Visual screenshot quality |
| content_quality | 2.0 | Topic relevance, grounding |
| spec_reconstruction | 2.0 | Inverse specification faithfulness |
| Parameter | Value |
|---|---|
| Base model | Qwen2.5-Coder-7B-Instruct |
| Parameters (total) | 7.61B |
| Quantization | 4-bit NormalFloat |
| LoRA rank ( ) | 16 |
| LoRA alpha ( ) | 16 |
| LoRA dropout | 0.0 |
| Model | Type | Params |
|---|---|---|
| Fine-tuned (Ours) | LoRA Qwen2.5-7B | 7B (0.5% train.) |
| Base Qwen 7B | Qwen2.5-7B-Inst. | 7B |
| Claude Opus 4.6 | Proprietary | Undisclosed |
| Claude Sonnet 4.6 | Proprietary | Undisclosed |
| Llama 4 Scout | Open-weight | 109B (17B active) |
| GPT OSS 120B | Open-weight | 120B |
| Metric | Fine-tuned (Ours) | Base Qwen | Claude Opus 4.6 | Claude Sonnet 4.6 | Llama 4 Scout | GPT OSS 120B |
|---|---|---|---|---|---|---|
| Overall quality | 0.724 | 0.544 | 0.794 | 0.775 | 0.779 | 0.249 |
| Completion rate | 46/48 (95.8%) | 34/48 (70.8%) | 48/48 (100%) | 48/48 (100%) | 48/48 (100%) | 15/48 (31.2%) |
| Avg turns used | 22.3 | 19.1 | 27.8 | 29.2 | 18.3 | 6.5 |
| Avg slides created | 7.0 | 5.2 | 7.3 | 7.3 | 7.3 | 2.2 |
| Avg time/brief | 71.6s | 43.8s | 393.3s | 421.7s | 155.4s | 66.1s |
| Component | Fine-tuned | Base Qwen | Claude Opus | Claude Sonnet | Llama 4 Scout | GPT OSS 120B |
|---|---|---|---|---|---|---|
| code_rules | 0.905 | 0.663 | 0.960 | 0.931 | 0.949 | 0.294 |
| render_quality | 0.958 | 0.708 | 1.000 | 1.000 | 1.000 | 0.309 |
| content_quality | 0.783 | 0.604 | 0.878 | 0.884 | 0.903 | 0.270 |
| aesthetic_html | 0.658 | 0.492 | 0.761 | 0.727 | 0.660 | 0.241 |
| aesthetic_visual | 0.539 | 0.397 | 0.568 | 0.550 | 0.546 | 0.184 |
| spec_reconstruction | 0.530 | 0.412 | 0.616 | 0.567 | 0.615 | 0.199 |
| Brief | Ours | Next Best | |
|---|---|---|---|
| Cloud Cost Optimization | 0.836 | Sonnet 4.6 (0.788) | |
| Content Marketing ROI | 0.826 | Opus 4.6 (0.824) | |
| Customer Success Metrics | 0.816 | Opus 4.6 (0.807) | |
| B2B Sales Automation | 0.800 | Opus 4.6 (0.770) | |
| Edge Computing Analysis | 0.792 | Base Qwen (0.781) |
| Run | Dataset | Steps | Aggregate | Compl. Rate |
|---|---|---|---|---|
| Curated | 3 traj. | 100 | 0.623 | 71.2% |
| Curated | 3 traj. | 200 | 0.689 | 82.4% |
| Scaled | 48 traj. | 200 | 0.724 | 95.8% |
| Scaled | 48 traj. | 300 | 0.0 | 0% |
| Scaled | 48 traj. | 1000 | 0.0 | 0% |
| Steps | Avg | Min | Max | Diagnosis |
|---|---|---|---|---|
| 0–49 | Exploration | |||
| 50–99 | Still exploring | |||
| 100–149 | Early learning | |||
| 150–199 | Rapid improvement | |||
| 200–249 | Residual diversity | |||
| 250–299 | Degenerate emerging |
Appendix figures & tables2 assets
Supplementary material from the paper’s appendix.
Appendix
| Tool | Parameters | Description |
|---|---|---|
| web_search | query: str | Search web |
| fetch_url | url: str | Fetch URL |
| create_outline | sections: list | Create outline |
| revise_outline | slide_idx, ... | Edit outline |
| generate_slide | slide_idx, ... | Generate slide |
| edit_slide | slide_idx, ... | Edit slide |
| Theme | Bg | Text | Accent | Secondary |
|---|---|---|---|---|
| default | (255,255,255) | (33,33,33) | (41,98,255) | (100,181,246) |
| dark | (30,30,30) | (240,240,240) | (0,200,83) | (76,175,80) |
| corporate | (245,245,245) | (44,62,80) | (52,73,94) | (149,165,166) |
| creative | (255,253,231) | (33,33,33) | (255,87,34) | (255,167,38) |
| tech | (18,18,18) | (224,224,224) | (0,229,255) | (29,233,182) |
LLM Agent Training
Large language model agent training teaches models to plan, use tools, and learn from multi-step interaction with environments.
See all 585 papers