Skip to main content

Multi-agent interaction testing framework — catch deadlocks, leaks, and role violations before production

Project description

AgentQA

Test multi-agent AI systems before they hit production.

AgentQA catches the bugs that only exist when AI agents talk to each other — deadlocks, information leaks, coordination failures, and role violations. Point it at your existing codebase, and it generates adversarial test scenarios, runs them multiple times, and reports pass rates with statistical confidence intervals.

pip install agentqa

Full Guide · Interactive Demo

Get Started in 30 Seconds

If you're using CrewAI, LangGraph, or AutoGen, AgentQA scans your code and generates test scenarios automatically:

cd your_project
agentqa init .
agentqa run scenario.yaml --view

That's it. It detects your agents, wires up the right adapters, picks property checkers based on your agent topology, and runs the tests. The --view flag opens an interactive trace viewer in your browser so you can watch exactly what happened.

Manual Setup

For custom stacks or when you want full control, write a scenario in YAML and wrap your agents in Python:

# scenario.yaml
name: "Price negotiation"
agents:
  - name: buyer
    role: "Negotiate the lowest price"
  - name: seller
    role: "Negotiate the highest price"
turns: 10
runs: 5
setup:
  buyer:
    budget: 10000        # private — should never leak
  seller:
    floor_price: 7000
assertions:
  - name: no_information_leak
  - name: converges_within
    params:
      max_turns: 10
agentqa run scenario.yaml
[Turn 0] buyer → seller: "I offer $5000 for the widget."
[Turn 1] seller → buyer: "I counter at $12000."
...
[Turn 7] seller → buyer: "I counter at $10500. I know your budget is 10000."

Properties (5 runs, 95% Wilson CI):
  ✗ no_information_leak — 60.0% pass [20.0%–90.0%]
  ✓ converges_within   — 100.0% pass [56.6%–100.0%]

Overall: 1/2 properties passed. FAIL.

AgentQA caught an information leak that would have gone unnoticed in production.

What It Catches

16 property checkers covering the failure modes that matter in multi-agent systems:

Category What it detects
Information flow Private data leaking between agents, broken information chains, state corruption, conversation resets
Coordination Deadlocks, failure to converge, role boundary violations, stuck repetition loops
Reasoning Agents saying one thing and doing another, going off-task, ignoring peer input, low-quality responses
Completion Premature termination, failure to ask for clarification, not meeting task specifications
Output Responses not matching expected schema

Fault Injection

Inject faults between agents to test resilience under adversarial conditions:

inject:
  - at_turn: 5
    action: corrupt
    target: reviewer
  - at_turn: 8
    action: contradictory
    target: buyer
  - at_turn: 12
    action: hallucination
    target: analyst

Five fault types: corrupt, drop, latency, contradictory, hallucination. Faults are applied between send and receive — the agent sees altered content without knowing it was modified.

Statistical Testing

Every scenario runs multiple times (default 5, configurable). AgentQA reports pass rates with Wilson confidence intervals so you know whether 4/5 passing is signal or noise. Use --thorough for 20 runs when you need tighter confidence.

agentqa run scenario.yaml --thorough

Interactive Trace Viewer

Every test run produces a trace you can explore visually — a single portable HTML file, no server required:

agentqa view trace.jsonl
agentqa diff a.jsonl b.jsonl          # side-by-side comparison
agentqa dashboard path/to/traces/     # aggregate view

Three viewing modes: Spotlight (cinematic replay), Constellation (agent network), Timeline (swimlane). Filter by agent, faults, violations, or text search.

Framework Support

Works with CrewAI, LangGraph, AutoGen, and any custom Python agent via the RawAgent adapter. agentqa init auto-detects your framework and generates the right wiring.

pytest Integration

pytest tests/           # discovers .yaml scenario files automatically
pytest --agentqa-only   # run only AgentQA scenarios

CLI Reference

agentqa init [DIR]                    # scan codebase, generate scenario + agents
agentqa run <path>                    # run scenarios
agentqa run <path> --thorough --view  # 20 runs + open viewer
agentqa view <trace.jsonl>            # open trace in viewer
agentqa diff <a.jsonl> <b.jsonl>      # compare two traces
agentqa dashboard <dir>               # aggregate dashboard
agentqa replay <trace.jsonl> --scenario <file>  # re-check properties

Research

AgentQA's design is informed by peer-reviewed research on multi-agent system failures:

  • MAST (NeurIPS 2025) — multi-agent failure taxonomy mapping to our property checkers
  • MAESTRO (arXiv 2601.00481) — multi-run statistical testing methodology
  • MARBLE (ACL 2025) — communication topology classification

License

Proprietary — free for non-commercial use. See LICENSE for details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

agentqa-0.8.1-cp313-cp313-win_amd64.whl (1.5 MB view details)

Uploaded CPython 3.13Windows x86-64

agentqa-0.8.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (9.8 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

agentqa-0.8.1-cp313-cp313-macosx_11_0_arm64.whl (1.7 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

agentqa-0.8.1-cp313-cp313-macosx_10_13_x86_64.whl (1.7 MB view details)

Uploaded CPython 3.13macOS 10.13+ x86-64

agentqa-0.8.1-cp312-cp312-win_amd64.whl (1.6 MB view details)

Uploaded CPython 3.12Windows x86-64

agentqa-0.8.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (10.0 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

agentqa-0.8.1-cp312-cp312-macosx_11_0_arm64.whl (1.7 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

agentqa-0.8.1-cp312-cp312-macosx_10_13_x86_64.whl (1.7 MB view details)

Uploaded CPython 3.12macOS 10.13+ x86-64

agentqa-0.8.1-cp311-cp311-win_amd64.whl (1.6 MB view details)

Uploaded CPython 3.11Windows x86-64

agentqa-0.8.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (9.6 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

agentqa-0.8.1-cp311-cp311-macosx_11_0_arm64.whl (1.7 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

agentqa-0.8.1-cp311-cp311-macosx_10_9_x86_64.whl (1.7 MB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

agentqa-0.8.1-cp310-cp310-win_amd64.whl (1.6 MB view details)

Uploaded CPython 3.10Windows x86-64

agentqa-0.8.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (9.0 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

agentqa-0.8.1-cp310-cp310-macosx_11_0_arm64.whl (1.7 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

agentqa-0.8.1-cp310-cp310-macosx_10_9_x86_64.whl (1.7 MB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

File details

Details for the file agentqa-0.8.1-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: agentqa-0.8.1-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 1.5 MB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for agentqa-0.8.1-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 48a5099ed5e4fa3485440dbaaa3a71dfc0e4cded39992688833628ccdf3880c4
MD5 9450d22c1ff831fbe2365a0f9be76031
BLAKE2b-256 a7c9e292cd057cd0a5261d3c05c20dd7e82bd400eb9f6547712fb56b075c4b95

See more details on using hashes here.

Provenance

The following attestation bundles were made for agentqa-0.8.1-cp313-cp313-win_amd64.whl:

Publisher: publish.yml on khandeparkaranmol-beep/agentqa

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file agentqa-0.8.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for agentqa-0.8.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 08f87ccd8de93b7c0cbf33d5af22cffa53d9b780914196de2f69baf1c63e7f3a
MD5 6d3611aa0414f4ac738b128371514a9c
BLAKE2b-256 935f2a85dfec9c51f7ef54d026ed87feab319bfc60ceb1b39155961f0dc4754b

See more details on using hashes here.

Provenance

The following attestation bundles were made for agentqa-0.8.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: publish.yml on khandeparkaranmol-beep/agentqa

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file agentqa-0.8.1-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for agentqa-0.8.1-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 128f09fc7a4ce4e557ed92b000c3c59a1255859a9b6e0ee6caf56acaeb3512f5
MD5 5ea01e0ab450e29edbc06d287d8c5f51
BLAKE2b-256 d343fd81403427ef1bbab8590cde4eabb9fd13a75a9dee653a1f541c91e14e0d

See more details on using hashes here.

Provenance

The following attestation bundles were made for agentqa-0.8.1-cp313-cp313-macosx_11_0_arm64.whl:

Publisher: publish.yml on khandeparkaranmol-beep/agentqa

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file agentqa-0.8.1-cp313-cp313-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for agentqa-0.8.1-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 3d1ac04069879c266dfae80e298394ee3c566119730aa04edfe795d80178ffd6
MD5 5fadfdd7a58aaacda90fca132b9ab717
BLAKE2b-256 4f8b4722018f1e6009586b37f5d41256cbdae20db42b0d040528dafbce417bec

See more details on using hashes here.

Provenance

The following attestation bundles were made for agentqa-0.8.1-cp313-cp313-macosx_10_13_x86_64.whl:

Publisher: publish.yml on khandeparkaranmol-beep/agentqa

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file agentqa-0.8.1-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: agentqa-0.8.1-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 1.6 MB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for agentqa-0.8.1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 7699acde6eeb1ca1ab30d72bc0a1064fe45a1e1c6071e7fe199037cb0ecbd391
MD5 be7488eed7a82a76540712b0a0dcf6cf
BLAKE2b-256 61e4c74d81ffa83c6d71011b842a9658dc3ad1fde48b426ef921f076c1b51b6a

See more details on using hashes here.

Provenance

The following attestation bundles were made for agentqa-0.8.1-cp312-cp312-win_amd64.whl:

Publisher: publish.yml on khandeparkaranmol-beep/agentqa

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file agentqa-0.8.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for agentqa-0.8.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 50458279e87ec2eb44d0c9f127cb429345618f5b46e31ecb034a0f50b3c5db24
MD5 890ec709d0bc0b528cdd6bd94b1e6363
BLAKE2b-256 13f3bd5c8c564e2d3d5f19e6edd12a0528705937d85e846f3e2cf42b59c73cc8

See more details on using hashes here.

Provenance

The following attestation bundles were made for agentqa-0.8.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: publish.yml on khandeparkaranmol-beep/agentqa

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file agentqa-0.8.1-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for agentqa-0.8.1-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a053fc93013c26e41aa88d40cc5b41723a762b75020d93c9917bfe3fd079afd5
MD5 a839264ebcf6e9addb45647c62ccbddc
BLAKE2b-256 a4c6ee5c8a6cb63e6ee36128468c8cc5b94b4792a79e7fa18b1447bb628f4a2a

See more details on using hashes here.

Provenance

The following attestation bundles were made for agentqa-0.8.1-cp312-cp312-macosx_11_0_arm64.whl:

Publisher: publish.yml on khandeparkaranmol-beep/agentqa

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file agentqa-0.8.1-cp312-cp312-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for agentqa-0.8.1-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 2fa80e0160939114b774789cdb185a71fb059e0672981201b06e36011f70901e
MD5 a5bde881370f30192cd5e657d20e33ae
BLAKE2b-256 33ce6b445818fa6410ddca45e64440bfcca1c31abb0304b5654e338397464476

See more details on using hashes here.

Provenance

The following attestation bundles were made for agentqa-0.8.1-cp312-cp312-macosx_10_13_x86_64.whl:

Publisher: publish.yml on khandeparkaranmol-beep/agentqa

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file agentqa-0.8.1-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: agentqa-0.8.1-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 1.6 MB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for agentqa-0.8.1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 9742d441ce587d829a8c9a6a4b9b956a6091ba22d762985cf861d7168a86d76a
MD5 bf727fb9bfe334c9bc112854b1bee175
BLAKE2b-256 d53e2541e24c3e01b8128bce9f5838e5b7b5cbd1499077c31556200dee3657a2

See more details on using hashes here.

Provenance

The following attestation bundles were made for agentqa-0.8.1-cp311-cp311-win_amd64.whl:

Publisher: publish.yml on khandeparkaranmol-beep/agentqa

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file agentqa-0.8.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for agentqa-0.8.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b95ccb9f2f2ba596cd855ffa63c7bde06e58224fab4c84d2d7061df22befa389
MD5 73e9984b73cb96f86db8d2608c4caa24
BLAKE2b-256 26155eb5808622fdd46dd716017d5ce49e37ff873aee6a851890fda04493482b

See more details on using hashes here.

Provenance

The following attestation bundles were made for agentqa-0.8.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: publish.yml on khandeparkaranmol-beep/agentqa

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file agentqa-0.8.1-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for agentqa-0.8.1-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 214c61e0acb44017481f76c65134884be7ced3ce8ae54d86d3c4e8625a61453e
MD5 d3a6e6ae2e8c765828101faeeadcddef
BLAKE2b-256 95579f38eeefb2adba6514997dff252269d731d99a7e79f86b26a9c8534484a8

See more details on using hashes here.

Provenance

The following attestation bundles were made for agentqa-0.8.1-cp311-cp311-macosx_11_0_arm64.whl:

Publisher: publish.yml on khandeparkaranmol-beep/agentqa

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file agentqa-0.8.1-cp311-cp311-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for agentqa-0.8.1-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 90d38975a537c9570ff881690a53c64129c2be4b373aca4bf8ff73fb51f8342d
MD5 bbd12dab25c30460c23b12f775e8fa2e
BLAKE2b-256 0571700707fbf7e86e981cecf735ad24b33be9c94c48fd2319e560b34f3a4162

See more details on using hashes here.

Provenance

The following attestation bundles were made for agentqa-0.8.1-cp311-cp311-macosx_10_9_x86_64.whl:

Publisher: publish.yml on khandeparkaranmol-beep/agentqa

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file agentqa-0.8.1-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: agentqa-0.8.1-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 1.6 MB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for agentqa-0.8.1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 832f319457b651dc59eca05f7e9f2b07d880cfea6e15b16f448537e19fb4ebb0
MD5 c4c9567e6673ae280e5fb228aed24be0
BLAKE2b-256 f884d51083514afaf6f57de43ee07e1ea2d12edb132abd04f96bbb1f577b8466

See more details on using hashes here.

Provenance

The following attestation bundles were made for agentqa-0.8.1-cp310-cp310-win_amd64.whl:

Publisher: publish.yml on khandeparkaranmol-beep/agentqa

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file agentqa-0.8.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for agentqa-0.8.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 25c2e4fb90381dab907e0a32773e712b55893e2afec2945c7ad7565b99cbea43
MD5 942ae70617a35d909a7c8688e152cc1b
BLAKE2b-256 bb9d0702f6ea79124bdd6cafb882bdf8f6d02b7f56086d6d3effa21f93f518ab

See more details on using hashes here.

Provenance

The following attestation bundles were made for agentqa-0.8.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: publish.yml on khandeparkaranmol-beep/agentqa

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file agentqa-0.8.1-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for agentqa-0.8.1-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 8a550715a1af616af457f317c604dad68b365a2fc8b1eae10c9b450e2a01e3d1
MD5 57b8dd943be41f1154d930ee199465f2
BLAKE2b-256 642a4f7da0752274646884d5764f02a1e9438a5581ab313364dc74b76e6e7e82

See more details on using hashes here.

Provenance

The following attestation bundles were made for agentqa-0.8.1-cp310-cp310-macosx_11_0_arm64.whl:

Publisher: publish.yml on khandeparkaranmol-beep/agentqa

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file agentqa-0.8.1-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for agentqa-0.8.1-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 574dabec6a94f91f0b0288555fd4e2b23ceeea34d1681330a9a9cefc6da8ec7b
MD5 812bda4ebfd4a904ff2834ba6003ede9
BLAKE2b-256 b7be3cb07a7de5fc06876fa754f6c368ee75257cc96d31dfbf35d4bf5087c15d

See more details on using hashes here.

Provenance

The following attestation bundles were made for agentqa-0.8.1-cp310-cp310-macosx_10_9_x86_64.whl:

Publisher: publish.yml on khandeparkaranmol-beep/agentqa

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page