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-1.0.0-cp313-cp313-win_amd64.whl (1.5 MB view details)

Uploaded CPython 3.13Windows x86-64

agentqa-1.0.0-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-1.0.0-cp313-cp313-macosx_11_0_arm64.whl (1.7 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

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

Uploaded CPython 3.13macOS 10.13+ x86-64

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

Uploaded CPython 3.12Windows x86-64

agentqa-1.0.0-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-1.0.0-cp312-cp312-macosx_11_0_arm64.whl (1.7 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

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

Uploaded CPython 3.12macOS 10.13+ x86-64

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

Uploaded CPython 3.11Windows x86-64

agentqa-1.0.0-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-1.0.0-cp311-cp311-macosx_11_0_arm64.whl (1.7 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

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

Uploaded CPython 3.11macOS 10.9+ x86-64

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

Uploaded CPython 3.10Windows x86-64

agentqa-1.0.0-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-1.0.0-cp310-cp310-macosx_11_0_arm64.whl (1.7 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

agentqa-1.0.0-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-1.0.0-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: agentqa-1.0.0-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-1.0.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 049ab74720cf474a96c4c09048670c85fee204fbe3c7e76078512357b8cfdc9b
MD5 ea9e8f889c716f6dca5e2fb78cd80347
BLAKE2b-256 a01f8fde4c6ba7959703ac5c7d7686fcedebe988fd28778d1a660deb66231956

See more details on using hashes here.

Provenance

The following attestation bundles were made for agentqa-1.0.0-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-1.0.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for agentqa-1.0.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 88e19ba731450175809c2ade1aefa06732719ccd522723f2b4d3584f27624531
MD5 8632e6e8eb6e2849e1a5e137adf1c692
BLAKE2b-256 cac1b1181d20fce06246ba8260ba71650296c92f867df3b6a5ed209854eac275

See more details on using hashes here.

Provenance

The following attestation bundles were made for agentqa-1.0.0-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-1.0.0-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for agentqa-1.0.0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 861fcbeef9c4768cae257b45b0bcd778d7aaee2804f9f74497f1de5f35cdba33
MD5 05c67bda3f716317d8d66e6fb36f90cb
BLAKE2b-256 ea22d35352e8f8840e78ce4f827a69b9f2f4640c5e617e1bbf59e1545bec5cb1

See more details on using hashes here.

Provenance

The following attestation bundles were made for agentqa-1.0.0-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-1.0.0-cp313-cp313-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for agentqa-1.0.0-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 4a4b5546a202edbaf156034fbb038b389e9967a508878ce3aceed23379251431
MD5 a65be1110a2e51a094294fa7c6952c82
BLAKE2b-256 100ad57715ac0992c56996dbdfe09a553ad971e07cc47e4f885553ffafe95ff0

See more details on using hashes here.

Provenance

The following attestation bundles were made for agentqa-1.0.0-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-1.0.0-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: agentqa-1.0.0-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-1.0.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 5ab74544334255ae8f8af70381470986a394768ae22055826fb00153932ca98d
MD5 05425fbd8f2d39a1d0193ac6855d44a9
BLAKE2b-256 f4e4ddf1ac6adbe111dd3fdaa9eef3349804e1442e889448758e00aec41eaaa0

See more details on using hashes here.

Provenance

The following attestation bundles were made for agentqa-1.0.0-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-1.0.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for agentqa-1.0.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c7ab4f2518ba5930017ebae1e37483d1d2b81a5f201525d600de39bc646ca8b5
MD5 9affe5d437b69174ce8cf91cb5c59898
BLAKE2b-256 4a6ec9e69245c7dd2220b391b010a1199ab5ea3ac84dacbbf93cbcba95dcb0b8

See more details on using hashes here.

Provenance

The following attestation bundles were made for agentqa-1.0.0-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-1.0.0-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for agentqa-1.0.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 8e193fab971568fc8886e00505a2b7de41bbc1123ab487cb41c096dcb55e2ac4
MD5 233e2ccdcbbb95f521d73dd51c61c9a9
BLAKE2b-256 8c01570aaf2aa7ecbff3045a61730d041cd21ab2ba927bc515f5ad4cee7d9d1c

See more details on using hashes here.

Provenance

The following attestation bundles were made for agentqa-1.0.0-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-1.0.0-cp312-cp312-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for agentqa-1.0.0-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 9970c3e4bf4615995da52d18750c624473d272ba4d930f8ae03c0c8eb6fade94
MD5 2aaad7ebc9bef114c74fb2c7d518cec2
BLAKE2b-256 ca01f7d7ad4a481aca2862042ac38caecb9fe5c3c299bce5f682eeb6417c3b5c

See more details on using hashes here.

Provenance

The following attestation bundles were made for agentqa-1.0.0-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-1.0.0-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: agentqa-1.0.0-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-1.0.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 c6b139577f4c209bee03f6a5236efc6a586b97b95f31c51bb731aca87315bc63
MD5 d796a91b82ce49d28b63dd754f703da9
BLAKE2b-256 66bf884ba676e06b7fc96662cd56552120c173b4848067b3cc83c6c56c56d801

See more details on using hashes here.

Provenance

The following attestation bundles were made for agentqa-1.0.0-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-1.0.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for agentqa-1.0.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 8ae712e1e5724a7abf6e28cedc8e656a14417b3fc2ce702cfbe6043c8fcb28cb
MD5 8888af744f5f21370c2749bbeeb33b3b
BLAKE2b-256 c8d509b42cb6cbd8f8ff4eb1706a019faeda010912129f20ad9508b45c420287

See more details on using hashes here.

Provenance

The following attestation bundles were made for agentqa-1.0.0-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-1.0.0-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for agentqa-1.0.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 091a5681da68839654b8e06631ea61a3938ef998b02cba8ff3f0b606ec816123
MD5 035b560a24ad1de9e78195424a0bd7d4
BLAKE2b-256 5d7e0dfe075fe7207ae9b37ac386f0713f2db78a156bb3701523d62262748502

See more details on using hashes here.

Provenance

The following attestation bundles were made for agentqa-1.0.0-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-1.0.0-cp311-cp311-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for agentqa-1.0.0-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 c9f54cee4cd9f96cce8e3319e5f1b5545a00745838d969163bb0bf0b0cf000d4
MD5 39e34a0f2a84d718ce1e56e1dc7f6a87
BLAKE2b-256 da5d9bb43713cba1734204ab17774f28a423c7bc86d3ac2a7e58ea74eeac2e7b

See more details on using hashes here.

Provenance

The following attestation bundles were made for agentqa-1.0.0-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-1.0.0-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: agentqa-1.0.0-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-1.0.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 959eb1a94305c51f7ba1f03a8771c5b1a3f7451005bf927d3c504911042c27ef
MD5 8b3d87124cef2c4ec73a785d28e1fd2f
BLAKE2b-256 7508c5e13edb7fba7b7bd8419e3d5f6ee5bf093d6f480184cc2ebc7227233f67

See more details on using hashes here.

Provenance

The following attestation bundles were made for agentqa-1.0.0-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-1.0.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for agentqa-1.0.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3e1541c2da09b8487c2fccf77c427ac2ff7ffeee83650ccf9f7405c116a59730
MD5 8c324309a066192cd802783004290cc7
BLAKE2b-256 47381fd7f2a135dde6fc9df3de52655767c544ed6e7c2343fc6897600b7de8b9

See more details on using hashes here.

Provenance

The following attestation bundles were made for agentqa-1.0.0-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-1.0.0-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for agentqa-1.0.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 458e2a334d1ed1534acd6f721bdbe0f8e94ee7e5fd7ae3f072c68841ea5a2b5c
MD5 f0d7442704175afb5e662d63fd4e984c
BLAKE2b-256 2e5ab1f284deae34027c8c2e266b9ae55478b5b21539692a16f8120a1731947d

See more details on using hashes here.

Provenance

The following attestation bundles were made for agentqa-1.0.0-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-1.0.0-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for agentqa-1.0.0-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 25c5c2906b4d086df911a5d46e004240d7dc18d0733ff847dfa74e39ab4d56a0
MD5 9085b2f3980cd162940b768d906c7eb6
BLAKE2b-256 ba0952b0ed80c3c636a6b639dc0d707e93c61562e93e8b1de9081ef0c03fbe50

See more details on using hashes here.

Provenance

The following attestation bundles were made for agentqa-1.0.0-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