Skip to content
Zarif Automates

Agents & AI Engineering

How to build an AI agent, test it, and keep it running: frameworks, development environments, memory, tools and MCP, and Codex and Claude Code in practice.

Blue tracks and ceramic blocks form a sequence, branching route, loop with an exit, and parallel paths that join.

Choose your agent environment

People use “agent development environment” to mean three different things: a coding product, a practice world where an agent gets scored as it learns (an RL environment), or the place an agent's code actually runs. Start with the guide to all three. Then look at the RL environment projects, or keep the short definition handy.

Start with

New to this? Read these in order.

  1. Build a Ticket Workflow with Signed Delivery and Approval

    Wire a real HTTP receiver to document lookup and a stored approval, then run twelve local tests of what happens when steps fail or repeat.

  2. Human Approval for Agents: Store and Check the Exact Decision

    Build an approval step in SQLite that refuses changed, outdated, expired or revoked requests, and never repeats finished work on retry.

  3. Build a Small RAG Pipeline and Measure What It Misses

    Build a six-document RAG pipeline, check its citations, filter out private and outdated documents, and measure the synonym question it misses.

  4. How to Review a Coding Agent's Diff

    Read an agent's change in the right order: tests, deletions, dependencies and config first. A review checklist for Claude Code and Codex.

  5. Hooks for Coding Agents: Rules the Model Can't Skip

    How Claude Code and Codex hooks work, the settings.json shape, and a worked hook that runs your checks before the agent commits.

  6. Document AI Cost at Scale: Pages Are the Small Part

    Per-page prices for Datalab, Extend, Azure, Google and LLM APIs as of September 2026, and a worked example showing why human review is most of the bill.

Agent-building course

Build a small ticket-label agent in stages: define its boundaries, add retrieval and state, then test failure and recovery. Each lesson has an exercise and a concrete deliverable.

Download the local lab. The downloadable Python 3.10+ lab uses only the standard library and synthetic data. Run python3 agent_lab.py for eight boundary tests. It makes no network or model calls and does not establish production readiness.

All labs on GitHub. Every lesson's lab, with a script that runs them all and checks each result against the recorded one.

Define the boundaries

  1. AI APIs for Beginners: Make a Request and Handle the Response

    Send a request, parse its response and test API failures.

  2. Build a Webhook Receiver That Verifies and Recovers

    Verify a delivery before accepting its work.

  3. Three Prompt Contracts You Can Check with Evaluation Fixtures

    Write three prompts with explicit output contracts.

  4. Run a Bounded Tool-Calling Loop in Python

    Separate a model proposal from an authorized action.

  5. Build an MCP Server and Client for a Ticket-Label Tool

    Run an MCP server and client; discover and test a tool.

Add context and control

  1. Build a Small RAG Pipeline and Measure What It Misses

    Filter retrieval by access and test insufficient evidence.

  2. Build Persistent Agent Memory with Updates, Expiry and Deletion

    Scope and expire remembered facts.

  3. Plan and Execute: Build a Bounded Ticket Workflow

    Bound a plan and stop when a dependency fails.

  4. Human Approval for Agents: Store and Check the Exact Decision

    Bind approval to the exact proposed change.

Evaluate failure and recovery

  1. Evaluate a Ticket Agent: Dataset, Scoring Code and Failure Report

    Run a dataset and preserve failures in explicit scoring denominators.

  2. Agent Evaluation Tools: Compare Five Options on One Ticket Task

    Reproduce a local evaluation and compare tools on the same task.

  3. Agent Design Patterns: Run Four Control Flows and Their Failures

    Run four control flows and inspect their failure behavior.

  4. Choose an Agent Starter: Inspect Three Repositories and Test One

    Audit the hidden assumptions in a starter.

Implement and review

  1. Use GitHub Copilot to Fix a Stale-Delete Bug You Can Verify

    Review a constrained coding change against behavior.

  2. Use Cursor to Build a Ticket Approval Interface You Can Test

    Make one small app change with a testable contract.

  3. Build an n8n Ticket-Triage Workflow and Test Its Failure Paths

    Import and execute a ticket-triage workflow with failure fixtures.

  4. Build a Ticket Workflow with Signed Delivery and Approval

    Connect signed delivery, retrieval and approval; verify restart and replay.

All posts in Agents & AI Engineering(45)

RSS feed