Catch regressions in response quality, tool use, latency, and memory.
Changes to models, instructions, tools, and knowledge can introduce regressions. Agno evals turn response criteria and expected tool use into executable cases. Run them during development, gate CI with their exit code, and evaluate selected production outputs through hooks.
evals.py
import sysfrom agno.agent import Agentfrom agno.eval import Case, clifrom agno.tools.calculator import CalculatorToolscalculator = Agent( id="calculator", model="openai:gpt-5.5", tools=[CalculatorTools()], instructions="Use the calculator tools for every calculation.",)CASES = ( Case( name="factorial_uses_calculator", agent=calculator, input="What is 10 factorial?", criteria="States that 10 factorial equals 3,628,800.", expected_tool_calls=("factorial",), ),)if __name__ == "__main__": sys.exit(cli(CASES))
Create a virtual environment, install the OpenAI integration, and set OPENAI_API_KEY before running the suite:
uv run python evals.py --json-output tmp/evals.json
Each case runs the component once and applies the configured judge and reliability checks to the same output. The CLI returns a nonzero exit code when a case fails, so the suite can gate CI.