NHacker Next
  • new
  • past
  • show
  • ask
  • show
  • jobs
  • submit
Show HN: A replayable A2A jury for tracing how agents influence decisions (github.com)
nmaroulis21 14 hours ago [-]
Hi HN,

I built this example while working on ProtoLink, an open-source Python framework for task-based Agent-to-Agent (A2A)communication.

Most multi-agent demos expose the final answer but hide the interaction that produced it. A coordinator calls several models, collects their outputs, and returns a summary. It is often difficult to tell whether the agents influenced one another or simply answered separate prompts.

This experiment uses a fictional liability trial to make that process observable.

Each participant is an addressable agent with its own role, prompt, model, endpoint, and task history. The simulation engine controls the courtroom procedure and permitted communication topology, but it does not write arguments or choose whom a juror should contact.

The same five jury roles can run under several conditions:

- Independent: jurors cannot communicate - Star: messages pass through a foreperson - Mesh: each juror chooses another juror and authors a direct A2A message

In the deterministic reference run, the independent jury voted 2 guilty and 3 not guilty. The mesh jury voted 3 guilty and 2 not guilty.

The event ledger shows the majority-changing vote. After the foreperson connected two pieces of technical evidence in a direct message, one juror changed her public position from 77.90 and not guilty to 81.41 and guilty.

The generated report lets you replay the sender, receiver, message, evidence citations, public reply, decision changes, retries, routing failures, and protocol traces. It records observable application state rather than private chain-of-thought.

An important limitation is that the offline fixture is deterministic and was deliberately designed to produce an inspectable contrast. This is not evidence that mesh communication generally improves reasoning, and an after-message change does not establish causation. The useful result is that the architecture makes influence paths available for controlled tests and message ablations.

The default experiment runs offline without credentials:

> python examples/ai_courtroom/run.py

It produces JSON results, a transcript, traces, and a standalone interactive HTML replay. Agents can also use Ollama, OpenAI, Anthropic, Gemini, or OpenAI-compatible backends.

Since every role can use a different model, the same setup could also benchmark how LLMs affect group decisions. One approach would be to freeze the case, jury, evidence, prompts, and topology, then rotate different models through the defendant and opposing advocate roles. Repeated runs could measure changes in juror positions, vote flips, evidence grounding, and final outcomes.

The project is MIT-licensed.

Longer design notes: https://levelup.gitconnected.com/can-ai-agents-change-each-o...

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact
Rendered at 06:59:45 GMT+0000 (Coordinated Universal Time) with Vercel.