Why did my local AI model run for 50 minutes and produce nothing?

What happened

We tested a small local model as a code reviewer to see if it could replace paid reviews. It ran for 50 minutes and produced no report.

Its whole 18K-token budget went to reasoning. The response ended with finish_reason: length, meaning it ran out of room before writing a single finding.

In the same test, reviewers that could open files and run shell commands produced verified findings in about 35 minutes. Our conclusion: the tooling was the bottleneck, not the model's quality.

The same test caught a second mistake, which was ours. The plan said the server lacked a modern Python version and a machine-learning library. That was wrong. We had checked the system's default Python, not the one we would actually use.

Why the AI did it

Models with a "thinking" step use tokens for reasoning before they answer. If the budget is small and the task is big, the thinking can use all of it. You don't get a partial answer, you get nothing, and you won't know unless you check why it stopped.

A model that can't open files has to guess or work from whatever you pasted in. A reviewer that can read the code and run checks spends its effort on evidence.

The fix, step by step

  1. Check why every run ended. length means the model ran out of budget, not that it finished. Treat it as a failure.
  2. Raise the output budget or shrink the task. Review one file or one change at a time instead of the whole project.
  3. Give the reviewer the tools to look. On a normal Claude or ChatGPT plan, that means using a mode that can read files or run code, or at least pasting the exact code under review.
  4. Ask for findings with proof. Each finding should name the file and the line. Verify them.
  5. Check your own setup claims the same way. Before writing "the server doesn't have X," test the exact environment you'll run in.

How to check it worked

  • Plant a known bug in the code you hand the reviewer. A working setup finds it and names the line.
  • Check the stop reason on that run. It should be a normal finish, not length.
  • Time it. If it runs much longer than the tool-equipped reviewers (~35 minutes for us) and finds less, it's not ready.