Motivation
Noeris's core architecture, persistent cross-run memory, learned cost model, adaptive strategy routing, parameterized search, was designed for GPU kernel optimization but is domain-agnostic by construction. The thesis doc already states the company vision is "autonomous empirical discovery" with kernels as the wedge.
The science/ML experiment benchmark space is wide open and structurally weak in exactly the ways Noeris is strong.
The Opportunity
ScienceAgentBench (OSU NLP, ICLR 2025): 102 data-driven science tasks across bioinformatics, chemistry, GIS, and psychology.
- SOTA: 33.3% (o3, $11.69/task). Stagnant, no submission has broken 35%.
- Best open agent: OpenHands CodeAct at 32.4%. It's a linear ReAct agent with zero cross-task memory.
- Evaluation is deterministic (output matches gold reference) — no seed variance / noisy eval problem.
- Lite subset: 32 tasks, ~$15-50 per dev run. CPU-only compute. Fast iteration.
Failure analysis from the paper:
- 30% domain knowledge gaps (wrong algorithm / method choice)
- 25% multi-step planning failures (lose coherence at step 7-10)
- 20% API/library misuse (wrong params, deprecated calls)
- 15% output format mismatch
- 10% dataset misunderstanding
These are memory and planning failures, not model failures. Cross-task persistent memory directly addresses the top 3 categories.
Supporting evidence:
- AgentRxiv (ETH Zurich): shared memory between agent runs gave 13.7% improvement on MATH-500. Performance broke through a plateau.
- FML-bench: exploration breadth > exploitation depth. Agents with diverse strategies outperform those that repeatedly refine.
- MLE-STAR (Google): component-level refinement (don't rewrite everything, target specific pipeline stages) jumped from 25.8% to 63.6% on MLE-bench.
Architecture Mapping
| Noeris (kernels) |
ML experiment equivalent |
Reuse |
OperatorRegistry + TritonOperatorSpec |
TaskRegistry + ScienceTaskSpec (4 disciplines, strategy space per discipline) |
~70% |
ConfigDatabase keyed by (operator, shape, hw) |
ExperimentDatabase keyed by (discipline, task_type, approach) |
~85% |
CostModel (GBR on config features) |
Skip for v0 (experiments are $0.50-2 each). Add when DB has enough data |
Deferred |
AdaptiveRouter (bandit over selectors) |
Bandit over strategies: direct_solve vs decompose_subtasks vs retrieve_and_adapt |
~90% |
BanditSelector (Thompson sampling) |
Same, over approach selection |
~95% |
ResearchPipeline (7 components) |
Same shape, new component implementations |
~90% |
modal_runner.py |
Sandboxed Python runner (E2B or local Docker), CPU-only |
~30% (rewrite) |
llm.py (proposer with insights) |
Proposer with cross-task insights + domain library priors |
~50% |
Estimated reuse: 60-70% of existing architecture. The genuinely new engineering:
- Python sandbox runner (replacing Modal GPU runner)
- Domain-specific strategy specs (library priors, known pitfalls, subtask templates)
- Cross-task memory extraction ("scanpy normalize_total needs target_sum=1e4")
What the Strategy Space Looks Like
Not numerical param grids like kernels — categorical approach selection + accumulated domain knowledge:
@dataclass
class ScienceStrategySpec:
name: str # "bioinformatics"
solution_strategies: list[str] # direct_gen, decompose, template_fill, retrieve_adapt
library_priors: dict[str, list[str]] # {"single_cell_rna": ["scanpy", "anndata"]}
known_pitfalls: list[str] # accumulated from past task failures
subtask_templates: dict[str, list[str]] # {"figure_gen": ["load", "process", "compute", "plot"]}
Learned from execution, not hand-curated (unlike KernelSkill's static skill library).
Scope for v0
Target: Beat 33.3% SR on ScienceAgentBench-Lite (32 tasks).
Build:
TaskRegistry with 4 discipline buckets
ExperimentDatabase accumulating across the 32 tasks
AdaptiveRouter with 3 arms (direct_solve, decompose, retrieve_and_adapt)
- Sandboxed Python runner (Docker or E2B)
- Cross-task memory extraction after each task
Skip for v0: Cost model (experiments too cheap), web retrieval, MLE-bench integration.
Success criterion: >35% SR on lite subset. Even 36-38% would be publishable given 18 months of stagnation at 33%.
Estimated effort: 2-3 weeks on top of existing Noeris infrastructure.
Why This Matters for the Paper
The current paper's weakness: "we proved this works for kernels but haven't shown it generalizes." Adding an ML experiment track with the same architecture beating SOTA on a different benchmark turns the paper from "a kernel optimization system" into "a general architecture for autonomous empirical search."
Follow-up Targets
- MLGym (Meta FAIR): 13 open-ended ML research tasks. All frontier models plateau at Level 1 (hyperparameter tuning only). Breaking the L1→L2 barrier (component swapping, novel combinations) using Noeris's hypothesis→experiment→analysis cycle would be a significant result. Harder, more prestigious.
- MLE-bench: Active leaderboard but expensive ($2.5-5K per Lite eval) and crowded. Model capability is the dominant factor. Lower priority.
Key References
Motivation
Noeris's core architecture, persistent cross-run memory, learned cost model, adaptive strategy routing, parameterized search, was designed for GPU kernel optimization but is domain-agnostic by construction. The thesis doc already states the company vision is "autonomous empirical discovery" with kernels as the wedge.
The science/ML experiment benchmark space is wide open and structurally weak in exactly the ways Noeris is strong.
The Opportunity
ScienceAgentBench (OSU NLP, ICLR 2025): 102 data-driven science tasks across bioinformatics, chemistry, GIS, and psychology.
Failure analysis from the paper:
These are memory and planning failures, not model failures. Cross-task persistent memory directly addresses the top 3 categories.
Supporting evidence:
Architecture Mapping
OperatorRegistry+TritonOperatorSpecTaskRegistry+ScienceTaskSpec(4 disciplines, strategy space per discipline)ConfigDatabasekeyed by (operator, shape, hw)ExperimentDatabasekeyed by (discipline, task_type, approach)CostModel(GBR on config features)AdaptiveRouter(bandit over selectors)direct_solvevsdecompose_subtasksvsretrieve_and_adaptBanditSelector(Thompson sampling)ResearchPipeline(7 components)modal_runner.pyllm.py(proposer with insights)Estimated reuse: 60-70% of existing architecture. The genuinely new engineering:
What the Strategy Space Looks Like
Not numerical param grids like kernels — categorical approach selection + accumulated domain knowledge:
Learned from execution, not hand-curated (unlike KernelSkill's static skill library).
Scope for v0
Target: Beat 33.3% SR on ScienceAgentBench-Lite (32 tasks).
Build:
TaskRegistrywith 4 discipline bucketsExperimentDatabaseaccumulating across the 32 tasksAdaptiveRouterwith 3 arms (direct_solve, decompose, retrieve_and_adapt)Skip for v0: Cost model (experiments too cheap), web retrieval, MLE-bench integration.
Success criterion: >35% SR on lite subset. Even 36-38% would be publishable given 18 months of stagnation at 33%.
Estimated effort: 2-3 weeks on top of existing Noeris infrastructure.
Why This Matters for the Paper
The current paper's weakness: "we proved this works for kernels but haven't shown it generalizes." Adding an ML experiment track with the same architecture beating SOTA on a different benchmark turns the paper from "a kernel optimization system" into "a general architecture for autonomous empirical search."
Follow-up Targets
Key References