HackerTube 中文?
Field guide

How do you know the system got it right?

Start with the kind of evidence you need: the inputs, the code or the measure of success.

Check the code and inputs

Trace a passing test back to its decision rule and the data available at the time.

Why do tests pass when the program is wrong? →Gary Bernhardt’s isolated tests and Andrej Karpathy’s neural network both deliver good news when the code is wrong.Why does testing a business rule need a database? →Separate who qualifies for a reminder from whether the reminder can be delivered.Can today’s record explain yesterday’s decision? →Keep the value a decision actually used so that later changes do not erase its explanation.The machine says it passed. Who can check? →Follow a ballot into a voting machine, then follow a read request across a motherboard. At each step ask what was examined, who delivered the answer and whether someone else can inspect the same evidence.How far is one working chip from a viable production line? →Work backward from a die that passed test. How many others passed on that wafer? Who qualified the machinery? Was the line under financial pressure before an interruption?

Check the measuring stick

Consider what an exam measures and what happens when a system learns to chase the score.

Will the leaderboard winner solve your problem? →A public score can shortlist models. A new version of your own task can reveal what the score misses.What if the best-scoring move is to pause the game? →Optimizing a score can reveal what its designer forgot to ask for.

Subject map

Choose a subject, or select a plus on a connection to compare the evidence.

5 subjects · 5 readings · 46 source videos
Design and Testing connection · 1 citations Design and Data connection · 1 citations Testing and Learning connection · 1 citations Testing and Evaluation connection · 1 citations Evaluation and Learning connection · 1 citations Testing Design Data Evaluation Learning

Each line connects two readings through cited passages.

Subject

Testing

Connected subjects

Subject

Design

Why does testing a business rule need a database? →

Separate who qualifies for a reminder from whether the reminder can be delivered.

Source videos (2)Gary Bernhardt · Boundaries · ▶ 15:28Rich Hickey · Simple Made Easy · ▶ 37:13

Connected subjects

Subject

Data

Connected subjects

Subject

Evaluation

Connected subjects

Subject

Learning

Connected subjects

Across subjects

Design ↔ Testing

Isolate the decision

A mock can share the caller’s misunderstanding. Separating the expiry rule lets you test the rule and its real inputs independently.

Compare the original excerpts
the expired users class makes all the decisions and the sweeper class has all the dependencies.
Gary Bernhardt · Boundaries · ▶ 15:28
if you don't stub the boundary correctly, your test will pass and your production system will be wrong.
Gary Bernhardt · Boundaries · ▶ 4:14
Across subjects

Design ↔ Data

Data and interfaces

Historical versions preserve inputs. Pure interfaces preserve the meaning of running the same computation again. Replaying a decision requires both.

Compare the original excerpts
a true functional interface, same input, same output.
Rich Hickey · Simple Made Easy · ▶ 37:13
the next version of the value shares a lot of structure with the prior version
Rich Hickey · Are We There Yet? · ▶ 40:03
Across subjects

Testing ↔ Learning

Two misleading signals

A wrong gradient happens to lower loss; optimizing preference scores can yield worse answers. Check the implementation in the first case and the scoring rule in the second.

Compare the original excerpts
you may have lots of bugs in the code and uh your network might actually work
Andrej Karpathy · Building micrograd · ▶ 2:13:44
optimization will start to game it and you basically crop it
Andrej Karpathy · Deep Dive into LLMs like ChatGPT · ▶ 3:04:45
Across subjects

Testing ↔ Evaluation

What a score misses

Familiar questions can mask a lack of generalization; an easy training set can mask a gradient bug. The symptoms resemble each other but the causes differ.

Compare the original excerpts
you may have lots of bugs in the code and uh your network might actually work
Andrej Karpathy · Building micrograd · ▶ 2:13:44
we don't know what gpt4 was trained on I don't know what gpt4 was trained on
Sébastien Bubeck · Sparks of AGI · ▶ 17:35
Across subjects

Evaluation ↔ Learning

Selecting versus optimizing

A benchmark can reward skills unrelated to the job. Training against a similar metric can also teach the system to exploit it.

Compare the original excerpts
these metrics are not particularly well aligned with real life usage
Jeremy Howard · A Hackers’ Guide to Language Models · ▶ 59:39
optimization will start to game it and you basically crop it
Andrej Karpathy · Deep Dive into LLMs like ChatGPT · ▶ 3:04:45