Skip to main content

Agenci

CI/CD, evaluation, and security testing for AI agents.

Agenci is GitHub Actions for AI agents: it continuously tests, evaluates, benchmarks, security-tests, and regression-tests AI agents and LLM applications, so a change to a prompt, model, tool, or workflow can't silently break — or compromise — production behavior.

pip install agenci

agenci init
agenci test
Agenci — my-agent
2 evaluations completed

┏━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━┳━━━━━━━━┓
┃ Suite      ┃ Passed ┃ Total ┃ Status ┃
┡━━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━╇━━━━━━━━┩
│ Functional │ 2      │ 2     │ PASS   │
└────────────┴────────┴───────┴────────┘

Success rate:   100.0%
Security score: 100/100
Avg latency:    0ms
Estimated cost: $0.0000

STATUS: PASS

Why Agenci exists

Traditional software is input → deterministic output. AI agents are:

input → model → reasoning → tool calls → external systems → more model calls → output

A change to a prompt, model, tool, system instruction, RAG database, or agent workflow can silently introduce regressions, hallucinations, security vulnerabilities, tool misuse, higher cost, higher latency, or prompt-injection vulnerabilities — with no compiler and no test suite to catch it. Agenci is the infrastructure that catches it, in CI, before it ships.

Developer changes AI agent
        ↓
opens Pull Request
        ↓
Agenci runs evaluations
        ↓
Agenci compares against baseline
        ↓
Agenci detects regressions
        ↓
PR passes or fails

What Agenci does

  • Functional testing — assert on agent output: contains, not_contains, regex, exact, json_schema, semantic_similarity, or your own custom_python assertion function.
  • LLM-as-judge evaluation — score correctness, relevance, factuality, instruction-following, and other criteria with a configurable judge provider (a dependency-free mock provider out of the box, OpenAI-compatible providers for real evaluation).
  • Security testing — policy-based checks for prompt-injection resistance, tool authorization, excessive tool access, and output-safety violations, rolled up into a per-category security score.
  • Regression testing — compare a baseline run against a current run and fail CI when success rate, security score, cost, or latency regress beyond configured thresholds.
  • Traces — every run produces a structured, provider-neutral trace of model calls and tool calls, with token usage and estimated cost.
  • GitHub Actions — run the whole suite on every PR and fail the check when thresholds are violated.
  • Local dashboard — a zero-dependency view of recent runs.

Install

pip install agenci
# or, without installing:
uvx agenci init

Quickstart

agenci init      # scaffold agenci.yaml, tests/, and an example agent
agenci test      # run functional tests against the example agent
agenci security  # run security tests and print a security score
agenci diff --baseline <run-id>   # compare against a previous run
agenci dashboard # view recent runs at http://127.0.0.1:8321

Point agenci.yaml at your real agent by changing the agent: block — see docs/adapters.md. Agenci does not depend on any single agent framework: it ships adapters for plain Python callables, HTTP/REST services, OpenAI- and Anthropic-compatible chat APIs, LangChain/LangGraph (Runnable-based, with real tool-call tracing via callbacks), CrewAI, MCP servers, and AutoGen (agents and teams, with real tool-call tracing and automatic state reset between tests), and is architected so more can be added without touching the core engine.

Documentation

Project status

Agenci is an early-stage, actively developed open-source project. v0.2 is complete: the CLI, evaluators, regression testing (with per-test and per-security-category diffing), GitHub Action, OpenTelemetry export, and GitHub PR comments are all implemented and tested. Adapters: python, http, openai (v0.1), plus langchain, crewai, mcp, autogen, anthropic (v0.2) — see docs/adapters.md for what's genuinely end-to-end-verified vs. unit-tested-only for each. The security framework covers tool authorization, required tools, a data-exfiltration heuristic, and built-in sensitive-data pattern scanning — see docs/security.md. See docs/architecture.md for what's next (Agenci Cloud), the future hosted product built on this same open-source core.

Contributing

See CONTRIBUTING.md. See CHANGELOG.md for release history and the versioning policy.

Security

See SECURITY.md for the threat model Agenci's security framework covers (and does not cover), and how to report a vulnerability in Agenci itself.

License

Apache 2.0

Metadata

Release files for agenci 0.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for agenci 0.2.0
File Size Uploaded Provenance
agenci-0.2.0.tar.gz 107.4 kB With provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for agenci 0.2.0
File Interpreter ABI Platform
agenci-0.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 182.6 kB

Release files / agenci-0.2.0.tar.gz

Download URL agenci-0.2.0.tar.gz
Size 107.4 kB
Tags Source
SHA-256 checksum
How to use checksums
f9296546959b2b904a9dd843d5213b44d8e1d8a71d2b1c7c75aed73179314ddf
BLAKE2b-256 checksum
How to use checksums
bbaa964b673b3ed4e780119aed39e2288f4e3c41aaf42433722681225cd58bdf
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 1, 2026.

Transparency log

Release files / agenci-0.2.0-py3-none-any.whl

Download URL agenci-0.2.0-py3-none-any.whl
Size 75.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
f3a014c27e71f4a8697328cbe1607eee3cd845dd9fb615283374220293f295ce
BLAKE2b-256 checksum
How to use checksums
b01ec2ad0a4bc8bfe636d200984074a64181937f620d32aedc37ba90dc859ca3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 1, 2026.

Transparency log

Security for agenci 0.2.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for agenci-0.2.0.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 1, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.2.0 This release

2 release files Full provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page