AI Engineer Europe 2026

Malleable Evals: Why Are We Still Evaluating Adaptive Systems with Static Tests?

Read the talk

Malleable Evals: Why Are We Still Evaluating Adaptive Systems with Static Tests?

As agents adapt their tools, behavior and user experience, evaluation needs to evolve with them—from fixed examples to trace-derived tests and telemetry-guided feedback.

From a talk by Vincent Koc

Before you start: Familiarity with unit tests, LLM tool calling and application traces will help you follow the evaluation mechanisms.

When intended use stops describing actual use

Around 2013, Vincent Koc tried VR goggles whose warning label limited use to five minutes. He recalls using them for three hours, then vomiting for three hours afterward. The device’s intended use and his actual behavior were very different—and that difference is where testing becomes interesting. Emerging technology invites experimentation, including uses its designers would rather people avoid.

Koc brings that experimental perspective to evaluation research at Comet. He describes working with universities and benchmarking systems for organizations including Uber, Netflix and UK banks. Against that background, the joke that evaluations are dead raises a practical question: what must evaluation become as the systems it measures grow more adaptive?

Black slide displaying Hamel Husain’s post about tech ragebait, with a speaker inset at lower left.Open full source frame
A post by Hamel Husain lists tech ragebait, including “Evals are dead.”
0:510:59
Suggest correction

This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.

0:51 · section reference included

The missing chaos-engineering layer

Software testing starts with an expectation: this thing is meant to do something. Examples become unit tests. A manual regression suite records that doing A and B sometimes produces an unwanted C. CI/CD checks help keep that behavior from shipping again. Beyond those known cases, chaos engineering deliberately stresses and breaks systems to discover their limits, while observability helps engineers understand what happened.

AI evaluation often stops earlier. Consider a risk-compliance check intended to prevent an assistant from selling financial services. A team handcrafts questions, tunes the system until it handles them correctly, and cycles through those questions offline before deployment. That establishes behavior on the selected cases, but leaves the exploratory layer underdeveloped.

PracticeWhat it addresses
Static benchmarkPerformance on a fixed collection of tasks
Hand-curated evaluationSpecific behaviors the team anticipates
Pre-deployment evaluationWhether the current system passes before release
Chaos engineering and observabilityWhat happens when behavior stretches beyond those expectations

Koc’s gap is the last row: how do teams discover where an agent breaks, rather than only checking the examples they already know?

White slide listing Static Benchmarks, Hand Curated Evaluations, Pre-Deployment Offline Evaluations, and ?? (gap).Open full source frame
Static benchmarks, hand-curated evaluations, and pre-deployment offline evaluations leave a “?? (gap).”

Adding more datasets does not automatically close that gap. A benchmark about adding numbers may measure a capability, but its relevance to a particular application still needs explaining. Teams can accumulate a huge collection of evaluations and nevertheless return to diagnosis when an unexpected production failure arrives.

1:542:07
Suggest correction

This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.

1:54 · section reference included

When the harness changes, what does a passing test mean?

The application being evaluated is itself changing. Ordinary software releases can require revised tests, but adaptive agents make that relationship more immediate. Koc identifies himself as a core contributor to OpenClaw and describes harnesses that can shift their behavior and create skills. As those capabilities change, a benchmark tied to an earlier application can become less representative.

An adaptive-testing paper he introduces asks whether benchmarks can change with applications. He describes its approach as more selective, smarter testing: choosing what to test more intelligently. That is a step toward adaptive evaluation, but it is narrower than maintaining an evaluation system that follows changes in real usage. Selecting better questions from an existing test collection and changing what the collection needs to cover are different problems.

4:214:30
Suggest correction

This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.

4:21 · section reference included

From wordsmithing prompts to testing components

The route to this problem starts with prompt engineering. In a banking or creative application, a developer changes instructions, tries more words, and watches what comes out. Koc compares this to developing a medicine for liver disease and discovering that it relieves pain: a useful effect can emerge without the original experiment explaining it well. His rhetorical claim that prompt engineering died in 2023 comes with an acknowledgment that people still work this way. The target of the criticism is unguided wordsmithing.

Context engineering makes the system’s moving parts more explicit. Incoming data, search, retrieval-augmented generation and tool calls create steps that can be inspected separately. A large agent might contain an MCP sales tool; that tool can be tested for its intended behavior independently of the whole application. Decomposition gives evaluation clearer targets and makes failures easier to understand, even though passing component tests does not settle the behavior of the complete agent.

5:365:50
Suggest correction

This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.

5:36 · section reference included

More generation, more adaptation

Greater access to tokens accelerates this process. Koc concedes that whether tokens are cheap is debatable, but their availability makes more generation possible. His phrase “tokens become fast food” captures a feedback effect: developers consume more tokens, generate more code, and increase the velocity of application development.

White slide with centered italic text reading Tokens Become ‘Fast Food’, with Fast Food highlighted in peach.Open full source frame
“Tokens Become ‘Fast Food’.”

Model capability expands what that generated software can do. Koc describes optimization work in which general-purpose models solve individual ARC-AGI-2 puzzles. He also recalls trying ARC-AGI-3 and finding some puzzles difficult for humans, while emphasizing models’ ability to recognize useful patterns. ARC-AGI-2 uses input-output tasks; ARC-AGI-3 introduces interactive environments with unstated rules and goals. His examples include no model identity, harness, budget or measured score, so they illustrate capability rather than establish completion of either benchmark.

That leads to intent engineering: systems that adapt toward what a user wants. Koc points to OpenClaw and harnesses around Claude and Codex as examples of systems trying to understand users and improve their experience. Personalization creates a new testing difficulty. If the system adapts differently to you and to me, a single expected interaction may no longer describe both experiences.

This increases the need for evaluation and observability. Teams need to understand what happens inside the different layers of an agentic application. A statement such as agents being insecure is too broad to guide a fix; visibility into behavior is what can turn that concern into a specific, actionable problem.

7:257:37
Suggest correction

This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.

7:25 · section reference included

Define outcomes, then let traces reshape the tests

An intent-based outcome requires a different evaluation target. For arithmetic, an exact-answer check can establish that one plus one equals two. For an assistant, the questions may instead concern how it handles ambiguity, expresses personality or meets an organization’s expectations. Rubrics make those criteria explicit, much as a school can evaluate artwork without requiring every student to produce the same picture.

The test suite can also change as usage changes. Koc imagines a workload in which 80% of traced activity is familiar, then asks what happens when the customer base changes. New customers ask different questions and use the agent differently. Those traces provide evidence that the evaluation suite may no longer represent the application’s workload.

His proposed trace-driven process is:

  1. Collect traces of the application’s behavior.
  2. Feed those traces to an evaluation agent that looks for changes in usage.
  3. Notify users or agent owners when something has changed.
  4. Revise the evaluation suite to cover the changed behavior.

The agent helps curate the tests rather than leaving that work entirely to people. This is a proposed maintenance loop: the detection of a change supplies a reason to update coverage.

10:0010:11
Suggest correction

This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.

10:00 · section reference included

Put operational feedback inside the loop

Once agents read traces and perform evaluations, the process can operate as an always-on evaluation and optimization service. Evaluation no longer has to wait for someone to assemble a dataset and launch an offline run.

The next step is telemetry in the loop. Koc mentions a paper he has written on this idea: expose operational information to the harness running the software, MCP tools or agentic system. Two kinds of feedback matter in his description:

  • Failures: Give the harness information about what broke so it can attempt a repair and continue.
  • Cost: Give it information about resource spending, together with conditions that guide acceptable behavior.

The feedback changes what the harness can respond to. Instead of relying only on failures anticipated during development, it can use evidence from the current run. Koc describes this as enabling self-correction to some degree, not guaranteed recovery from every error.

11:1911:32
Suggest correction

This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.

11:19 · section reference included

Make the desired end state the evaluation target

Koc tentatively calls the alternative eval calcification: evaluation becomes increasingly rigid while the system it describes continues to change. To explore a different pattern, he points to Karpathy’s autoresearch, a Python-based optimization loop that tunes and tweaks toward a goal. The transferable idea is to specify a target, evaluate a candidate change, and use the resulting signal to guide another iteration.

His deliberately everyday example is barbecue. Optimizing for the tastiest mix and optimizing for the cheapest mix are different tasks. The user’s intent determines which reward signal makes sense. A small Python example makes that distinction concrete with illustrative candidate values:

python

from dataclasses import dataclass


@dataclass(frozen=True)
class Mix:
    name: str
    cost: float
    taste: float


mixes = [
    Mix("smoky", cost=6.0, taste=8.0),
    Mix("pepper", cost=4.0, taste=7.0),
    Mix("sweet", cost=5.0, taste=9.0),
]


def reward(mix: Mix, intent: str) -> float:
    if intent == "tastiest":
        return mix.taste
    if intent == "cheapest":
        return -mix.cost
    raise ValueError(f"Unknown intent: {intent}")


def choose_mix(intent: str) -> Mix:
    return max(mixes, key=lambda mix: reward(mix, intent))


for intent in ("tastiest", "cheapest"):
    print(intent, choose_mix(intent).name)

The candidates stay the same; changing the objective changes the preferred result. The taste values would have to come from some assessment—the function cannot discover what tastes good merely by naming that objective.

An adaptive loop would go further than choosing among those fixed candidates: it would propose changes, assess them against the objective, and use the feedback to correct its next attempt. Evaluation becomes a specification of the desired end state, rather than merely the dataset used at the beginning. That is the broader direction Koc draws from automated optimization: people define what they want the system to reach, and the machine performs the iterative work toward it.

12:1212:21
Suggest correction

This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.

12:12 · section reference included

Maintain the changing edge of behavior

Koc closes with an illustrative split: 80% of behavior is stable and defined through intent, while 20% keeps changing. Those proportions are a thought experiment, not measured workload statistics. The changing portion contains the strange question or unexpected use that can cause serious business problems. His proposal is to have agents monitor and maintain that portion, adapting evaluations as those behaviors emerge.

White slide with adjacent horizontal cyan and pink bars labeled 80% and 20%, with a speaker inset at lower left.Open full source frame
A cyan bar labeled 80% sits beside a pink bar labeled 20%.

This makes evaluation something to maintain as code, software or a living agent: a growing, self-optimizing system rather than a point-in-time dataset. The implementation was still in progress at the time of the talk. Koc did not show the planned in-depth Comet demonstration because its end state was unfinished; he expected it to be ready in the following weeks.

The conceptual framework is meant to transfer to other teams’ systems. Agents can shift their own behavior; the surrounding problem and datasets can change too. Evaluation therefore needs its own capacity to observe those changes, revise what it tests and guide correction toward the intended outcome.

13:3013:42
Suggest correction

This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.

13:30 · section reference included

Resources

From the talk

  • Source code and setup instructions for the personal assistant that connects models, tools and messaging channels.

  • A single-GPU experiment loop in which an agent edits training code and evaluates changes against validation bits per byte within a fixed training budget.

  • The benchmark's original paper explains its input-output tasks, abstract-reasoning goals and human testing.

  • Introducing ARC-AGI-3Article

    The March 2026 introduction to interactive environments where agents must discover rules and goals through exploration, with links to the games.

  • Explains how completed levels and action efficiency relative to human players contribute to benchmark scores.

  • Mind the MetricsPaper

    Koc and collaborators describe an architecture for bringing telemetry, traces and evaluation feedback into IDE and agent development workflows through MCP.

  • ATLAS uses psychometric models to select informative benchmark questions and estimate model ability with fewer items. The linked paper includes a July 2026 revision.

Transcript download
Read the transcript and explore slides

Loading transcript and slides…