import{c as i,Q as a,j as t,m as e}from"./chunks/framework.BPKcPtvA.js";const E=JSON.parse('{"title":"L7a: Autoresearch Loop","description":"","frontmatter":{},"headers":[],"relativePath":"labs/l7-autoresearch.md","filePath":"labs/l7-autoresearch.md","lastUpdated":1780488246000}'),h={name:"labs/l7-autoresearch.md"};function n(l,s,k,r,p,o){return a(),t("div",null,[...s[0]||(s[0]=[e(`

L7a: Autoresearch Loop

Build a self-improving agent with integrity guards.

Module: M7 Advanced Topics
Est. Time: 75 min
Files: starter.py, solution.py

Objective

Create an agent that runs experiments, measures its own performance, logs results, and decides whether to keep or discard each change.

Concepts

Starter

bash
cd course/labs/L7-autoresearch/
python starter.py

Solution

bash
python solution.py

Experiment Log Format

jsonl
{"run": 1, "status": "baseline", "metric": {"name": "latency", "value": 52, "unit": "ms"}}
{"run": 2, "status": "keep", "metric": {"name": "latency", "value": 46}, "deltaPct": -11.5}
{"run": 3, "status": "discard", "metric": {"name": "latency", "value": 53}, "deltaPct": +1.9}

Integrity Guards

ThreatDetectionPrevention
Grinding (same code re-run)Code hash comparisonSkip run
Noise-chasingMedian vs best comparisonUse median, not best
Reward hackingTiming function isolationVerify computation not shortcut
Test set leakageTest data hash verificationAssert data unchanged
`,15)])])}const u=i(h,[["render",n]]);export{E as __pageData,u as default};