Credit assignment and policy-gradient optimization, redefined in language space.
Both papers accepted to EMNLP 2026
LLM agents coordinate well when a human writes the right prompts. They stop getting better the moment that human stops. The reason is not model capacity — it is that a multi-agent system only ever observes a global outcome: the team succeeded, or it did not. That signal cannot say which agent should change, so self-improvement degenerates into vague reflections and monolithic prompt rewrites.
Classical multi-agent reinforcement learning has a name for this — the credit assignment problem — and forty years of machinery for solving it. Our work brings that machinery into language space, where an agent's "parameters" are text rather than tensors. Two papers ask the same question at two levels of abstraction:
LangMARL rebuilds the cooperative MARL stack in natural language: a language policy actor per agent, a centralized language critic that reads whole trajectories and emits per-agent causal credits, a language policy gradient estimator, and a language policy optimizer — all under centralized training with decentralized execution, and packaged with TorchRL-style abstractions.
It leads on HotPotQA, MATH, HumanEval, all five Overcooked-AI layouts, and Pistonball up to 20 agents. The critic's attributions agree with human annotators on 89.9% of trajectories, and identically-prompted agents spontaneously differentiate into complementary roles.
Experience memories record what happened; skills record what to do again. MASkills makes
the skill library — skill.yaml, SKILL.md, resources — the thing being optimized.
A critic assigns credit to individual skill invocations by counterfactual comparison;
edit directions are aggregated across trajectories, skills, agents, and topologies and smoothed with
momentum; four operators refine, induce, consolidate, and prune skills, with every edit
gated by held-out validation and rollback.
It reaches 76.3 F1 on HotpotQA and 23.3 average on GAIA, and skills learned in one environment transfer to unseen tasks with no further optimization.
Both frameworks run the same four-stage loop. Only the object being optimized changes — a policy in LangMARL, a skill library in MASkills.
TensorDict →
langmarl.State, ProbabilisticActor → langmarl.LLMActor,
ValueOperator → langmarl.LLMCritic, Adam →
langmarl.LanguagePolicyOptimizer. Building an LLM multi-agent optimizer looks like writing a
standard deep-RL pipeline.
@inproceedings{yao2026langmarl,
title={LangMARL: Natural Language Multi-Agent Reinforcement Learning via Semantic Credit Assignment},
author={Yao, Huaiyuan and Da, Longchao and Liu, Xiaoou and Fleming, Charles and Chen, Tianlong and Wei, Hua},
booktitle={Proceedings of the 2026 Conference on Empirical Methods in Natural Language Processing (EMNLP)},
year={2026},
url={https://github.com/DaRL-GenAI/LangMARL},
}
@inproceedings{yao2026maskills,
title={MASkills: Continual Skills Optimization for Multi-Agent LLM Systems},
author={Yao, Huaiyuan and Liu, Xiaoou and Fleming, Charles and Chen, Tianlong and Wei, Hua},
booktitle={Findings of the Association for Computational Linguistics: EMNLP 2026},
year={2026},
url={https://github.com/DaRL-GenAI/MASkills},
}