Papers › From Soliloquy to Agora: Memory-Enhanced LLM Agents with Decentralized Debate for...

From Soliloquy to Agora: Memory-Enhanced LLM Agents with Decentralized Debate for Optimization Modeling

28 Apr 2026arXiv:2604.25847added by Syntology

Jianghao Lin, Zi Ling, Chenyu Zhou, Tianyi Xu, Ruoqing Jiang, Zizhuo Wang, Dongdong Ge

Title, abstract, authors and date from arXiv's metadata (CC0); this paper is not in the Papers with Code archive (frozen 2025-07-28).

Optimization modeling underpins real-world decision-making in logistics, manufacturing, energy, and public services, but reliably solving such problems from natural-language requirements remains challenging for current large language models (LLMs). In this paper, we propose \emph{Agora-Opt}, a modular agentic framework for optimization modeling that combines decentralized debate with a read-write memory bank. Agora-Opt allows multiple agent teams to independently produce end-to-end solutions and reconcile them through an outcome-grounded debate protocol, while memory stores solver-verified artifacts and past disagreement resolutions to support training-free improvement over time. This design is flexible across both backbones and methods: it reduces base-model lock-in, transfers across different LLM families, and can be layered onto existing pipelines with minimal coupling. Across public benchmarks, Agora-Opt achieves the strongest overall performance among all compared methods, outperforming strong zero-shot LLMs, training-centric approaches, and prior agentic baselines. Further analyses show robust gains across backbone choices and component variants, and demonstrate that decentralized debate offers a structural advantage over centralized selection by enabling agents to refine candidate solutions through interaction and even recover correct formulations when all initial candidates are flawed. These results suggest that reliable optimization modeling benefits from combining collaborative cross-checking with reusable experience, and position Agora-Opt as a practical and extensible foundation for trustworthy optimization modeling assistance. Our code and data are available at https://github.com/CHIANGEL/Agora-Opt.

PaperPDFCode Syntology ran

In Syntology Open this paper in Syntology's Atlas, the map of the papers in Syntology's graph and their citations.

For agents, Syntology's MCP tool lists every function and class Syntology harvested from this paper and whether it ran (how to connect): get_harvested_code_for_paper(arxiv_id="2604.25847")

Code

Syntology Ran 18 of 21 code samples harvested from 1 repository linked to this paper; 3 have no recorded run. Of those that ran: 18 ran with no contract checked.

By repository: found in paper text by Syntology: 21 samples from 1 repository, 18 ran. The run record, sample by sample. “Ran” means executed on a synthesized input, not that the code is correct or reproduces the paper.

CHIANGEL/Agora-Opt found in paper text by Syntology report

Reachability, where shown, is from one Syntology probe window (2026-09-16 to 2026-09-18); repositories not probed show nothing. GitHub stars are not tracked.

Code Syntology ran Syntology

21 samples harvested; 18 ran; 0 honoured the contract we drafted; 3 have no recorded run. Read from Syntology's graph 2026-09-24; that is when this build read the record, not when the samples ran.

18ran
3unverified

Licence: 21 of the 21 samples are pointer only, meaning Syntology does not serve that copy's text. This page shows no code text for any sample; each one links to its file in the repository.

Harvested from CHIANGEL/Agora-Opt. “Ran” means the sample executed on a synthesized input. It does not mean the output is correct, and nothing here reproduces the paper's results. “Honoured” and “violated” refer to a contract Syntology drafted from the code itself; “our draft was wrong” and “fixture could not drive it” are failures of Syntology's instrument, not of the code.

Each sample ends with its code_sha256, Syntology's identity for that exact code. An agent fetches the stored sample with Syntology's MCP tool get_code(code_sha256="…") (how to connect); click an identity to copy that call.

Repository labels, per sample. official repository: The archive marks this repository official for the paper. named in the paper: The archive records that the paper mentions this repository; it is not marked official. community (archive-listed): In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper. found in paper text by Syntology: Syntology found this repository in the paper's own text; whether it is the authors' implementation is not asserted. community: Not in the archive's code links for this paper; a community repository Syntology harvested. Samples from a repository marked official are listed first. Licence labels name the repository's licence as recorded at harvest. “Pointer only” means Syntology does not serve that copy's text, for one of four reasons: no licence file was found; the licence was not identified; the licence is recorded as permissive but that copy's record is not marked cleared; or the licence is outside the permissive list Syntology serves text under (MIT, Apache-2.0, BSD and similar). Some licences outside that list permit redistribution, such as WTFPL, and GPL-3.0 under its conditions; they are simply not on the list. Hover a licence label for the reason. File links open the file on GitHub at the default branch, which may have changed since the harvest.

append_jsonl CHIANGEL/Agora-Opt/code/Agora-Opt/src/debate_memory/augment_memory_from_standalone_runs.py found in paper text by Syntology ran no licence file found · pointer only · f2e0470ab486dc67 · report
enhance_code_with_objective_print CHIANGEL/Agora-Opt/code/Agora-Opt/src/debate_memory/execute.py found in paper text by Syntology ran fingerprinted no licence file found · pointer only · 28d4951fdfe6feb5 · report
execute_generated_code CHIANGEL/Agora-Opt/code/Agora-Opt/src/debate_memory/debug_executor.py found in paper text by Syntology ran no licence file found · pointer only · 330a48901c704bca · report
extract_objective_value CHIANGEL/Agora-Opt/code/Agora-Opt/src/debate_memory/execute.py found in paper text by Syntology ran fingerprinted no licence file found · pointer only · 11791e1219a03bdf · report
extract_python_code CHIANGEL/Agora-Opt/code/Agora-Opt/src/debate_memory/generate_with_memory.py found in paper text by Syntology ran fingerprinted no licence file found · pointer only · 0d68281fa7da95c0 · report
float_or_none CHIANGEL/Agora-Opt/code/Agora-Opt/src/debate_memory/debate_memory_builder.py found in paper text by Syntology ran fingerprinted no licence file found · pointer only · 6082897f8202077d · report
get_dataset_config CHIANGEL/Agora-Opt/code/Agora-Opt/src/debate_memory/config.py found in paper text by Syntology ran fingerprinted no licence file found · pointer only · dfbd183d86f5f6f0 · report
get_model_config CHIANGEL/Agora-Opt/code/Agora-Opt/src/debate_memory/config.py found in paper text by Syntology ran fingerprinted no licence file found · pointer only · c9c307b776287e07 · report
get_prompt_template CHIANGEL/Agora-Opt/code/Agora-Opt/src/debate_memory/config.py found in paper text by Syntology ran fingerprinted no licence file found · pointer only · 52c806901ec13ce4 · report
has_disagreement CHIANGEL/Agora-Opt/code/Agora-Opt/src/debate_memory/debate_memory_builder.py found in paper text by Syntology ran no licence file found · pointer only · 725fe4f58fd50b1d · report
load_benchmark_data CHIANGEL/Agora-Opt/code/Agora-Opt/src/debate_memory/build_memory_from_eval_results.py found in paper text by Syntology ran fingerprinted no licence file found · pointer only · 095d38e3f8704a02 · report
load_debug_records CHIANGEL/Agora-Opt/code/Agora-Opt/src/debate_memory/debug_memory_builder.py found in paper text by Syntology ran no licence file found · pointer only · 8602e112f33f478a · report
load_evaluation_results CHIANGEL/Agora-Opt/code/Agora-Opt/src/debate_memory/build_memory_from_eval_results.py found in paper text by Syntology ran fingerprinted no licence file found · pointer only · 76d7c42b9a7c9133 · report
load_json CHIANGEL/Agora-Opt/code/Agora-Opt/src/debate_memory/augment_memory_from_standalone_runs.py found in paper text by Syntology ran no licence file found · pointer only · b85a1300a89a5565 · report
load_jsonl CHIANGEL/Agora-Opt/code/Agora-Opt/src/debate_memory/augment_memory_from_standalone_runs.py found in paper text by Syntology ran no licence file found · pointer only · 888f5c53e1db5aa6 · report
load_jsonl CHIANGEL/Agora-Opt/code/Agora-Opt/src/debate_memory/debate_memory_builder.py found in paper text by Syntology ran no licence file found · pointer only · 70016d2a0a8b58c9 · report
load_solution_code CHIANGEL/Agora-Opt/code/Agora-Opt/src/debate_memory/build_memory_from_eval_results.py found in paper text by Syntology ran fingerprinted no licence file found · pointer only · 451817235bd5536a · report
sanitize_code CHIANGEL/Agora-Opt/code/Agora-Opt/src/debate_memory/debug_utils.py found in paper text by Syntology ran no licence file found · pointer only · c6a41ea70936e4ee · report
execute_code CHIANGEL/Agora-Opt/code/Agora-Opt/src/debate_memory/execute.py found in paper text by Syntology unverified no licence file found · pointer only · e6aced355e6f72e7 · report
get_response CHIANGEL/Agora-Opt/code/Agora-Opt/src/debate_memory/llm.py found in paper text by Syntology unverified no licence file found · pointer only · bc49cf903440df48 · report
load_dataset CHIANGEL/Agora-Opt/code/Agora-Opt/src/debate_memory/generate_with_memory.py found in paper text by Syntology unverified no licence file found · pointer only · a725ed26059672fb · report

Results from the paper

The Papers with Code archive ends with its 2025-07-28 snapshot. This paper's arXiv identifier, 2604.25847, was issued in April 2026, after that date, so the archive has no leaderboard rows for it.

Report a problem or propose a change · a person checks every report against the paper or source before anything changes; decisions are listed on /corrections