whatisgithub

What is appo?

amap-ml/appo — explained in plain English

Analysis updated 2026-05-18

22PythonAudience · researcherComplexity · 5/5Setup · hard

In one sentence

A research project that trains AI language models to use tools more effectively by branching training at the most uncertain decision points.

Mindmap

mindmap
  root((repo))
    What it does
      Tool-use training
      Procedure-aware branching
      Reinforcement learning
    Tech stack
      Python
      VERL
      LLaMA-Factory
    Use cases
      Train tool-using models
      Improve agent decisions
      Benchmark evaluation
    Audience
      Researchers
    Setup
      Multiple Python envs
      Qwen or Llama base

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Train a language model to make better decisions during multi-step, tool-calling tasks.

USE CASE 2

Fine-tune a base model on curated reasoning examples before reinforcement learning.

USE CASE 3

Evaluate a trained agent's tool-use performance against research benchmarks.

What is it built with?

PythonVERLLLaMA-FactoryQwenLlama

How does it compare?

amap-ml/appoagno-agi/agent-platform-railwayalexantaluo0/acot-vla-wm
Stars222222
LanguagePythonPythonPython
Setup difficultyhardmoderatehard
Complexity5/54/55/5
Audienceresearcherdeveloperresearcher

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · hard Time to first run · 1day+

Requires GPU infrastructure, multiple Python environments, and a web search tool API.

No license information is stated in the README, users are asked to cite the related ARPO paper.

So what is it?

APPO (Agentic Procedural Policy Optimization) is a research project for training AI language models to use tools more effectively. It extends an earlier system called ARPO (Agentic Reinforced Policy Optimization) by adding a technique called procedure-aware branching. The core idea is that when an AI is working through a multi-step task that involves calling external tools like web search, there are certain moments where its decision is particularly uncertain. APPO identifies those moments and explores multiple paths forward from them, then uses the results to better teach the AI which decisions lead to good outcomes. The branching approach is guided by a formula called the Branching Score, which combines how uncertain the model is at a given step with how differently the model would behave if it were retrained on the results of that step. Only the most informative moments are branched, keeping the training process manageable. When branches are explored, they reuse the same tool-calling setup as the main rollout, but their outcomes are mapped back to credit the original trajectory rather than training on the branch steps directly. In practice, using APPO involves three stages. The first is optional: fine-tuning a base model on curated examples of good reasoning to give training a head start. The second stage is the main reinforcement learning loop, where the model generates multi-step responses using tools (web search via a service called Bright Data), branches at identified decision points, and updates its parameters based on the outcomes. Scripts are provided for models ranging from 7 billion to 14 billion parameters, based on the Qwen and Llama families of open-source language models. The third stage is evaluation against benchmarks. The project builds on top of VERL, a framework for large-scale reinforcement learning of language models, and the LLaMA-Factory fine-tuning toolkit. Setup involves creating separate Python environments for each pipeline stage. The research paper citation is marked as coming soon, but the project asks users to cite the ARPO paper if they use the underlying codebase or datasets.

Copy-paste prompts

Prompt 1
Explain how the Branching Score decides which training steps to explore further.
Prompt 2
Walk me through setting up separate Python environments for each APPO training stage.
Prompt 3
Help me understand how APPO extends the earlier ARPO reinforcement learning method.
Prompt 4
Show me how to run the second-stage reinforcement learning loop with a 7B Qwen model.

Frequently asked questions

What is appo?

A research project that trains AI language models to use tools more effectively by branching training at the most uncertain decision points.

What language is appo written in?

Mainly Python. The stack also includes Python, VERL, LLaMA-Factory.

What license does appo use?

No license information is stated in the README, users are asked to cite the related ARPO paper.

How hard is appo to set up?

Setup difficulty is rated hard, with roughly 1day+ to a first successful run.

Who is appo for?

Mainly researcher.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.