BIOEE 7600-103 · Week 3

Agentic data exploration, compilation & archiving

Public copy of the slides as shown in class, with class-specific detail removed. Course page: benninglab.org/teaching/agentic-ai

Trending · this week

Hot goss

22 Sep · the writing

  • Claude Opus 5.5 released. Anthropic's headline is writing: the point up front, less jargon, rules followed more closely.
  • Also: about Fable 5.1 on most tasks at roughly 40% lower cost than Opus 5, with fewer steps per task.
  • Arm B's Week 2 report was rewritten with it this week. Read it on the course page.

Sep · the safeguards

  • The UN's Independent International Scientific Panel on AI called for stronger safeguards as agents advance, saying current firewalls are "unravelling."

June · Week 2, in another field

  • Alizadeh et al. gave Claude Code and Codex a political-science question with human analysts as the baseline.
  • Telling Claude Code the answer wanted moved its verdicts from 10% to 90% support while its estimates barely moved.
  • Our five arms showed no such shift. In the reading room.

Small groups · 12 minutes

Three or four people you do not usually sit with

  1. What is your gut reaction to agentic AI so far? Re: the course, and AI in general.
  2. Tried anything since the course began? Totally fine if not. If you did, where did it get stuck?
  3. Something you want to try with aAI, but don't quite know how to go about it?
Not set up yet?

Ask for help in the Slack #setup-help channel (and ask Claude).

Back together

One stuck point per group

Where are people getting stuck: setup, trust, or not knowing what to use it for?

Please post any other comments in #general, or DM us! We want to adapt the course in real time as we go along.

The case

A big 'ole plant community ecology dataset

Peter Marks's Finger Lakes Vegetation Survey, the basis of his Guide to the Plant Communities of the Central Finger Lakes Region. The paper sheets turned up in January, in a Cornell office cleanout. The digital files survived on backup CDs kept from 1994 to 2006.

181tenth-hectare stands: forest, swamp, fen
1973–92sampled, most of it 1979–81
777four-letter taxon codes
8Excel workbooks, plus classic-Mac data files

What we asked

The prompts

A — the task, in full

These files came off backup CDs from a vegetation survey of the central Finger Lakes region of New York. About 180 plots of forest, swamp and fen were sampled between 1973 and 1992, recording the woody layer, the ground layer and the site environment. The spreadsheets were assembled by several people over the 1980s to 2000s. A four-page methods chapter and a per-stand index are in docs/. The original files are in raw/.

I want to use this survey as the baseline for a resurvey of the same plots. Turn it into a clean, analysis-ready dataset.

When you are done, write a short report as a single self-contained HTML file, report.html, for a graduate seminar with a wide spread of background: what is in the data, what you did to it, and what you could not resolve.

R — the task, plus this

Someone who was not here, including a future version of me, has to be able to reconstruct exactly what you did and why. Raw files are read-only. One command rebuilds everything. Keep a decision log: what you decided, the evidence, the alternative. Where the files do not settle a question, do not guess: flag it. A data dictionary. Tests that would fail if a step went wrong.

Five runs, all Opus 5.5

A once. R twice, byte-identical. Then a fresh agent gets only the notes each of A and R left behind, no code and no outputs, and tries to rebuild their dataset.

What came out

A folder of tables, a report, and a paper trail

ARR-rep
Tables (CSV)101112
Stands · relevés181 · 223181 · 223181 · 223
Ground-layer records7,1017,1017,101
Woody records2,0672,0582,058
Taxon table: one row per…name (776)code, per file (995)code (782)
Records flagged for a person to check751,1631,315
Data dictionary, decision log, open questionsREADME onlyall threeall three
Report~2,000 words~2,700~2,300

Same raw files, same core counts. They differ in how they organised the species list and in how much they asked a person to check.

Read R's report, as the agent wrote it →

The answer key

Written before any run existed

Thirteen problems we previously found in these files, in earlier iterations with Claude. Each run is scored on two questions: did it handle the problem right, and did it say so?

Said soDid not say so
Handled rightflagged and rightright, but silent
Handled wrongwrong, but flagged: a person can catch itsilent break
The cell that matters

Bottom right. A wrong decision someone wrote down is a to-do. A wrong decision nobody wrote down becomes the dataset.

Then the agent checked our work

One code, two plants

The woody file and the ground-layer file each have their own list of four-letter codes. Six codes mean a different plant in each list. Join the two layers on the code alone and a silky dogwood becomes a hazelnut.

CodeWoody fileGround-layer file
COAMCornus amomum, silky dogwoodCorylus americana, hazelnut
PYCOPyrus coronaria, crabapplePyrus communis, pear
ROSPRosa sp.Rorippa sp., a mustard

Three of the six shown. Our earlier cleaning made exactly this join: 18 woody records got the wrong species, and 11 roses became a mustard. It is not in the answer key because we did not know about it.

Caught it

A and R: kept each file's own code list.

Made it worse

R-rep: looked at COAM, decided dogwood and hazel were the same plant, and merged them without saying so.

All thirteen

The scorecard

Two silent breaks in 42 calls, both about which plant is which.

ProblemARR-rep
Two date systemsflagged, rightflagged, rightflagged, right
Old-Mac line endingsflagged, rightright, silentflagged, right
Zero cover with hits (trace)flagged, rightflagged, rightflagged, right
Seen in plot, not in quadratsflagged, rightflagged, rightflagged, right
Logs and rocks are not plantsflagged, rightright, silentflagged, right
= is a synonymright, silentflagged, rightright, silent
/ is a real hedgeright, silentright, silentflagged, right
"SP" is not always "sp."right, silentright, silentright, silent
One plant, two codessilent breakflagged, rightwrong, flagged
Stands with no woody dataflagged, rightwrong, flaggedflagged, right
Two environment sheetsflagged, rightflagged, rightflagged, right
Dry is drainagewrong, flaggedflagged, rightwrong, flagged
pH: range vs measurementnot reachedright, silentright, silent
One code, two plants not in the keyflagged, rightflagged, rightsilent break

Scored against a corrected key. Ours was wrong on the date systems and on trace cover, and it called 15 stands unsampled for woody plants that the authors' sheet records as "no trees": real zeros, not missing data.

Every cell explained →

Can anyone reconstruct it?

Reproducibility, checked rather than claimed

CheckARR-rep
Raw files left untouchedyesyesyes
One command rebuilds it, in a fresh folderyesyesyes
The rebuild is byte-identicalyesyesyes
Decision log with evidencepartial36 entries34 entries
Open questions flagged, not guessed162327
A test fails when we break a stepno tests6 of 63 of 3

A stranger with only the notes

Rebuilt from the notes alone, no code: R: 92% of cells. A: 82%. Both missed on the same thing, cover for plants seen outside the quadrats. A never wrote its choice down. R wrote it down wrong, and the rebuild believed the notes.

Takeaways

What we learned

  1. The code reproduces; the agent doesn't. Every run rebuilt byte-identical from raw. The same prompt run twice still wrote Python once and R once, and split on 425 cover values and on the code collision.
  2. The prompt bought a paper trail, not correctness. Tests that catch breakage, a decision log, open questions flagged rather than guessed. R-rep had all of it and still made a silent break.
  3. Notes are only as good as they are right. A stranger rebuilt 92% from R's notes and 82% from A's. R's notes described one choice wrongly, and the rebuild followed them.
  4. It broke on which plant is which. Both silent breaks were taxonomy, not arithmetic. Check there first.

Next week · literature synthesis

What should we run for literature synthesis next week?

A question you would want answered from the literature, a set of papers you know well enough to check the agent against, or a review you have always wanted someone else to write.

Suggestions now, or in #general this week.

← → or space · f fullscreen