Honorable Mentions
CURI
An agentic framework focused on autonomous research
Core trick
Organizes research around unresolved questions instead of a score, running each experiment in an isolated Git worktree and rerunning decisive checks independently.
Built with
firestoregeminigenkitgoogle-cloudmachine-learningpythonresearchtypescript
Description
Inspiration
The current wave of autonomous research systems is largely built around improving a benchmark score: propose a change, run the evaluator, keep it if the number improves, and repeat. That is a reasonable engineering loop when the benchmark is the specification, but it is a poor motivation for research. Once a measure becomes a target, it stops being a good measure.
In practice, many of these systems become expensive forms of hyperparameter optimization. More importantly, a score-maximizing loop has no useful place to put a failed experiment, a contradiction, or an inconclusive result.
That was the motivation for CURI: Cumulative Research & Inquiry. I wanted to explore whether an autonomous system could treat an investigation, rather than a score improvement, as its unit of progress. The project is also partly inspired by Terence Tao’s essay
Mathematics in the age of AI
, particularly its question of what goals and values research should preserve as AI systems become more capable.
## How I built it
CURI is organized as a research pipeline with separate roles. The watcher gathers and filters prior work. The orchestrator uses that context to choose an unresolved question and write an experiment brief. The executor implements and runs the experiment in an isolated Git worktree.
When the result returns, the runtime independently reruns the decisive checks before the orchestrator interprets the result. Findings are recorded with their evidence envelope, including the model, hardware, context length and sample size. Larger conclusions are stored as syntheses that can later be superseded by better evidence.
The system also includes a delegation gate that refuses untethered or near-duplicate experiments, per-call cost accounting, interruption and resume handling, and a pause state that allows the system to stop when there is no worthwhile next question.
The first research direction studied transformer inference across memory, latency, context-length and throughput constraints. It ran for roughly forty-three hours on a consumer GPU and recorded seventeen outcomes, including supported findings, bounded results, a refutation and an inconclusive result. A second direction tested the same pipeline in a different domain, studying strategy generalization and backtest overfitting on a DGX Spark.
CURI uses Gemini through Genkit, but the model layer is replaceable. The pipeline can connect to a hosted API or a locally hosted OpenAI-compatible model. The research process runs locally, while a redacted record can optionally be published to Firestore and served through a read-only Cloud Run mirror.
## What I learned
The most important lesson was that honest research behaviour cannot be produced by prompting alone. If the runtime rewards activity, the agent will find a way to look busy. If it only records successful improvements, it will discard the most informative failures. Those behaviours have to be enforced by the architecture and stored in the record.
I also learned that continuous execution is mainly a scheduling problem. An early version resumed paused directions on a timer, giving the orchestrator the same context and the same question repeatedly. It generated new text, but not new understanding. The fix was to resume only when new evidence arrived.
The first run also showed that the system’s headline findings were mostly re-derivations of existing work. That is not a failure of the project; it is an important boundary on what the current evidence supports. CURI demonstrates an inspectable research process, not a claim of novel scientific discovery.
## Challenges
The main engineering challenges were long-running model and tool loops, accurate cost accounting, and safely publishing traces. A tool loop resends the conversation on every turn, and reasoning tokens can be reported separately from ordinary output tokens. Measuring only the final model call significantly understated the actual cost.
Provider failures also had to be separated from scientific failures. Rate limits, transport errors and interrupted attempts should not be recorded as evidence that an experiment failed. Finally, publishing a trace required more than simple redaction. The assembled record is checked against local usernames, paths, hostnames and credential values, and publication stops if anything sensitive remains.
CURI is open source under the MIT license. The project is an attempt to make autonomous research more cumulative, inspectable and honest.
README excerpt
# CURI — Cumulative Research & Inquiry ## Abstract The current wave of harness development and “autoresearch” pipelines has largely been designed to maximize benchmark scores: propose a change, run the evaluator, keep it if the number improves, and repeat. This is a reasonable engineering loop when the benchmark is the specification, but it is a poor motivation for research. It invites Goodhart’s law: once a measure becomes a target, it ceases to be a good measure. In practice, these pipelines often devolve into hyperparameter optimization. For the most part, I view this as an irresponsible use of an LLM's capabilities, since well-established algorithms already exist for tuning hyperparameters. This project starts from that motivation. CURI takes a pure research direction: an attempt to build an autonomous system whose basic unit is not a score improvement but an investigation. It starts with a question and competing explanations, uses experiments as evidence, records what the evidence supports or rules out, and leaves every result bounded by the conditions actually tested. A negative, bounded or inconclusive result is still a finding. The aim is a cumulative research record that becomes clearer and more useful over time. This project is also partly inspired by Terence Tao’s essay [*Mathematics in the age of AI*](https://arxiv.org/abs/2608.16753). Tao’s argument is to look beyond the capabilities question of whether AI can perform research-level tasks, and ask what goa