A small local model can produce an answer quickly. That does not yet tell me whether using it saved work.
I started Local Agent Toolkit for a simple reason: I wanted to spend fewer remote-model tokens on small repository questions. I also wanted to use the compute already sitting in my laptop. Could a local model handle a useful first pass, while I kept responsibility for checking the result?
I was not trying to build an autonomous software engineer. I wanted a bounded tool for repository exploration, review, diagnostics, and candidate patches. The useful question is not whether the model can say something plausible. It is whether the complete workflow leaves me further ahead.
Give it a job with a finish line
“Improve this repository” is difficult to assess. “Locate the configuration loader and identify the callers that depend on its defaults” has a clearer output.
A bounded task makes it easier to provide relevant context and check the answer. It also makes a failed attempt easier to discard.
Compare the whole workflow
For a repository question, I would compare two routes:
- Find and verify the answer with ordinary search and inspection.
- Ask the local agent, then verify its answer against the same source.
The comparison should include preparation, model generation, review, corrections, and unsuccessful attempts. Using my laptop’s compute is not free if setup and verification take longer than the task itself.
Reducing remote-model tokens can be useful. It is not the same as reducing time or improving correctness. Token savings are a reason to test the workflow, not a result I should assume.
Keep the useful failure cases
An agent that names a plausible but nonexistent function creates work. An agent that points to the correct file but misreads a condition still needs correction.
Those cases belong in the assessment alongside successful answers.
Local Agent Toolkit provides a bounded interface for this kind of work. It filters repository context, keeps advice untrusted, and prints candidate diffs instead of applying them. Its existence does not establish a fixed saving across models or tasks.
The question I care about is practical: after checking the result, am I further ahead?