CoolFace
Apppublic

aayu-outdooragi/complide-agent-negotiation

sourceHugging Facemitupdated 3mo agoView on Hugging Face
0likes
App README

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

  1. 1.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.
  2. 2.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).
  3. 3.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

bash
pip install -r requirements.txt
python app.py            # → http://127.0.0.1:7860

Deploy 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.