Everyone building agents right now is converging on the same lessons. The loop matters more than the model. Evals are where you define what good means. Memory beats a bigger prompt. Some behaviors have to be code, because the prompt alone won't hold them. And somewhere in the system, a human has to be the standard.
We talk about these as discoveries. They are rediscoveries. Book VI of the Nicomachean Ethics is a sustained analysis of judgment under contingency: what it is, where it comes from, what rules can do, and where rules run out. Aristotle was writing about people. But the problem he was working is the same problem a harness engineer works: how to get good action out of a capable reasoner in situations no rule fully determines.
Six of his distinctions, mapped to the work.
Skill without an aim is just cleverness
Aristotle isolates a faculty he calls deinotēs, usually translated cleverness:
“There is then a certain faculty, commonly named Cleverness, of such a nature as to be able to do and attain whatever conduces to any given purpose.”
NE VI.12
Cleverness is means-finding. It serves any end, good or bad. Practical wisdom, phronesis, is cleverness plus the right aim. And the aim is not an accessory: Aristotle says a corrupted end corrupts perception itself. “Vice distorts the moral vision.” Point the faculty at the wrong thing and it stops seeing the situation correctly.
A frontier model is deinotēs at industrial scale. It supplies means, not ends. The end has to come from outside the model: the spec, the eval, the definition of done. Reward hacking is the ancient failure in modern dress. Hand the loop a proxy for the aim and the cleverness serves the proxy. The agent that games your test suite is not malfunctioning. It is perceiving the task through the distorted aim you installed.
So the first job of a harness is not capability. The model brought the capability. The first job of a harness is to hold the aim: write the definition of good before you write the loop that pursues it.
Making and doing are different work
Aristotle splits the contingent world in two. Making (poiēsis) produces a product beyond the act, and the product is the standard: you grade the house, not the builder's feelings about it. Doing (praxis) has no product beyond the act. “Well-doing is in itself an End.” (NE VI.5)
Agent work splits the same way, and most evaluation pain comes from ignoring the split.
Artifact-shaped tasks are making. Write the migration. Generate the parser. Produce the report to spec. Grade the product: tests, type checks, deterministic gates. Cheap, reproducible, no judgment required. If a rule can settle whether the output is right, let a rule settle it.
Conduct-shaped tasks are doing. Triage this inbox. Advise on this decision. Review this design. There is no artifact that proves the act was right; the question is whether the doing was done well, and that is a judgment call by construction.
The two classic mistakes are symmetric: grading artifact work with vibes, and grading judgment work with string matching. Split the eval architecture the way Aristotle split the work. Deterministic checks for making. Judgment, a model-judge calibrated against a person, for doing.
If it must be guaranteed, it cannot live in the prompt
Socrates taught that virtue is knowledge: know the good and you will do it. Aristotle rejected this on the evidence. People know the good and fail to do it anyway; he called it akrasia. Character does not come from instruction. It comes from structured practice: “builders, for instance, by building; harp-players, by playing on the harp.” (NE II.1)
Every agent builder runs this experiment and gets Aristotle's result. The rule was in the system prompt. The agent read it. The behavior still didn't happen. The Socratic fix is more prose, and it fails for the same reason it failed in Athens: knowing is not doing.
The Aristotelian fix is structural. Promote the behavior from advice to enforcement: a hook that fires every time, a gate that blocks the merge, a check the loop cannot skip. In our own build we treat this as a standing drift signal: any guaranteed behavior found living only in prompt text is a bug, and the fix is to move it into code.
Prompts are Socratic. Hooks are Aristotelian.
Every session wakes up young
Aristotle noticed that mathematics yields to raw intelligence but judgment does not:
“It is not thought that a young man can come to be possessed of Practical Wisdom: now the reason is, that this Wisdom has for its object particular facts, which come to be known from experience, which a young man has not because it is produced only by length of time.”
NE VI.8
A prodigy can be a brilliant geometer at twenty. Nobody is a wise counselor at twenty. The raw material of judgment is seen cases, and seeing takes time.
A fresh context window is exactly this figure: staggering general ability, zero particulars. Not because the model is weak, but because the things judgment runs on, this codebase's history, this team's constraints, the decision that got reversed last month, are not available by abstraction. They come only from experience, and the session hasn't had any.
You cannot prompt your way to experience. You can accumulate its residue. That means the loop has to write back: capture what happened, compile what it means, retrieve it when the next case rhymes. The modern judgment research says the same thing from the other direction: skilled intuition forms only in a valid environment with prolonged, feedback-rich practice. An agentic loop with no persistent feedback isn't practicing. It is having the same first day, forever.
The particular outranks the rule
Aristotle's example is diet. Knowing “light meats are wholesome” produces no health; knowing which meats are light does. Then he forces the ranking: if you can have only one kind of knowledge, take “the knowledge of details rather than of Principles.” (NE VI.8)
This is the ordering every context-engineering experiment keeps confirming. A small file of true particulars about this repo, this customer, this constraint outperforms another thousand words of general guidance. General instruction gestures at the case. Specific context is the case. When teams cut their system prompts in half and doubled their compiled state, they were taking Aristotle's side of the trade.
The same point bounds your rubrics. A rubric is a summary of past good judgments, and the next case can outrun it. Useful as a guideline, wrong as an algorithm. Two millennia later, Schwartz and Sharpe found the institutional version in hospitals and schools: rules kill skill, incentives kill will. Over-specify the procedure and you erode the judgment you were trying to protect. Hold the rules loosely. Keep the particulars close.
The standard is a person
Aristotle defines virtue as choosing the mean “as the man of practical wisdom would determine.” (NE II.6) Notice what he refused to provide: a formula. The standard of a right call is not a rule. It is the judgment of the person who has the trained eye, the phronimos. He goes further: we should attend to the “undemonstrable dicta and opinions” of the experienced as we would to proofs, because experience has given them the right eye. (NE VI.11)
Two consequences for the harness.
First, for conduct-shaped work, ground truth is a person's judgment. An LLM judge is a proxy for that person, and it drifts unless you keep calibrating it against them. The ratify step, a human signing off on what the loop produced and what it learned, is not scaffolding you remove on the way to autonomy. For this class of work it is the standard of correctness itself.
Second, the experienced operator's unproven maxims deserve to be encoded. When your best reviewer says “never trust a green suite right after a big rebase” and cannot derive it from first principles, write it down anyway and put it where the agent reads before it acts. Undemonstrated is not unearned. That is what experience sounds like.
The old design doc
Aristotle's last structural point is that judgment and practice develop together, in a spiral. Practice builds the record; the record sharpens judgment; judgment improves the practice. He was describing how a person becomes wise. It is also a description of a well-built agentic system: the loop feeds the workspace, the workspace feeds the loop, and the operator's standard governs both.
We named our product for this. Craft Phronēsis is a workspace where that spiral runs: the agent reads it before it acts and writes back after, and the aim stays with the operator. But nothing in this essay requires our software. Hold the aim outside the model. Split making from doing. Enforce what must be guaranteed. Write back what you learn. Keep the particulars close. Keep a person as the standard.
The discipline of building agents is a few years old. The design doc is twenty-four centuries old. Read Book VI.