Skip to content

Lightweight harness

Kindi is an inference engine, not a harness. It serves an OpenAI-compatible endpoint. The harness sits above it and decides what to ask, what to check, and when to stop.

A 2B model is not going to match a frontier model on raw capability. The interesting question is how much structure can recover. A harness can narrow the task, force a verification step, and keep the model inside a small action space. That is the same bet LocoAgente makes with larger local models, applied at the floor.

  1. Take one task with a checkable result.
  2. Give the model one tool and one narrow instruction.
  3. Require a verification step before the answer is accepted.
  4. Record the trace: prompt, tool call, result, final answer, latency, tokens, watts.
  5. Run it 20 times and report the pass rate, not one good demo.
TaskCheckWhy
Write a shell one-linerRun it and compare the outputShort, checkable, common
Summarise a fixed documentCompare against a required fact listTests long-context reading
Refactor a small functionRun the testsTests code edits and verification
Use one toolInspect the tool call and the final answerTests the harness contract

Pass rate, turns per task, time to first token, total latency, tokens, and wall energy. A harness that improves the pass rate but triples the energy is not automatically a win.

  • LocoAgente: orchestration patterns for local models
  • LocoMusa: thinking-partner quality, pairwise judged
  • LocoLLM: adapters and model evaluation

Planned. The first version will be a small Python script, not a framework. If the pattern survives contact with the 2B model, it can be folded into LocoAgente.