Where Agents Lose the Plot
An agent can nail five steps and hand you a fragment of the last one. The last line it writes tells you what it was really built to do.
You ask an agent whether a pull request is safe to merge. It reads the diff, runs the suite, checks the new code paths under concurrency, looks at the queries the change adds. Then it hands back the result of the last thing it checked: "Tests pass." You did not ask whether the tests pass. You asked whether to merge.
The work was thorough. The answer was useless. If you have shipped anything on LangGraph or the OpenAI Agents SDK, you know the shape of this: a trace full of competent steps and a final message that feels like a shrug.
It is tempting to call this a polish problem and reach for a better prompt on the last step. It is not. The last line an agent writes is a tell. It reveals what the system was built to do.
Steps, or the job
There are two ways to end a run, and they come from two different ideas of what an agent is.
A system built to execute steps ends by handing you the result of the last step, because to it a run is a list of actions and the last action is simply the most recent thing that happened. A system built to accomplish a goal ends by answering the goal, drawing on everything the run did, because to it the steps were never the point.
Most frameworks are the first kind wearing the costume of the second. They orchestrate steps beautifully and then, at the finish, lose the plot, the goal you actually asked for. The disappointment lands in the last sentence because that is the one place the difference shows. A run that does the right work and reports the wrong thing was optimised for motion, not for the answer.
Hyperstruck agents finish the job. The last thing you read addresses the goal you set, drawn from the whole run, not from whichever tool happened to fire last.
A fluent answer is not an honest one
Writing the answer instead of echoing the last step buys a new risk. An agent that can compose prose can compose prose that sounds right and says things the run never did. The review now reads "safe to merge, all checks green, no concurrency issues found" when it never actually checked concurrency. The fragment was useless, but at least it was true. A confident, wrong answer is worse, because you believe it.
You would expect the stronger, more deliberate model to be the careful one here. We found the opposite. Comparing models on whether the final answer stays faithful to what the run actually did, the one that reasoned the most was the least faithful: more deliberation bought more confident embellishment, not more grounding.
So an agent has to do two things at the end, not one. Answer the goal, and stay honest about the work behind the answer. Doing both, every time, is rarer than the demos suggest.
What to read
Next time you evaluate an agent, skip the trace for a minute and read only the last thing it says. Did it answer what you asked, or report what it last did? Does it claim anything the steps did not earn?
That single line carries more signal than the rest of the run. It tells you whether you bought a step executor with good marketing, or a system that was built to finish what you started.