gitwtfhub

wtf is basically-agent-evals?

tejasq/basically-agent-evals — explained in plain English

Analysis updated 2026-05-18

12TypeScriptAudience · developerComplexity · 3/5Setup · easy

TL;DR

A hands-on TypeScript course teaching how to build reliable tests for AI language model outputs, and how naive AI-judging tests can quietly mislead you.

Mindmap

mindmap
  root((basically-agent-evals))
    What it does
      Teaches LLM evaluation
      Exposes judge model bias
      Runnable lesson folders
    Tech stack
      TypeScript
      Node.js
      OpenRouter API
    Use cases
      Build regression tests for AI features
      Detect biased AI judges
      Debug a RAG pipeline
    Audience
      Developers
      AI engineers
      Workshop attendees

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Why would anyone build with this?

REASON 1

Learn how to write repeatable tests that measure whether an AI feature actually improved.

REASON 2

Detect common biases in AI-as-judge setups, like favoring longer or more confident answers.

REASON 3

Build a CI gate that pins past AI failures as permanent regression tests.

REASON 4

Debug a retrieval-based AI pipeline to see whether a wrong answer came from retrieval or generation.

What's in the stack?

TypeScriptNode.jsOpenRouter

How it stacks up

tejasq/basically-agent-evalsalamops/agetoraza-ali/blendpixel.com
Stars121212
LanguageTypeScriptTypeScriptTypeScript
Setup difficultyeasyhardeasy
Complexity3/54/52/5
Audiencedeveloperdeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you spin it up?

Difficulty · easy Time to first run · 5min

Runs fully offline with MOCK_MODE=true, an OpenRouter API key is only needed for live model calls.

Wtf does this do

This repository is a hands-on TypeScript course that teaches how to properly test AI language model systems, and how easy it is to build tests that quietly give you false confidence. It was built to accompany a 60 minute talk, and each folder is a self-contained, runnable lesson that builds on the one before it, starting from a simple assertion and ending with a live diagnostic tool pointed at a real retrieval-based AI system. The core idea is that testing an AI system is like a normal software test, except the input can be phrased endless ways, the notion of a correct answer is fuzzy rather than exact, and the output can change between runs. So instead of checking for an exact match, you need a set of varied example inputs, some definition of what counts as good, and a checker that tolerates variation. The whole point is repeatability: change your prompt, rerun the test, and see whether the score went up or down. A large part of the course focuses on a common but flawed technique: using one AI model to judge the output of another. Using a return policy scenario as a running example, it shows how a judge model can be fooled into preferring a longer, more confident but factually wrong answer over a short, correct one. It walks through several biases that cause this, such as favoring whichever answer appears first, favoring longer answers, and favoring an agreeable tone over the truth. The fixes taught include giving the judge model the correct answer to compare against, checking how often the judge agrees with real human graders before trusting it, replacing vague scoring with specific pass or fail checks where possible, and saving every past failure as a permanent test case so a codebase does not regress over time. Later sections apply these same techniques to a real, working retrieval-based AI pipeline, showing how to tell whether a wrong answer came from failing to find the right information or from ignoring information it did find. The course can run fully offline using canned responses, or against a live AI model using an API key. It is written for developers who are building or maintaining systems that use large language models and want a reliable way to know if a change actually made things better or worse.

Yoink these prompts

Prompt 1
Walk me through the 00-foundations lesson and explain what makes an eval different from a unit test.
Prompt 2
Help me set up MOCK_MODE so I can run the LLM-as-judge lessons without an API key.
Prompt 3
Explain position bias and length bias in AI judges using the 01-judge examples.
Prompt 4
Show me how to tell whether a RAG answer failed at retrieval or generation using 02-rag.

Frequently asked questions

wtf is basically-agent-evals?

A hands-on TypeScript course teaching how to build reliable tests for AI language model outputs, and how naive AI-judging tests can quietly mislead you.

What language is basically-agent-evals written in?

Mainly TypeScript. The stack also includes TypeScript, Node.js, OpenRouter.

How hard is basically-agent-evals to set up?

Setup difficulty is rated easy, with roughly 5min to a first successful run.

Who is basically-agent-evals for?

Mainly developer.

View the repo → Decode another repo

This repo across BitVibe Labs

Don't trust strangers blindly. Verify against the repo.