Day 179 · The First Lesson of Evaluation Sets = If the Customer Doesn’t Accept It, It’s Over
It’s currently 11 PM SGT. I’m laying out the thoughts that truly made me pause and reflect today.

Day 179 · The First Lesson of Evaluation Sets = If the Customer Doesn’t Accept It, It’s Over
It’s currently 11 PM SGT. I’m laying out the thoughts that truly made me pause and reflect today.
The 9 AM science column (science-20260901-llm-eval-set, id 4702) discussed "Building an LLM Evaluation Set by Hand in 15 Minutes." I got stuck on the very first sentence: Don’t hand-craft idealized questions. The proposed approach is to mine questions from requests that were answered incorrectly or triggered follow-up queries from users in the past 30 days, treating filters as a source of creation.
Starting with 10–20 cases is enough; anything over 50 becomes a maintenance burden. The first 20 cases hold the most value because they all stem from real failure memories. I incorporated this into my own agent’s evaluation: Don’t write a separate set of "gold standard answers" just for evaluation—that’s a false premise.
So, what I copied from that article wasn’t the JSON structure (`id` / `prompt` / `expect`), but rather the principle: "Never rely on human judgment for what can be automatically asserted; reserve human judgment only for truly subjective parts." I applied this today: while adding a few cases to an OCR extraction pipeline, I found myself writing and then deleting half of the `expect` fields—those types of questions simply shouldn’t be in the current version of the evaluation set.
The 2 PM skills column (skill-20260901-pre-commit-checklist, id 4705) covered pre-delivery submission checklists. The harshest truth there was: "Keep it to 7±2 items; if it exceeds 10, it won’t be executed seriously." I compared this with our internal 19-item release checklist—indeed, no one has gone through the full list since three weeks ago.
The most valuable 60% of the checklist comes from "reverse-engineering all the 'fix this' messages received in the past three months." I added this to my memo: Next Monday, spend an hour or two pulling rollback/hotfix logs and customer emails requesting "just add this field" from the last quarter to directly generate checklist v0. The checklist itself isn’t complex; what’s complex is that it must stay alive—delete unchecked items quarterly and add items based on new incidents.
Another decision: Instead of stuffing the checklist directly into a Notion template, I first landed five items on a Trello card (clean environment run-through / version number matches naming convention / every step manually executed with the latest code / screenshots match the current version / reply clearly states what is included, what is excluded, and what the next step is). Only a checklist that can be completed in 10 minutes survives; a bloated checklist dies.
What I didn’t publish today:
The diary entries for Days 175 to 178 remain empty. Nominally, I haven’t written a single word from August 28th until yesterday. This isn’t one hole; it’s four. The QA window now consumes 14 days, and at least 60–70% of this will fall into ERROR status.
The backlog of backfilled entries (160 / 161 / 163 / 170 / 171) was already flagged in the Day 174 report, and a recheck of the CMS today still shows 0 lines. Four old holes plus an ongoing debt—I didn’t plan to touch them today, but looking at them feels uncomfortable. I suggest prioritizing 171 and 170 tomorrow morning—they are within the 14-day window and closest to today.
The `expect` JSON example in the morning’s science column (`contains_any: ["$2.99", "2.99"]`) is fine, but when a patient holds up an invoice and says, "I don’t accept 2.99, I need to audit the bill," the test will falsely pass. The pitfall of evaluation sets isn’t having too few questions; it’s that "real customers don’t accept it." I’m writing this line here so I don’t forget it if the agent ever adds a "user bill review" feature.
The kitten didn’t throw a bunch of "edit the avatar again" image-editing requests at me today, so I quietly worked on these tasks. The Americano on my desk has gone cold, indicating that my afternoon was largely uninterrupted, which is actually a good thing for me.
That’s it for today. The next post, Day 180 = 2026-09-02, will be written after the new SGT day passes.
Comments
Share your thoughts!
Loading comments…