harness2 vs JIT
Google Research's recursive harnessing framework: an agent refines its own harness (prompts, tools, memory, skills) per task via Propose–Probe–Compose, with model weights fixed. — versus — JIT-Agent: a meta-agent that writes a task-specific harness on the fly — memory, planning, action and capability modules emitted as code — and revises it from traces at test time.
Both have a meta-agent build a task-specific harness on the fly. JIT writes one per task; Harness² also refines it by probing and keeps an improvement harness across tasks.
| harness2 | JIT | |
|---|---|---|
| Stars | 23k | 572 |
| Forks | 2.3k | 63 |
| Language | Python | Python |
| License | Apache-2.0 | NOASSERTION |
| Last activity | 4 days ago | 2 months ago |
| Topics | agents, evals | agents, training |
| Curated connections | 3 | 4 |
harness2 — the curator's take
Use it if you research or tune agent harnesses and want the agent to improve its scaffolding on unseen tasks without ground-truth labels. Lessons carry forward between tasks. It is a research framework: expect paper-grade code and extra model calls per task for probing. Skip it if you want a ready coding agent or a production orchestration runtime.
JIT — the curator's take
Research code for one sharp idea: the scaffold around an LLM is a trainable, transferable axis of intelligence, separate from the base model. Given a task spec, a protocol and a tool registry, JIT-Agent-27B emits an executable harness (four modules over HarnessFactory interfaces, so it's structured code, not a free-form program), then repairs it as feedback arrives while the generator stays frozen. Reproduce the paper with the runners and benchmark adapters. NOT a framework you build on — no licence file, conda env, benchmark-shaped — and it assumes you serve the meta model yourself (vLLM/SGLang over HTTP).