Back to Events
Past Main or above

Build an Agent Evaluation Framework with OpenAI Batch and Flex

July 3, 2026, 02:00 Europe/Berlin

Continue with the workshop writeup

Open the canonical pages, recording, materials, and code repo.

View workshop writeup

We take the FAQ agent from the first deployment workshop and build an evaluation framework around it. We leave the agent unchanged, so all the new work goes into the surrounding pipeline. That pipeline generates synthetic student questions, runs the agent over them, then has an LLM judge score the answers. The pipeline produces a repeatable eval set we can rerun after every change to the agent.

Two OpenAI pricing features make the eval cheaper to run. The Batch API processes a whole file of requests at about half the standard price, with results returned within 24 hours, usually a few minutes. Flex processing charges the same batch rate but returns results in real time, with a longer and less predictable wait. Both can combine with prompt caching, which applies automatically when requests share a prompt prefix.

In this session we explore rather than ship a polished build. We port a working synthetic-data generator from the AI Engineering Buildcamp to this project. Then we try Batch and Flex against the same task to see what each gives us.

flowchart LR FAQ["FAQ knowledge base"] --> GEN["generate synthetic questions"] GEN -->|"Batch API or Flex"| Q["questions + reference answers"] Q --> RUN["run the FAQ agent"] RUN -->|"live tool-calling loop"| TRAJ["answers + trajectories"] TRAJ -->|"Batch API"| JUDGE["LLM judge"] Q --> JUDGE JUDGE --> SCORE["correctness, instruction, trajectory scores"]

Generation and judging are batches of independent one-shot LLM calls, so both fit the Batch API. Running the agent needs live back-and-forth tool calls, so we keep it on the standard endpoint.

For most of the coding we used Claude Code with Opus. Most prompts are dictated, and the agent both implemented the scripts and tested them. The code is exploration quality. The speaker calls out places to refactor for a cleaner version.

Links

Resources used here:

Hosted by

Alexey Grigorev

Alexey Grigorev

Chief Agent Officer at AI Shipping Labs

Software engineer and machine learning practitioner with 15+ years of experience building production ML systems. I focus on practical, production-grade ML and AI systems, from early prototypes to reliable systems in production.

I'm the founder of DataTalks.Club, a free community that connects tens of thousands of practitioners worldwide, and the creator of the Zoomcamp series, free, code-first programs that have reached 100,000+ learners globally.

At AI Shipping Labs, I'm building the kind of environment that would have accelerated my own career growth. After years of teaching at scale, I wanted something more focused: a space for action-oriented builders who want to turn AI ideas into real projects. The community gives members the structure, accountability, and peer support to ship practical AI products consistently, even alongside their main jobs.

alexey@aishippinglabs.com