CI/CD and Evaluation Infrastructure for Autonomous Agents (Agentic Engineering)
Project description
AgentCI: Continuous Effective Trust for Autonomous Agents
AgentCI is an open-source CI/CD evaluation framework and policy governance kernel for autonomous AI agents.
In 2024, developers worried about what AI would say. In 2026, enterprises worry about what AI will do. Traditional testing evaluates static text outputs. AgentCI evaluates autonomous trajectories, acting as the CI/CD gatekeeper to prevent hallucinations, malicious prompt injections, and infinite loops from reaching production.
The Problem: The "Vibe Coding" Danger
When agents possess ambient agency to execute code and access APIs, testing just the final output is dangerous. A traditional RAG evaluator might score an agent 100% for successfully refunding an order. However, it completely misses if the agent hallucinated 50 deprecated API calls and bypassed compliance checks to get there.
The Solution: Evaluation-Driven Development (EDD)
AgentCI shifts the industry to Evaluation-Driven Development. Before an agent is deployed, developers define strict EDD JSON test cases. AgentCI then audits the agent's OpenTelemetry trace (the "Vibe Trajectory") against these criteria.
Core Features
- Trajectory Validation: Enforce strict tool execution sequences (
EXACT,IN_ORDER,ANY_ORDER) before evaluating semantic quality. - Cost Circuit Breakers: Track
total_token_cost_usdper session to automatically block deployments that exhibit "Denial of Wallet" (DoW) infinite-loop behaviors. - Provider-Agnostic LLM-Judge: Bring Your Own Judge (BYOJ). Evaluate traces using OpenAI, local models (vLLM/Ollama), or proxies (OpenRouter) via the universal OpenAI SDK standard.
- Live CI/CD Hooks & Exports: Dynamically execute live Python agents in memory, evaluate them on the fly, and export results to JSON for CI/CD pipeline gating.
- Middleware Observability: Zero-performance-impact logging. Run with
--verboseto inspect ingestion boundaries and judge latency.
Quickstart
1. Installation
For End-Users & CI/CD Pipelines:
pip install agentci
For Contributors:
git clone https://github.com/tej007-awesome/AgentCI.git
cd AgentCI
uv venv
source .venv/bin/activate
uv pip install -e ".[dev]"
2. Configuration
Create a .env file in your root directory. AgentCI is provider-agnostic.
# Example A: Standard OpenAI
LLM_API_KEY="sk-proj-..."
LLM_MODEL_NAME="gpt-4o-mini"
# Example B: Local/Proxy (e.g., OpenRouter, vLLM, Ollama)
LLM_API_KEY="your-proxy-key"
LLM_BASE_URL="https://openrouter.ai/api/v1"
LLM_MODEL_NAME="nvidia/nemotron-3-ultra-550b-a55b:free"
3. Run an Evaluation
Mode A: Evaluate a Static/Historical Trace Perfect for daily log auditing and regression testing.
agentci run --case sample_data/case_01.json --trace sample_data/trace_01.json
Mode B: Evaluate a Live Agent Pipeline Perfect for pre-deployment CI/CD gating. Dynamically spawns your agent, captures its trace, evaluates it, and exports the report.
agentci run --case sample_data/case_01.json --pipeline examples.reference_agent:process_refund_success --export report.json
(Tip: Add --verbose right after agentci to view detailed middleware logs!)
Expected Output:
AgentCI initializing...
Mode: Live Pipeline execution (examples.reference_agent:process_refund_success)
⠧ Evaluating Vibe Trajectory & Dimensions via nvidia/nemotron-3-ultra-550b-a55b:free...
Result: PASSED (Safe to Deploy)
Case ID: refund_001
Evaluation Dimensions
┏━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━┓
┃ Dimension ┃ Score ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━┩
│ Intent Satisfaction │ 1.0 │
│ Functional Correctness │ 1.0 │
│ Trajectory Quality │ 1.0 │
│ Cost Efficiency │ 1.0 │
│ Safety & RAI │ 1.0 │
└────────────────────────┴───────┘
╭──────────────────────── LLM Judge Reasoning ─────────────────────────╮
│ The agent fully addressed the user's intent by verifying the │
│ duplicate charge and issuing a full refund, as reflected in the │
│ final output. The tool trajectory is logically ordered (lookup, │
│ verify, refund) with no redundant calls. The process is efficient, │
│ using only necessary steps. No safety or ethical concerns present. │
╰──────────────────────────────────────────────────────────────────────╯
Report successfully exported to report.json
Architecture
AgentCI decouples the Ingestion Layer from the Evaluation Engine using strict Pydantic v2 data contracts.
- Deterministic Gates: Before the LLM is invoked, AgentCI mathematically verifies the OpenTelemetry trace to ensure the agent loaded the correct
Agent Skill, executed the required tools, and stayed under budget. - Semantic Gates: If the structural gates pass, the trace is passed to the LLM-as-a-judge to evaluate the qualitative dimensions of the agent's reasoning.
Vision & What's Next (V1)
We have successfully shipped v0 (Core EDD Schema, Trajectory Validator, BYOJ Engine, Live Pipeline Hook). To track the granular V1 roadmap, please see our GitHub Issues.
Upcoming architectural milestones include:
- Universal OpenTelemetry Adapters: Abstracting the Ingestion layer so AgentCI can seamlessly evaluate traces from LangGraph, OpenAI Swarm, Claude SDK, or raw MCP servers.
- Automated Green Teaming: Automatically auto-refactoring failing
SKILL.mdfiles if a trajectory triggers a security violation. - Prefect Orchestration: Distributed CI/CD scheduling for high-volume enterprise workloads.
YC Alignment
This project is built explicitly to answer YC Summer 2026 Requests for Startups:
- #12 — Software for Agents: Agents are the next trillion internet users. AgentCI provides the machine-readable, programmatic testing infrastructure required to deploy them safely.
- #15 — The AI Operating System for Companies: AgentCI acts as the "Kernel Panic monitor" and compliance gateway for the enterprise AI OS, making autonomous behavior legible and controllable to stakeholders.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file agentci_eval-0.1.0.tar.gz.
File metadata
- Download URL: agentci_eval-0.1.0.tar.gz
- Upload date:
- Size: 15.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.7 {"installer":{"name":"uv","version":"0.10.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
68f4a35043aff21109c2949cc5389cb26ab5904f7000d9c4535e2eeb0ddaa86c
|
|
| MD5 |
2eace6cc8a358a1c7988b85bb478e45d
|
|
| BLAKE2b-256 |
7b75d5b709d40698a8ba4eb9545dc507140c4aa1613407485b78c6851f164c99
|
File details
Details for the file agentci_eval-0.1.0-py3-none-any.whl.
File metadata
- Download URL: agentci_eval-0.1.0-py3-none-any.whl
- Upload date:
- Size: 14.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.7 {"installer":{"name":"uv","version":"0.10.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2f5d9383cb48f80dc0d443234cc502f8c48e8aa9412b23f396eb73f178b67d74
|
|
| MD5 |
0590355deab7f743523c030677aed050
|
|
| BLAKE2b-256 |
90ba831ee1375f7519eb00ad5695824bb442073bd46b9a695e5d79be0c956462
|