aayu-outdooragi/complide-agent-negotiation
Complide — Agent-Negotiation demo
An interactive demo of the paper “Reducing Persuasion to Requirement Elicitation: A Seller-Side Agent for Honest Agent-to-Agent Commerce.”
When buyers dispatch agents to evaluate products, the winning seller stops persuading and starts eliciting: it asks value-of-information crux questions (ask(q) iff E[Δ]·stakes > friction) and is willing to disqualify itself when it isn't a fit. That rule is a deployed compliance-gating controller, retargeted from risk states {green, yellow, red} to fit states {fit, maybe, no_fit}; honest disqualification is the structural analog of de-escalation.
The three tabs
- Negotiate (be the buyer). Set the buyer's real (hidden) situation and watch the qualify-out elicitor ask the cheap dealbreakers first and honestly disqualify the moment one fails — then compare the same buyer against a “sell-all” seller that mis-sells.
- Ablation (the honesty unlock). Run the in-model simulation live and reproduce the paper's per-arm table: the agent surface lifts outcome accuracy but only honesty cuts the mis-sell rate (and an eliciting-but-dishonest agent trips a deployment guardrail).
- Reality check (external). The neutral result — Amazon ESCI, human relevance labels, 5 blind LLM judges, bootstrap CIs. It deflates our own headline on purpose: “honesty cuts mis-selling” is trivially matched by baselines; the significant external win is better fit-decision accuracy (ORA +15.8/+27.1 pp, p<0.001).
Run locally
pip install -r requirements.txt
python app.py # → http://127.0.0.1:7860Deploy to Hugging Face Spaces
Create a new Gradio Space and upload this folder's files (app.py, engine.py, requirements.txt, README.md, results_r1_5.json, fig7_external.png). The frontmatter above is the Space config; the Space builds and serves app.py automatically.
Provenance
engine.py is a faithful, deterministic Python port of the TypeScript simulation in packages/negotiation/src (same FNV-1a + mulberry32 RNG, same buyer model, same four ablation arms, same ORA/FDR metrics) — so the Ablation tab reproduces the paper's numbers (population mix and the BASE / top +STRUCT arms match to the decimal). The Negotiate tab mirrors the package's demo script (the qualify-out elicitor).
The interactive and ablation tabs are an in-model simulation — illustrative, not neutral evidence. The neutral evidence is the external ESCI benchmark on the Reality check tab.
Paper & code: packages/negotiation/ in the Complide repo.
