alphaFeedback

WorksComputer Science

DAGLoop: Aligning Method Design with Experimental Feedback in Automated AI Research

AI contributions
Not recorded for this paper
View details
Ancillary data
1 code link
View

Abstract

Automated AI research agents aim to improve machine learning methods by iteratively proposing, implementing, and evaluating candidate methods. Existing work uses the outcome of each evaluation to determine how the next candidate should be revised for performance improvement. However, a candidate often combines multiple design decisions, and its overall outcome alone does not reveal which decisions produced their expected effects, whether their required conditions were satisfied, or which decisions should be retained or revised. Inspired by ablation studies in the machine learning community, we propose DAGLoop to test the expected effect of a design decision by comparing implementations with and without that decision while preserving the other decisions it requires. Specifically, DAGLoop translates each design decision's rationale into a testable expectation and pairs it with a targeted experiment, forming an experimental specification for assessing the expected effect under its required conditions. Using these specifications, we formulate ablation planning as the construction of a directed acyclic graph (DAG) from the candidate method's design: nodes associate decisions with tests, and edges encode dependencies. The DAG specifies which decisions each experiment must retain and supports joint tests when an expected effect requires several decisions to act together. Outcomes are recorded with the tested decisions, expectations, and conditions to form structured research memory. This memory guides the agent in retaining experimentally supported decisions, revising unsupported ones, and planning further experiments when the evidence is unresolved. Experiments on dozens of research tasks demonstrate substantial performance improvements achieved by DAGLoop across diverse executable research settings. Code and evaluation scripts are available at https://github.com/deng34567/DAGLoop.

Introduction

Improving a machine learning method requires repeated decisions about what to change, what to test, and how to interpret the result. Recent research agents automate this process by proposing candidate methods, implementing them, running experiments, and using the outcomes to guide subsequent revisions. MLAgentBench studies agents that conduct machine learning experiments, while The AI Scientist extends automation to longer research workflows and agentic tree search [13, 16] (Yamada et al. 2025). AlphaEvolve uses executable evaluators to guide program and algorithm discovery [18]. We study the executable method-improvement setting: given a research task, a baseline, an experimental environment, and a finite budget, an agent seeks to improve performance under a fixed task evaluator.

Experimental feedback determines which candidates the agent explores next. Optimization by PROmpting (PRO) generates candidates from scored solutions; FunSearch selects evaluated pro grams for further search [20] (Yang et al. 2024). Richer feedback includes MetaReflection’s memory of past reflections and Trace’s execution traces for parameter updates [10, 7]. Our focus is the relation between this feedback and the design decisions being revised. A candidate may combine a data transformation, a representation, an objective, and an optimization rule. Its overall performance measures their combined effect, but does not establish which decisions produced their expected effects or whether their required conditions held. The evaluator scores the complete candidate, whereas revision must determine which constituent decisions to retain, revise, or test further.

Ablation studies examine decisions by comparing implementations with and without them; recent benchmarks study whether language models can plan informative ablations [1] (Zhao et al. 2025). However, testing each decision independently can remove the conditions needed for its effect. Suppose z1z_1 constructs a representation and z2z_2 introduces an objective that uses it. The representation may provide a necessary intermediate property without improving the task metric alone, while the objective may be meaningless without it. Rejecting z1z_1 for lacking standalone gain prevents a meaningful test of z2z_2; evaluating only their composition leaves each decision’s contribution unresolved. Decision-level evidence therefore requires experiments that preserve the prerequisites of the decision being tested (Figure 1).

Why dependencies matter: comparison, evidence, and revision for complete candidates, independent tests, and preserved dependencies

Figure 1. Why dependencies matter. Candidate-level feedback combines decision effects, while independent tests can remove prerequisites. DAGLoop preserves prerequisites in the control. Here M0M_0 is the baseline, JqJ_q the task metric, and p1p_1 a property supplied by z1z_1.

We present DAGLoop, a general-purpose research system that addresses executable method-improvement problems through proposal, implementation, experimentation, and revision. It constructs targeted experiments from a candidate method’s design. For each decision, it translates the rationale into a testable expectation: the effect the decision should produce and its required conditions. A targeted experiment specifies what to compare and measure, forming an experimental specification that connects design reasoning to evidence. These specifications define a DAG, whose nodes associate decisions with tests and whose edges encode their dependencies. Each experiment compares a control implementation containing the prerequisites with a treatment implementation that additionally applies the decision: z1+z2z_1 + z_2 against z1z_1 in the example. A decision that provides a prerequisite, such as z1z_1, is assessed through the intermediate property it is intended to provide. Effects requiring several decisions are tested jointly, retaining their external prerequisites and attributing experimental support to the group of decisions tested together.

After checking execution validity, DAGLoop records each outcome alongside the decision, expected effect, required conditions, and saved control implementation. This structured research memory guides the agent to retain supported decisions, revise unsupported ones, and plan further experiments when evidence is unresolved. Failed implementations provide debugging information. Revised decisions are assembled into a subsequent candidate and evaluated with the same official evaluator. Targeted experiments guide revision; complete-candidate evaluation measures improvement.

We evaluate DAGLoop on 36 AutoLab tasks spanning CPU optimization, CUDA kernels, program synthesis, and model development (Xu et al., 2026), comparing with Terminus-2 using the same language model. Our contributions are threefold:

  • We identify a mismatch between evaluating complete candidates and revising individual decisions, motivating experiments that retain prerequisites for decision-level evidence.

  • We propose DAGLoop, a research system that translates design rationales into experimental specifications, constructs a dependency DAG to plan targeted ablations, and uses structured research memory to guide evidence-based revision and further experimentation.

  • Experiments on 36 AutoLab tasks demonstrate method improvement across diverse executable problems. DAGLoop achieves a mean score of 0.6459, compared with 0.5831 for Terminus-2 using the same language model, with higher means on both CPU and GPU tasks. Additional comparisons with reasoning disabled cover GLM-5.2 and DeepSeek-V4-Flash.

Method

DAGLoop organizes method proposal, implementation, experimentation, and revision into a research loop. The system turns a candidate’s design into experimental specifications, uses their dependencies to construct targeted comparisons, and records the outcomes for revision (Figure 2). The assembled candidate is evaluated by the official task evaluator.

DAGLoop research loop

Figure 2. DAGLoop research loop. Each DAG node represents a decision or jointly tested group; SS denotes such a group. Control PiP_i preserves prerequisites; treatment TiT_i adds the change Δi\Delta_i. Their observations Oi−O_i^{-} and Oi+O_i^{+} enter research memory and guide revision. Complete candidates are evaluated separately by the task evaluator, with feedback returned for revision.

Task Setup and Experimental Specifications

Starting from the user’s research question, DAGLoop clarifies objectives and constraints with the user, retrieves relevant literature, and proposes a method. The user confirms the research direction and method. With an executable baseline, evaluator, environment, and budget established, the system proceeds to implementation, experimentation, and revision.

An executable research task is

T=(q,M0,E,Jq,B),(1)\mathcal{T} = (q, M_0, \mathcal{E}, J_q, B), \tag*{(1)}

where qq describes the task, M0M_0 is an executable baseline, E\mathcal{E} is the experimental environment, and BB is the research budget. The official evaluator returns a raw (native) task metric mq(M)m_q(M), such as accuracy or execution time, and a task score Rq(M)R_q(M). We define JqJ_q so that larger values indicate better performance: Jq(M)=mq(M)J_q(M)=m_q(M) for maximization tasks and Jq(M)=−mq(M)J_q(M)=-m_q(M) for minimization tasks. The score RqR_q follows the official reward rule, including its thresholds and clipping.

Let τ\tau be the research trajectory, including proposals, implementations, experiments, and revisions, and let C(τ)\mathcal{C}(\tau) contain the complete executable candidates it evaluates. We seek

M^(τ)∈arg⁡max⁡M∈C(τ)∪{M0}M passes the task checks Jq(M),Cost⁡E(τ)≤B.(2)\widehat{M}(\tau) \in\underset{\substack{M\in\mathcal{C}(\tau)\cup\{M_0\}\\ M\ \text{passes the task checks}}}{\arg\max}\ J_q(M), \qquad\operatorname{Cost}_{\mathcal{E}}(\tau)\le B. \tag*{(2)}

Task checks enforce correctness and task constraints. Cost includes planning, implementation, targeted tests, repair, repeated measurements, and final evaluation. Improvement means Jq(M^)>Jq(M0)J_q(\widehat{M})>J_q(M_0). The baseline remains available when no evaluated candidate improves it.

A candidate method MM consists of design decisions Z={zi}i=1nZ=\{z_i\}_{i=1}^{n}. The complete-candidate metric Jq(M)J_q(M) evaluates their combined performance, whereas revision requires deciding which ziz_i to retain or change. To test the effect expected from a particular decision, we associate it with an experimental specification linking its rationale, expected effect, conditions, and test:

si=(ri,ei,Di,xi),xi=(Δi,ρi,oi,vi),(3)s_i=(r_i,e_i,D_i,x_i), \qquad x_i=(\Delta_i,\rho_i,o_i,v_i), \tag*{(3)}

where rir_i is the rationale, eie_i the expected effect, and DiD_i the required conditions. The experiment xix_i specifies the implementation change Δi\Delta_i, execution procedure ρi\rho_i, quantity to measure oio_i, and validation rule viv_i. The specification defines the measurement and criterion before execution; the experiment report supplies the observed value. A decision can provide an intermediate property pip_i required by another decision, with a corresponding property check.

Each node in the experimental DAG represents an executable component: one decision or a group of decisions tested together. Each component has an implementation and a specification. Tests assess either improvement in the task metric or an intermediate property required by another decision. We refer to these as performance tests and property checks, respectively. A checkpoint stores the implementation and artifacts needed to reconstruct a control or candidate.

From a rationale to a test. In the representation–objective example, the rationale for z1z_1 identifies a property p1p_1 needed by z2z_2. Its specification makes that property the expected effect and selects an observable that checks whether the representation supplies it. The specification for z2z_2 instead declares a task-metric improvement, with p1p_1 included in its required conditions. These declarations determine both what is measured and which implementation is a meaningful control. A successful property check establishes the context for testing z2z_2; the downstream experiment then assesses its own declared effect. The planner records these roles before execution so that a decision that supplies a prerequisite is assessed by its intended property even when its standalone task metric does not improve in isolation under the same evaluation protocol.

The planner uses a language model to propose decisions, dependencies, and tests from the method, task, literature summary, and baseline evidence. A review agent (the critic) checks whether the tests assess the expected effects under the required conditions. The planner revises the proposal using this feedback. The plan is accepted after review finds no outstanding issues and graph validation passes; Section 2.2 describes the graph and the prerequisite checks used to validate it.

When an effect requires several decisions to act together, the planner groups them into one component with a shared specification and test. The plan records the original decisions and their external dependencies. The result is attributed to the group.

Ablation Planning

Ablation analysis compares algorithm configurations to assess particular changes ([1]). Fix the baseline, implementations, and evaluation conditions, and let f(C)f(C) denote JqJ_q for the implementation containing a feasible set CC of decision indices. For CC and C∪{i}C\cup\{i\} satisfying the declared dependencies, the marginal effect of adding decision ii is

δi∣C=f(C∪{i})−f(C),i∉C.(4)\delta_{i\mid C}=f(C\cup\{i\})-f(C), \qquad i\notin C. \tag*{(4)}

This difference measures the marginal contribution of decision ii to configuration CC ([19]). For z2z_2 requiring z1z_1, setting C={1}C = \{1\} recovers δ2∣1=f({1,2})−f({1})\delta_{2\mid1} = f(\{1, 2\}) - f(\{1\}). Baseline and complete-candidate values do not determine its sign because they leave f({1})f(\{1\}) unobserved (Proposition 1). Testing z1z_1 supplies this control measurement; the property check assesses whether this implementation provides the declared intermediate property.

Let VV index the components. The conditions DiD_i describe what component ii requires; di0d_i^0 identifies the other components whose outputs or properties it directly needs. An edge (j,i)(j, i) denotes such a dependency. Other conditions, such as the data split and measurement settings, are specified in the experimental protocol. The set KiK_i contains all ancestors of ii, including indirect prerequisites:

A0={(j,i):j∈di0},G0=(V,A0),A_0 = \{(j, i) : j \in d_i^0\}, \qquad G_0 = (V, A_0),
Ki=⋃j∈di0({j}∪Kj).(5)K_i = \bigcup_{j \in d_i^0} (\{j\} \cup K_j). \tag*{(5)}

Graph validation checks identifiers, acyclicity, and agreement between KiK_i and the declared prerequisites (Appendix § 8). The control PiP_i retains prerequisites; treatment TiT_i adds the change:

Pi=Build⁡(M0,Ki),Ti=Pi⊕Δi.(6)P_i = \operatorname{Build}(M_0, K_i), \qquad T_i = P_i \oplus\Delta_i. \tag*{(6)}

Build combines saved implementations of the required components with the baseline. The operator ⊕\oplus applies the tested component’s implementation change to this control. Implementation review checks that the resulting code follows the specification. Appendix § 8 details this merge.

For z1→z2z_1 \to z_2, the test compares z1+z2z_1 + z_2 with z1z_1, preserving the representation required by the objective. Testing zcz_c in za→zb→zcz_a \to z_b \to z_c retains both zaz_a and zbz_b. Thus, the control contains every required component together with its own prerequisites.

For a component uu representing a group SS, the experiment applies the decisions together to a control containing their external prerequisites. The shared specification defines the expected effect of this combined change. The result is attributed to the group, and the record identifies all participating decisions without assigning separate gains to individual members. The revised graph must remain acyclic. Appendix § 8 gives the construction algorithm and examples; Appendix § 11 proves that baseline and complete-candidate evaluations alone cannot determine the improvement in equation (4), and that KiK_i is the smallest set satisfying the declared dependencies.

Executing and Assessing Experiments

The procedure ρi\rho_i specifies how to run the experiment; the protocol ωi\omega_i specifies the evaluation conditions and measurement settings shared by control and treatment:

Oi−=Run⁡(E,Pi;ρi,ωi),Oi+=Run⁡(E,Ti;ρi,ωi).(7)O_i^{-} = \operatorname{Run}(\mathcal{E}, P_i; \rho_i, \omega_i), \qquad O_i^{+} = \operatorname{Run}(\mathcal{E}, T_i; \rho_i, \omega_i). \tag*{(7)}

The records Oi−O_i^{-} and Oi+O_i^{+} link observations to their implementations and execution attempts. Both runs use the validation rule specified in sis_i. Matching conditions controls data and execution differences; training randomness also affects performance comparisons ([3]).

For valid executions with finite measurements and correctly matched reports, let mi−m_i^{-} and mi+m_i^{+} be the control and treatment metrics, and let dq∈{−1,1}d_q \in\{-1,1\} denote minimization or maximization. The numerical test criterion is expressed by the predeclared predicate ϕi(y)=1[y⊡iθi]\phi_i(y) = \mathbf{1}[y \mathrel{\boxdot_i} \theta_i], with ⊡i∈{<,≤,=,≥,>}\boxdot_i \in\{<,\leq,=,\geq,>\} and threshold θi\theta_i. The resulting criterion separates performance tests from property checks according to the declared experimental objective:

δi=dq(mi+−mi−),\delta_i = d_q(m_i^{+} - m_i^{-}),
gi={1[δi>max⁡(0,ϵi)]ϕi(yitest),performance test,ϕi(aiobs),property check.(8)g_i = \begin{cases} \mathbf{1}[\delta_i > \max(0,\epsilon_i)]\phi_i(y_i^{\mathrm{test}}), & \text{performance test},\\ \phi_i(a_i^{\mathrm{obs}}), & \text{property check}. \end{cases} \tag*{(8)}

A performance test requires improvement beyond zero and the protocol threshold ϵi\epsilon_i, and applies ϕi\phi_i to yitest∈{δi,mi+}y_i^{\mathrm{test}} \in\{\delta_i,m_i^{+}\} as specified before execution. A property check applies ϕi\phi_i to the reported intermediate observable aiobsa_i^{\mathrm{obs}}. An observable such as the number of failed property checks can summarize several assertions. Appendix § 8 gives the full numerical and report-matching checks.

Execution validity and effect assessment are separate. A checkpoint is qualified for retention after successful execution, implementation review, task checks, and a passed test, with no pending plan revision. A component is accepted when its search ends with a retained qualified checkpoint. Failed execution triggers repair; a valid test that fails its criterion informs revision of the expected effect or design. See Appendices § 8 and § 10 for details.

Research Memory and Revision

For each component, DAGLoop records the specification version, prerequisites, checkpoints, code changes, observations, validation results, and execution artifacts. Each observation remains associated with the decision, expected effect, conditions, and specification version tested. These records supply the evidence for subsequent implementation and method revision.

At research step tt, let Lt(j)\mathcal{L}_t(j) record component jj’s history. For active component ii, the agent receives

Ht(i)=({Lt(j):j∈Ki∪{i}},{Summary⁡(Lt(j)):j∉Ki∪{i}}).(9)\mathcal{H}_t(i)=\left(\{\mathcal{L}_t(j):j\in K_i\cup\{i\}\},\{\operatorname{Summary}(\mathcal{L}_t(j)):j\notin K_i\cup\{i\}\}\right). \tag*{(9)}

Detailed histories of the active component and its ancestors let the agent inspect how the control was built, which prerequisite checks passed, and how the current attempt differs from earlier ones. Summaries of other branches supply context for revising the method without including their full execution traces in each component’s input. Failed attempts remain available for debugging; method revision receives the accumulated research memory.

For example, when a valid test of z2z_2 does not support its expected gain, the record identifies the control containing z1z_1. Revision can reconsider the objective while retaining the supported representation. If revision changes z1z_1, the earlier result for z2z_2 remains a record of the previous experiment. The revised representation defines a new control for the objective; testing it again determines whether the expected effect persists after the prerequisite changes.

DAGLoop reuses a saved implementation only when its specification, prerequisite implementations, and recorded execution context remain compatible. Otherwise, the earlier result stays in memory for reference. Appendix § 10 gives the equality and checkpoint checks used for reuse.

Search processes an active component first; a pending component becomes ready after its prerequisites are accepted. The agent drafts the first implementation, debugs execution errors or code that does not follow the specification, and reassesses the expectation when a valid test fails its criterion. Otherwise, it improves the implementation. Each operation uses research memory. Replanning can revise the decomposition or group decisions within the revision budget. When no component is ready, the system reports which prerequisites remain unresolved.

Component search retains the best qualified checkpoint. Performance tests rank checkpoints by the task metric; property checks use the specified comparison rule, with task performance breaking ties. Search continues to the attempt limit, retaining the best checkpoint found (Appendix § 10).

Complete-Candidate Evaluation

Once all components are accepted, DAGLoop assembles their checkpoints and runs the official evaluator. Targeted tests assess effects in the prerequisite context, whereas the assembled candidate also includes decisions from other branches. These combinations can change task performance. Complete-candidate evaluation checks whether the supported changes improve the full method, and its result enters research memory to guide the next revision. Only complete candidates that pass the task checks can replace the current best:

M^t+1∈arg⁡max⁡M∈{M^t}∪CtvalidJq(M).(10)\widehat{M}_{t+1}\in\arg\max_{M\in\{\widehat{M}_t\}\cup C_t^{\mathrm{valid}}}J_q(M). \tag*{(10)}

Here CtvalidC_t^{\mathrm{valid}} contains newly evaluated complete candidates. Component measurements guide revision through memory. Algorithm 1 summarizes the loop; Appendices § 8 and § 10 detail the procedure and resource limits used during execution.

Algorithm 1 DAGLoop: targeted experiments and revision

Input: Task, baseline M0M_0, proposed candidate MM, budget BB

1: Initialize research memory L\mathcal{L} and best candidate M^←M0\widehat{M} \leftarrow M_0 2: while budget and search limits permit do 3: &nbsp;&nbsp;&nbsp;&nbsp;Construct or revise specifications and the dependency DAG using (M,L)(M,\mathcal{L}) 4: &nbsp;&nbsp;&nbsp;&nbsp;for each ready component ii in topological order do 5: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Search component ii: build PiP_i, implement and test TiT_i under the declared protocol 6: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Record validity and effect evidence in L\mathcal{L}; debug or revise using this memory 7: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Retain the best qualified checkpoint when component search ends 8: &nbsp;&nbsp;&nbsp;&nbsp;end for 9: &nbsp;&nbsp;&nbsp;&nbsp;If all components are accepted, assemble and evaluate M+M^{+}; update M^\widehat{M} 10: &nbsp;&nbsp;&nbsp;&nbsp;Revise MM from L\mathcal{L} if further search is permitted; otherwise stop 11: end while 12: return M^,L\widehat{M},\mathcal{L}

Related Work

Automated AI Research. Recent work automates method proposal, implementation, experimentation, and revision. MLAgentBench studies language agents that conduct machine-learning experiments; The AI Scientist, its extension using agentic tree search, and Agent Laboratory address longer research workflows [13, 15, 16, 21] (Yamada et al. 2025). AlphaEvolve uses executable evaluators to guide program and algorithm discovery [18].

Executable benchmarks make this research loop measurable. MLE-bench, MLGym, and RE-Bench evaluate agents on executable tasks; MLR-Bench assesses open-ended research [4, 17, 5] (Wijk et al. 2025). ScienceAgentBench evaluates scientific code using execution results and cost [6]. ResearchGym, AutoLab, and AutoResearchEval examine longer research trajectories, artifact improvement, and failures linking experiments to claims [9, 8] (Xu et al. 2026). Our work studies the evidence used to revise design decisions within these executable research settings.

Evaluator Feedback and Research Memory. OPRO conditions candidate generation on score histories; FunSearch selects evaluated programs for further search; Automated Design of Agentic Systems (ADAS) and AFlow optimize agent designs and workflows [20, 12] (Yang et al. 2024; Zhang et al. 2025). MetaReflection uses past reflections; TextGrad and Trace optimize variables using textual and execution feedback [10, 7] (Yuksekgonul et al. 2025). The AI Scientist maintains an experimental journal, Meta-Harness exposes earlier candidates’ code, scores, and traces, and ResearchLoop organizes questions, evidence, and claims as durable research state [16, 14] (Xia & Wang 2026). AutoResearchEval examines links between implementations, observations, and claims [8]. Our memory associates each outcome with the tested decision, expected effect, and prerequisite context, so revision can use evidence at the level of the decision being changed.

Ablation Planning and Experimental Attribution. AbGen and AblationBench evaluate whether language models can design informative ablations, and The AI Scientist includes ablations in its experiment schedule [1, 16] (Zhao et al. 2025). Software composition also requires explicit component dependencies. Cordis represents these dependencies, motivating our description of the properties that one decision requires from another [22]. DAGLoop uses these dependencies to construct the control implementation for each targeted experiment during revision. It distinguishes task improvement from a property required by another decision and uses joint tests when an expected effect requires several decisions. The evidence guides decision retention, revision, and further testing.

Experiments

We evaluate DAGLoop on diverse executable research tasks. We use AutoLab as the main benchmark and compare with locally run Terminus-2 using GLM-5.2 with maximum reasoning effort or reasoning disabled, and DeepSeek-V4-Flash with reasoning disabled. We also evaluate on FML-Bench; its results are reported in Appendix § 14.

Benchmark and Task Protocol

We use all 36 official AutoLab tasks: 25 CPU tasks and 11 GPU tasks covering CPU optimization, CUDA kernels, program synthesis, and model development (Xu et al., 2026). Each task provides a baseline repository, evaluator, reward rule, correctness checks, and protected task files. DAGLoop reproduces the baseline locally, proposes a candidate, constructs the dependency DAG, runs component experiments, and evaluates candidate checkpoints.

The primary comparison uses GLM-5.2, with maximum reasoning effort for both DAGLoop and Terminus-2. The additional comparisons disable reasoning for both agents, using either GLM-5.2 or DeepSeek-V4-Flash. All AutoLab GPU experiments for both agents run on NVIDIA H800 GPUs. The comparison uses the official Terminus-2 agent in Harbor 0.3.0 and the original task verifiers [11]. Both agents run to completion with AutoLab’s task-level time budgets disabled.

For each DAGLoop configuration, we report one selected result per task. The reasoning-disabled Terminus-2 scores are arithmetic means of two local runs; the reasoning-enabled reference retains the existing reported scores. § 2.5 describes how the system selects its final complete candidate. Appendix § 13 reports all task scores and their normalization and aggregation conventions.

Higher scores are better. We report task scores and means for the full suite, CPU tasks, and GPU tasks. Reward thresholds and clipping can produce ties despite different native metrics. Native metrics are listed in their original units when available for the selected result; the paired comparison uses task scores. Win, tie, and loss counts compare scores rounded to six decimal places, matching the precision of the reported reference.

Overall, Per-Task, and Component Ablation Results

DAGLoop has higher mean scores than Terminus-2 on the full suite and in both resource groups for all three model and reasoning settings Table 1. With maximum reasoning effort, the full-suite means are 0.6459 and 0.5831. With reasoning disabled, they are 0.5485 and 0.4266 for GLM-5.2, and 0.5340 and 0.4202 for DeepSeek-V4-Flash. Each mean includes every task in its split, using the score conventions in Appendix § 13. Figure 3 and the component ablation results in Table 2 detail the primary comparison; the complete task-level table is reported in Appendix § 13.

AgentModelReasoningAll (36)CPU (25)GPU (11)
DAGLoopGLM-5.2Max0.64590.65390.6277
Terminus-2GLM-5.2Max0.58310.62470.4885
DAGLoopGLM-5.2Off0.54850.59180.4503
Terminus-2GLM-5.2Off0.42660.45020.3730
DAGLoopDeepSeek-V4-FlashOff0.53400.50450.6010
Terminus-2DeepSeek-V4-FlashOff0.42020.44920.3542

Table 1. Mean AutoLab scores for six agent configurations.

DAGLoop and Terminus-2 task scores and mean scores

Figure 3. DAGLoop and Terminus-2 with GLM-5.2 and maximum reasoning effort. (a) Paired task scores; points above the diagonal favor DAGLoop. (b) Mean scores for the full suite and CPU/GPU splits; the horizontal axis spans 0.25–0.75. Component ablations are summarized in Table 2; the complete task-level table is reported in Appendix § 13.

TaskStage / componentParentCandidate / propertyMetric or checkΔ\Delta
BVH raytracerC1 property: SAH BVH build–0failed checks ↓\downarrow–
BVH raytracerC2 direct: SAH leaf-size selection16.91690.167806runtime (s) ↓\downarrow−16.7491
BVH raytracerIntegration†: C1–C216.63040.157895runtime (s) ↓\downarrow−16.4725
Adversarial splayC1 direct: BR sequence48,65667,008rotations ↑\uparrow+18,352
Adversarial splayC2 property: simulator replica–0failed checks ↓\downarrow–
Adversarial splayC3 direct: local-search refinement67,00869,847rotations ↑\uparrow+2,839
Adversarial splayIntegration†: C1–C348,65669,847rotations ↑\uparrow+21,191
Agent tool routingC1 direct: inverted index9.99042.5183median runtime (s) ↓\downarrow−7.4721
Agent tool routingC2 property: quality gate–0failed checks ↓\downarrow–
Agent tool routingIntegration†: C1–C210.00502.3019median runtime (s) ↓\downarrow−7.7031
AES-128 CTRC1 property: AES-NI key schedule–0failed checks ↓\downarrow–
AES-128 CTRC2 direct: 8-way AES-NI CTR8.25570.044184runtime (s) ↓\downarrow−8.211516
AES-128 CTRIntegration†: C1–C27.92380.047219runtime (s) ↓\downarrow−7.876543
Hash joinC1 property: direct-index build–0failed checks ↓\downarrow–
Hash joinC2 direct: AVX2 batch probe0.0296950.018936runtime (s) ↓\downarrow−0.010759
Hash joinIntegration†: C1–C275.76640.0191runtime (s) ↓\downarrow−75.7473

Table 2. Five representative multi-component ablation chains from the GLM-5.2 maximum-reasoning records. Each chain contains direct-gain stages, intermediate evidence checks, and a later direct or integrated result. A dash denotes a property check without a task-metric comparison. Integration rows (†) evaluate the indicated components jointly under a matched end-to-end protocol and use the recorded joint control as Parent.

In the primary comparison, DAGLoop scores 0.7378 versus 0.0006 on online language-model serving, 0.4637 versus 0.2403 on agent tool routing, and 0.8134 versus 0.6040 on concurrent key-value storage. Terminus-2 leads on instruction-following data selection (0.8581 versus 0.6177) and sorted string table (SSTable) compaction (0.3479 versus 0.1780). Five tasks tie at 1.0000: BM25, multilingual optical character recognition, stack-machine golf, Toy ISA, and VLW scheduling.

An aggregate task score shows whether a complete candidate improves, but not which design decision produced the change or whether that decision works only with its prerequisites. We therefore use component ablations to evaluate a decision against a matched control that preserves its declared prerequisite implementation. In Table 2, the Parent column is this control and Candidate/property is the resulting observation. Direct stages compare the task metric, property stages test an intermediate requirement such as zero failed checks, and integration stages evaluate components jointly when their effect depends on their combination. The table consequently traces evidence along a dependency chain rather than comparing unrelated variants.

Table 2 illustrates how DAGLoop tracks multi-component dependencies across five representative tasks. For metric comparisons, each component is evaluated against a matched control containing its prerequisite set KiK_i; parent values therefore follow the DAG branch rather than a single linear sequence. The Parent column is the implementation used for comparison, while Candidate/property is the resulting measurement. The arrows indicate the optimization direction: lower runtime is better, higher rotation count is better, and a property check passes when its failed-check count is zero.

In the bounding-volume hierarchy (BVH) chain, the surface-area heuristic (SAH) construction passes its property check, leaf-size selection reduces its matched control from 16.9169 s to 0.167806 s, and the integrated candidate reaches 0.157895 s. In the adversarial-splay chain, the BR sequence raises rotations from 48,656 to 67,008, the simulator replica passes its property check, and local-search refinement adds 2,839 rotations before the joint result reaches 69,847. Agent tool routing shows the same pattern with an inverted index, a passing quality gate, and a further reduction in median runtime after integration.

The AES-128 CTR chain separates a correctness prerequisite from the performance change: the AES-NI key schedule first passes its property check, the 8-way CTR implementation reduces runtime from 8.2557 s to 0.044184 s, and the joint run reaches 0.047219 s from its recorded baseline. The hash-join chain uses the same structure: the direct-index build passes its check, AVX2 batch probing reduces its matched parent from 0.029695 s to 0.018936 s, and the end-to-end build-plus-probe run reaches 0.0191 s. These rows show why a direct component result and a complete-candidate result answer different questions: the former isolates a decision under its prerequisites, while the latter tests the assembled method.

Taken together, these chains show why the ablation record separates direct performance gains, enabling property checks, and joint results. A direct gain supports retaining a decision for the tested context; a passed property check makes a prerequisite available to downstream tests; and a joint result evaluates an interaction that cannot be assigned to either component alone. This distinction lets the agent revise the relevant decision rather than treating every change in the final task score as evidence for every component.

Limitations

Decision-level evidence assesses the declared effect under the tested conditions. Its reliability depends on the decomposition, prerequisite graph, observable, and the experiment’s statistical power. It does not identify a unique causal explanation, and joint tests attribute results to the merged component when member-level isolation is not meaningful. The end-to-end benchmark measures the complete DAGLoop workflow.

DAGLoop addresses candidate-method improvement under executable task constraints. Evidence reuse depends on recorded context: changes to data, hardware, evaluation, or upstream decisions can require new experiments. Repeated optimization against a fixed evaluator can overfit task artifacts. Broader scientific generalization and revision of the research agent itself require separate evaluation.

Conclusion

We present DAGLoop as a general-purpose research system for executable method improvement. It connects candidate-method revision to targeted experiments on its constituent design decisions. Experimental specifications link each decision’s rationale and expected effect to tests that preserve its prerequisites. Structured research memory carries the outcomes into subsequent revisions, while complete-candidate evaluation measures task performance. Preserving prerequisites lets the agent assess intermediate properties and downstream effects in their intended context. Joint experiments assess effects that require several decisions to act together, while the accumulated records guide further tests when the evidence remains unresolved. On 36 AutoLab tasks, DAGLoop obtains a mean task score of 0.6459, compared with 0.5831 for Terminus-2 using GLM-5.2 with maximum reasoning effort. DAGLoop scores higher on 19 tasks, ties on seven, and scores lower on ten. With reasoning disabled, DAGLoop also has higher mean scores for GLM-5.2 (0.5485 versus 0.4202) and DeepSeek-V4-Flash (0.5340 versus 0.4202), under the score conventions in Appendix § 13. The research output records which expectations were supported, under which prerequisites, and which remain unresolved.

Ethics Statement

Automated research consumes compute and can amplify errors in experimental interpretation. DAGLoop retains evaluator requirements, experiment records, and the context of each result. The authors remain responsible for resource use, interpretation, and reported claims.

Detailed Experimental Procedure

The executable task and budgeted objective are defined in equations (1) and (2). The procedures below implement its targeted experiments and method revision.

Graph Construction and Comparison Configurations

Let NN convert component names to a consistent identifier format (Appendix § 10). The declared dependencies di0d_i^0 and ancestor sets KiK_i are defined in equation (5).

The constructor rejects duplicate identifiers, unknown or self-referential dependencies, and cycles. Kahn’s topological sort, using a first-in, first-out (FIFO) queue for eligible nodes, gives the order π\pi in which the ancestor sets are computed, preserving the input traversal order when nodes become eligible together. The plan also declares aia_i, the set of components that must be accepted before testing component ii. The constructor removes redundant direct edges, retaining the parents did_i, and requires aia_i to equal all ancestors:

di=di0∖{j∈di0:∃k∈di0∖{j},j∈Kk},ai=Ki,A={(j,i):j∈di}.(11)d_i = d_i^0 \setminus\{j \in d_i^0 : \exists k \in d_i^0 \setminus\{j\}, j \in K_k\}, \qquad a_i = K_i, \qquad A = \{(j,i) : j \in d_i\}. \tag*{(11)}

The equality is a validation requirement: a missing ancestor or an unrelated component causes rejection. Semantic adequacy of the proposed dependencies and tests is assessed by the critic.

Algorithm 2 Construction of the dependency DAG

Input: Declared components {(i,di0,ai,si)}i=1n\{(i, d_i^0, a_i, s_i)\}_{i=1}^n

  1. Normalize identifiers with NN; reject duplicates and invalid references

  2. A0←{(j,i):j∈di0}A_0 \leftarrow\{(j,i) : j \in d_i^0\}; π←FIFO-Kahn⁡(V,A0)\pi\leftarrow\operatorname{FIFO\text{-}Kahn}(V,A_0)

  3. if ∣π∣≠∣V∣|\pi| \ne|V| then

  4. &nbsp;&nbsp;&nbsp;&nbsp;return cycle error

  5. end if

  6. for ii in π\pi do

  7. &nbsp;&nbsp;&nbsp;&nbsp;Ki←⋃j∈di0({j}∪Kj)K_i \leftarrow\bigcup_{j \in d_i^0}(\{j\} \cup K_j)

  8. end for

  9. for ii in π\pi do

  10. &nbsp;&nbsp;&nbsp;&nbsp;di←{j∈di0:∄k∈di0∖{j},j∈Kk}d_i \leftarrow\{j \in d_i^0 : \nexists k \in d_i^0 \setminus\{j\}, j \in K_k\}

  11. &nbsp;&nbsp;&nbsp;&nbsp;if aia_i is missing or ai≠Kia_i \ne K_i then

  12. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return prerequisite mismatch

  13. &nbsp;&nbsp;&nbsp;&nbsp;end if

  14. end for

  15. return G=(V,{(j,i):j∈di}),π,{Ki,si}i∈VG = (V, \{(j,i) : j \in d_i\}), \pi, \{K_i,s_i\}_{i\in V}

Build restores the checkpoints of the required components and combines their files with the baseline. When multiple branches contribute changes, it uses a shared earlier version as the merge base where available and reports conflicting edits. The treatment applies the active component’s change to this control. Improvement can start from the component’s previous best checkpoint while the control remains fixed. Unrelated branches are excluded. Implementation review checks whether the code follows the specification for the active component.

For a merged component uu representing decisions SS, equation (6) applies with i=ui=u and the shared intervention Δu\Delta_u. The planner must supply an acyclic revised graph. For example, merging zaz_a and zcz_c in za→zb→zcz_a \to z_b \to z_c while retaining both incident dependencies gives u→zb→uu \to z_b \to u and is rejected. The planner then revises the decomposition. Figure 4 shows single-decision and joint comparisons.

Comparisons that preserve required dependencies

Figure 4. Comparisons that preserve required dependencies. The upstream test checks p1p_1; the downstream test includes z1z_1 in its control. Decisions in S={z3,z4}S=\{z_3,z_4\} form one merged component with a shared test and result. A cyclic proposed merge is rejected during graph construction.

Numerical Criteria and Checkpoint Qualification

Fin⁡(v1,…,vk)\operatorname{Fin}(v_1,\ldots,v_k) is true when every argument is a finite numerical value and none is Boolean. For a performance test, the predicate specified before execution chooses yitest=δiy_i^{\mathrm{test}} = \delta_i or mi+m_i^+, and the numerical acceptance criterion is

gidir=1[Fin⁡(mi−,mi+)]1[δi>0]ϕi(yitest)1[δi>ϵi].(12)g_i^{\mathrm{dir}} = \mathbf{1}[\operatorname{Fin}(m_i^-,m_i^+)]\mathbf{1}[\delta_i > 0]\phi_i(y_i^{\mathrm{test}})\mathbf{1}[\delta_i > \epsilon_i]. \tag*{(12)}

Here ϵi\epsilon_i is the minimum improvement specified by the measurement protocol, with ϵi=0\epsilon_i = 0 for a test requiring positive improvement. Thus a positive observed gain must also satisfy the declared predicate. For a property check, let aiobsa_i^{\mathrm{obs}} be its reported intermediate observable and bi=1b_i = 1 indicate exactly one report matching the specified test and linked to its execution record. Its acceptance criterion is

giena=bi1[Fin⁡(aiobs)]ϕi(aiobs).(13)g_i^{\mathrm{ena}} = b_i \mathbf{1}[\operatorname{Fin}(a_i^{\mathrm{obs}})]\phi_i(a_i^{\mathrm{obs}}). \tag*{(13)}

An aggregate observable, such as the number of failed property checks, can summarize several assertions. The execution script computes that aggregate; the criterion compares it with the threshold specified before execution.

Numerical acceptance and checkpoint qualification are separate. For attempt tt, let eite_{it} indicate successful execution, hith_{it} an existing checkpoint, ritr_{it} a requested plan revision, and citc_{it} a review of task constraints that has not blocked the attempt. Method implementation review (MIR), denoted by MIRit\mathrm{MIR}_{it}, assesses whether the code implements the specified method. Let gitg_{it} be gidirg_i^{\mathrm{dir}} or gienag_i^{\mathrm{ena}} according to the test type. Qualification is

qit=eithit(1−rit)cit 1[MIRit∈{faithful,partial}] git.(14)q_{it}=e_{it}h_{it}(1-r_{it})c_{it}\,1[\mathrm{MIR}_{it}\in\{\text{faithful},\text{partial}\}]\,g_{it}. \tag*{(14)}

A partial implementation supports only the implemented and tested scope. Failed attempts remain in the history, while an earlier qualified checkpoint can be retained.

Memory Records and Feedback Scheduling

The component histories record the specification reference, ancestor set, checkpoints, code difference, observations, validation results, and execution artifacts. We write an attempt record as

Fit=(zi,νi,ei,Di,Pi,Oit−,Oit+,git,qit,Ait),(15)F_{it}=(z_i,\nu_i,e_i,D_i,P_i,O^{-}_{it},O^{+}_{it},g_{it},q_{it},A_{it}), \tag*{(15)}

where νi\nu_i identifies the specification version and AitA_{it} references supporting artifacts.

Let σt(i)∈{pending,active,accepted,exhausted}\sigma_t(i)\in\{\text{pending},\text{active},\text{accepted},\text{exhausted}\} denote search not yet started, search in progress, search ended with a qualified checkpoint, and attempts exhausted without one, respectively. With topological order π\pi, define

Ut={i:σt(i)=active},U_t=\{i:\sigma_t(i)=\text{active}\},
Rt={i:σt(i)=pending, ∀j∈di, σt(j)=accepted},R_t=\{i:\sigma_t(i)=\text{pending},\ \forall j\in d_i,\ \sigma_t(j)=\text{accepted}\},
it={min⁡πUt,Ut≠∅,min⁡πRt,Ut=∅, Rt≠∅,⊥,otherwise.(16)i_t= \begin{cases} \min_{\pi} U_t, & U_t\ne\varnothing,\\ \min_{\pi} R_t, & U_t=\varnothing,\ R_t\ne\varnothing,\\ \bot, & \text{otherwise}. \end{cases} \tag*{(16)}

min⁡π\min_{\pi} denotes the first component in the stored order; ⊥\perp denotes no available component or checkpoint. Thus an active component is processed before a newly ready one.

Let nin_i count started attempts, uiu_i infrastructure attempts that did not start, and ℓi\ell_i the last outcome. The next implementation action is

Op⁡(i)={DRAFT,ni=ui=0,DEBUG,ℓi∈Fimpl,CHECK-EXPECTATION,ℓi=contract_failed,IMPROVE,otherwise.(17)\operatorname{Op}(i)= \begin{cases} \text{DRAFT}, & n_i=u_i=0,\\ \text{DEBUG}, & \ell_i\in\mathcal{F}_{\mathrm{impl}},\\ \text{CHECK-EXPECTATION}, & \ell_i=\texttt{contract\_failed},\\ \text{IMPROVE}, & \text{otherwise}. \end{cases} \tag*{(17)}

Here contract_failed\texttt{contract\_failed} denotes a valid execution whose result fails the declared test criterion. Fimpl\mathcal{F}_{\mathrm{impl}} contains execution failure, implementation failure, a missing checkpoint, and code changes that depart from the specification. CHECK-EXPECTATION reassesses the expected effect when a valid test fails its criterion; DEBUG repairs execution or implementation errors. The agent uses the selected action and research memory to generate the next implementation. A failed design or test can prompt replanning within the revision budget, including a revised decomposition or a group of decisions tested together.

Component search retains the best qualified checkpoint. Performance tests rank checkpoints by the task metric. Property checks use the specified comparison rule, with task performance breaking ties. Search continues until its attempt limit is reached; equation (18) gives the resulting state.

Full Research Loop

Algorithm 3 combines the graph, numerical predicates, research memory, and feedback policy. Its construction step applies the planner in § 2.1 followed by Algorithm 2. Component attempts, execution launches, command durations, and outer revisions have separate limits. A failed execution counts as an attempt; an infrastructure failure before execution has a separate counter. Appendix § 10 specifies state updates and evidence reuse.

Algorithm 3 Experiments that preserve prerequisites and method revision

Input: Task T\mathcal{T}, baseline M0M_0, candidate MM, configured resource limits

  1. (G,π,K,s)←Construct⁡(M)(G,\pi,K,s) \leftarrow\operatorname{Construct}(M) using Algorithm 2

  2. L←∅\mathcal{L} \leftarrow\varnothing; M^←M0\widehat{M} \leftarrow M_0; σ(i)←\sigma(i) \leftarrow pending

  3. while the execution and revision limits permit another step do

  4. i←iti \leftarrow i_t from equation (16)

  5. if i≠⊥i \ne\bot then

  6. H←Ht(i)\mathcal{H} \leftarrow\mathcal{H}_t(i); o←Op⁡(i)o \leftarrow\operatorname{Op}(i) by equations (9) and (17)

  7. Pi←Build⁡(M0,Ki)P_i \leftarrow\operatorname{Build}(M_0,K_i); implement Ti=Pi⊕ΔiT_i = P_i \oplus\Delta_i using (o,H)(o,\mathcal{H})

  8. Obtain Oi−O_i^{-}, Oi+O_i^{+} and the available measurement records by equation (7)

  9. (git,qit)←(g_{it},q_{it}) \leftarrow equations (12) to (14)

  10. L(i)←L(i)∥Fit\mathcal{L}(i) \leftarrow\mathcal{L}(i) \mathbin{\|} F_{it}; update nin_i, uiu_i and retained checkpoint

  11. Update σ(i)\sigma(i) by equation (18); select the next action using equation (17)

  12. else

  13. if ∀j∈V\forall j \in V, σ(j)=\sigma(j) = accepted then

  14. M+←Assemble⁡({T^j}j∈V)M^{+} \leftarrow\operatorname{Assemble}(\{\widehat{T}_j\}_{j\in V}); evaluate M+M^{+}

  15. Update M^\widehat{M} by equation (10); record the complete result

  16. else

  17. Report the blocking or exhausted components

  18. end if

  19. end if

  20. if feedback requests a permitted component or method revision then

  21. M←Revise⁡(M,L)M \leftarrow\operatorname{Revise}(M,\mathcal{L}); reconstruct (G,π,K,s)(G,\pi,K,s)

  22. Initialize its component histories and reuse checkpoints satisfying equation (19)

  23. else

  24. Stop if component search is blocked or complete-candidate search has finished

  25. end if

  26. end while

  27. return M^,L\widehat{M},\mathcal{L}

Plan and Experiment Records

For each component, DAGLoop stores its specification and the history of implementation and evaluation attempts. The following fields describe these records.

The design fields specify the component identifier, purpose, mechanism, inputs, outputs, and dependencies. The experiment fields specify the expected effect, test type, and acceptance criterion. The implementation check describes how to assess whether the code follows the design; the optimization space specifies which changes are allowed; the downstream requirements state the properties required by later components. A performance test compares task performance, and a property check checks an intermediate property. Joint tests also record their original decisions. The tuple sis_i groups the design and experiment fields for each component.

An attempt records the implementation action, ancestor set, checkpoints, code difference, measurements, implementation review, review of task constraints, and artifact references. Commands and execution records link observations to the corresponding attempt. The record FitF_{it} in equation (15) summarizes these fields. The research memory in equation (9) preserves detailed current-component and ancestor histories and summarizes other branches.

State Transitions and Evidence Reuse

Graph and semantic checks. The identifier map NN trims and lowercases strings, replaces runs of non-alphanumeric characters with a hyphen, and assigns an index-based identifier when the result is empty. The constructor computes ancestor sets, removes redundant edges, and validates acceptance prerequisites according to equations (5) and (11). Inputs and outputs are checked for structure and nonemptiness; the critic evaluates their semantic compatibility and the adequacy of the proposed tests. A merged component passes the ordinary DAG checks after replanning.

Control measurement. A root component has no prerequisites and uses the baseline as its control. For a single direct parent, the component history can provide that parent’s finite metric. Components with multiple direct prerequisites require a measurement of the combined control implementation. A reported control attempt can supply this value after matching the control implementation, source state, and evaluation settings. Control reuse checks the saved measurement evidence, protocol, and restorable checkpoint. A control value that fails these checks is cleared. Protocol identity is defined by the recorded evaluation configuration.

Numerical predicates and repetitions. The criterion for performance tests accepts one comparison of signed metric improvement or candidate metric with a finite numerical constant. The criterion for property checks accepts one scalar comparison, including a reported aggregate such as a failed-check count. Unsupported expressions return a plan-format error. Boolean, missing, and nonfinite values fail the numerical check. Equality is exact unless tolerance is expressed in the declared observable or predicate. The measurement protocol specifies the reported statistic. For repeated measurements, the execution system checks the sample count, finite control and treatment samples, and the specified mean or median against the reported aggregate. These criteria serve as threshold filters for search decisions.

Qualification and retained checkpoints. In equation (14), the task-constraint indicator excludes violation and insufficient-evidence. Qualification additionally requires successful execution, an existing checkpoint, a faithful or partial implementation review, a passed component test, and no pending plan revision. The latest attempt’s test result and the retained checkpoint’s test result are stored separately.

Let T^it\widehat{T}_i^t be the retained qualified checkpoint after attempt tt and NiN_i the component attempt limit. Search continues to this limit, preserving the best qualified checkpoint. After a started attempt, the state is updated as follows:

σt+1(i)={accepted,ni≥Ni, T^it≠⊥,exhausted,ni≥Ni, T^it=⊥,active,otherwise.(18)\sigma_{t+1}(i) = \begin{cases} \text{accepted}, & n_i \ge N_i,\ \widehat{T}_i^t \ne\bot,\\ \text{exhausted}, & n_i \ge N_i,\ \widehat{T}_i^t = \bot,\\ \text{active}, & \text{otherwise.} \end{cases} \tag*{(18)}

A non-started attempt instead increments uiu_i and follows the infrastructure limit. On exhaustion, an existing qualified checkpoint is preserved; otherwise the workflow reports infrastructure exhaustion. For a property check, checkpoints are ranked using the specified comparison direction. Equality tests use distance from the target value, and task performance breaks ties.

Checkpoint reuse. Write cjc_j for a component’s recorded specification and acceptance requirements, hjh_j for its retained checkpoint identity, and hdi\mathbf{h}_{d_i} for the ordered direct-parent checkpoint identities. An old accepted checkpoint can enter a new component history only if

Inherit⁡(i)=ExecMatch⁡∧Restorable⁡(hi)∧(∀j∈Ki∪{i}, cjnew=cjold)∧(∀j∈Ki, σnew(j)=accepted, hjnew=hjold)∧(hdinew=hdiold).(19)\begin{aligned} \operatorname{Inherit}(i) &= \operatorname{ExecMatch} \land\operatorname{Restorable}(h_i) \\ &\land\left(\forall j \in K_i \cup\{i\},\ c_j^{\mathrm{new}} = c_j^{\mathrm{old}}\right) \\ &\land\left(\forall j \in K_i,\ \sigma^{\mathrm{new}}(j) = \text{accepted},\ h_j^{\mathrm{new}} = h_j^{\mathrm{old}}\right) \\ &\land\left(\mathbf{h}_{d_i}^{\mathrm{new}} = \mathbf{h}_{d_i}^{\mathrm{old}}\right). \tag*{(19)} \end{aligned}

ExecMatch compares execution identifiers derived from baseline records. A specification reference identifies the tested version of the design, a protocol identifier denotes the recorded evaluation configuration, and a checkpoint identifier locates the saved implementation. These checks associate reuse with the recorded experiment. Old records remain in history when a checkpoint cannot be reused in the revised context.

Resource limits. Resource limits apply to component implementation attempts, experiment launches, individual commands, and revisions of the candidate method. The reference configuration uses six component attempts, six experiment launches per sandbox, 7,200 seconds per command, and three outer revisions. A control measurement counts as an experiment launch. An executed failure consumes a component attempt; a failure before execution increments the separate infrastructure count. Component progress does not consume an outer method-revision round. Cost is recorded, and component selection follows equation (16).

Proofs

Baseline and Complete-Candidate Evaluations

For the metric ff on feasible configurations and the marginal effect in equation (4), we have:

Proposition 1 (Insufficiency of baseline and complete-candidate evaluations). For an arbitrary deterministic metric ff, the baseline value f(∅)f(\varnothing) and complete-candidate value f({1,2})f(\{1,2\}) do not determine the sign of δ2∣1\delta_{2\mid1}.

Proof. Consider two metrics on the three feasible configurations:

f(∅)f(\varnothing)f({1})f(\{1\})f({1,2})f(\{1,2\})δ2∣1\delta_{2\mid1}
fAf_A001/21/21/21/2
fBf_B011/21/2−1/2-1/2

Table 7.

Both metrics lie in [0,1][0,1] and have identical baseline and complete-candidate values. Any rule that receives only those two values has identical inputs in the two cases, although the marginal effects have opposite signs. It therefore cannot determine the sign for all metrics.

Minimal Prerequisite Context

A set C⊆VC \subseteq V is closed under prerequisites if j∈Cj \in C implies dj0⊆Cd_j^0 \subseteq C.

Proposition 2 (Minimal prerequisite context). For a DAG G0G_0, KiK_i is the unique smallest set containing di0d_i^0 that is closed under prerequisites. Also, i∉Kii \notin K_i, Ki∪{i}K_i \cup\{i\} is closed under prerequisites, and the edge reduction in equation (11) preserves every ancestor set.

Proof. Every member of KiK_i lies on a directed path to ii. If j∈Kij \in K_i and k∈dj0k \in d_j^0, appending the path from jj to ii shows k∈Kik \in K_i, so KiK_i is closed under prerequisites. It contains di0d_i^0. Conversely, any set containing di0d_i^0 that is closed under prerequisites must contain every predecessor along each path ending at ii, hence all of KiK_i. This proves uniqueness and minimality. Acyclicity gives i∉Kii \notin K_i, and adding ii preserves closure because di0⊆Kid_i^0 \subseteq K_i.

For the reduction, process vertices in topological order. A removed parent j∈di0j \in d_i^0 is an ancestor of another direct parent kk. Following this relation among direct parents must terminate at a retained parent k∗k^*, since the graph is finite and acyclic. By induction, the reduced graph on the earlier vertices preserves the path from jj to k∗k^*. The retained edge (k∗,i)(k^*,i) therefore preserves reachability from jj to ii. Retained edges are original edges, so the reduction creates no new reachability. Induction over π\pi establishes equality of all ancestor sets.

Definitions of Representative Tasks

This appendix explains representative task objectives and evaluator interfaces for the benchmark results. The task interfaces, measurement boundaries, and reward formulas correspond to the official AutoLab repository at commit 4127da3; the public repository supplies the task descriptions ([2]). The score comparison uses the reward records in Appendix § 13 for all reported tasks.

BM25 Retrieval in Go

The AutoLab task uses BM25 retrieval with term frequency, inverse document frequency (IDF), and document-length normalization ([2]). For query uu and document dd, the task computes the following retrieval score:

BM25⁡(u,d)=∑w∈uniq⁡(u)IDF⁡(w)tf⁡(w,d)(k1+1)tf⁡(w,d)+k1(1−b+b∣d∣/L‾),IDF⁡(w)=log⁡(1+N−df⁡(w)+0.5df⁡(w)+0.5),k1=1.2,b=0.75.(20)\begin{aligned} \operatorname{BM25}(u,d) &= \sum_{w \in\operatorname{uniq}(u)} \operatorname{IDF}(w)\frac{\operatorname{tf}(w,d)(k_1+1)}{\operatorname{tf}(w,d)+k_1(1-b+b|d|/\overline{L})},\\ \operatorname{IDF}(w) &= \log\left(1+\frac{N-\operatorname{df}(w)+0.5}{\operatorname{df}(w)+0.5}\right),\qquad k_1=1.2,\quad b=0.75. \tag*{(20)} \end{aligned}

Here NN is the corpus size, df⁡(w)\operatorname{df}(w) counts documents containing ww, tf⁡(w,d)\operatorname{tf}(w,d) counts its occurrences in dd, and L‾\overline{L} is mean document length. uniq⁡(u)\operatorname{uniq}(u) denotes unique query terms, so repeated tokens are counted once; ∣d∣|d| is document length. The output contains at most ten positive-score documents, ordered by decreasing score and increasing document identifier on ties. An empty query returns no results for the retrieval task.

The correctness check compares the batch query count, hit count, and checksum with the reference. Scores are rounded after multiplication by 10610^6 before checksum aggregation. The timing workload uses 4,000 documents and 40 queries, with the median over five query seeds:

mBM25(M)=median⁡r=15t(NewEngine⁡M(D),RunQueries⁡M(Ur)).(21)m_{\mathrm{BM25}}(M)=\operatorname{median}_{r=1}^{5}t\left(\operatorname{NewEngine}_M(D),\operatorname{RunQueries}_M(U_r)\right). \tag*{(21)}

The measured interval includes index construction, query processing, ranking, and batch checksum computation. It excludes compilation, corpus and query generation, the preceding correctness check, and printing.

For measured seconds t>0t>0, the official task reward is

RBM25(t)={0,2.1/t≤1,min⁡{1,12log⁡(2.1/t)/log⁡(2.1/0.03)},2.1/t>1.(22)R_{\mathrm{BM25}}(t)= \begin{cases} 0, & 2.1/t \le1,\\ \min\left\{1,\frac{1}{2}\log(2.1/t)/\log(2.1/0.03)\right\}, & 2.1/t > 1. \end{cases} \tag*{(22)}

The scoring anchors 2.1 and 0.03 are benchmark constants; local relative improvement uses the locally reproduced baseline instead.

Transforms, Joins, Storage, and Model Training

Fourier transform (fft.rust). For a real signal x∈Rnx \in\mathbb{R}^n with n=32768n=32768, the task computes the complex discrete Fourier transform

Xk=∑j=0n−1xjexp⁡(−2πijk/n),0≤k<n.(23)X_k=\sum_{j=0}^{n-1}x_j\exp(-2\pi i j k/n),\qquad0\le k<n. \tag*{(23)}

The metric is the median duration of the transform call. Parseval and spectral-checksum checks use the task’s 10−610^{-6} relative tolerance. The implementation is single-threaded Rust using the standard library for the transform.

Hash join (hash_join). Given indexed integer key–payload tables R=(ra)a=1nRR = (r_a)_{a=1}^{n_R} and S=(sb)b=1nSS = (s_b)_{b=1}^{n_S}, the task computes the matching row pairs of an inner equijoin

J={(a,b):1≤a≤nR, 1≤b≤nS, ra.key=sb.key}.(24)\mathcal{J} = \{(a,b) : 1 \leq a \leq n_R,\ 1 \leq b \leq n_S,\ r_a.\mathrm{key} = s_b.\mathrm{key}\}. \tag*{(24)}

Every matching row pair contributes, including duplicate keys. The output is a match count and a 64-bit checksum. The benchmark uses 20,000 rows in RR and five million in SS, measuring one join call after warm-up under a single-thread constraint.

Number-theoretic transform (ntt_butterfly_cuda). For a∈Fpna \in\mathbb{F}_p^n, the forward transform has the form

Ak=∑j=0n−1ajωjk(modp),p=264−232+1,(25)A_k = \sum_{j=0}^{n-1} a_j\omega^{jk} \pmod{p}, \qquad p = 2^{64} - 2^{32} + 1, \tag*{(25)}

where ω\omega is the task’s forward nnth root of unity. The CUDA implementation returns canonical field elements in natural order, in place. Correctness is bit-exact, and latency is the median CUDA-event time after warm-up, using the prescribed workspace.

Multi-scalar multiplication (msm_pippenger_bls12_381_cuda). The task maps BLS12-381 G1G_1 points PiP_i and 256-bit scalars sis_i to

Q=∑i=1n[si]Pi.(26)Q = \sum_{i=1}^{n} [s_i]P_i. \tag*{(26)}

The evaluator checks the affine output in the required Montgomery representation and measures median CUDA-event latency. The released starter uses naive double-and-add.

SSTable compaction (sstable_compaction_rs). Sorted string tables store ordered key–value entries on disk. This task merges several prefix-compressed tables, retains the visible latest value for each key, and removes shadowed or deleted entries. It verifies live-entry count, checksum, and output size. The median of five compaction calls includes decoding, merging, and output construction, while input generation occurs outside the measured interval.

Visual reasoning (grpo_multisource). Group relative policy optimization (GRPO) fine-tunes Qwen2.5-VL-7B using Geometry3K, MathVision, and ChartQA, producing a low-rank adaptation (LoRA) adapter. The final native metric is accuracy on 100 held-out MathVista examples. Let aa be this accuracy and rr the general visual question answering (VQA) accuracy retention on 50 examples. The task reward is

RGRPO(a,r)=1[r≥0.9]clip⁡[0,1](a−0.200.65−0.20).(27)R_{\mathrm{GRPO}}(a,r) = \mathbf{1}[r \geq0.9] \operatorname{clip}_{[0,1]}\left(\frac{a - 0.20}{0.65 - 0.20}\right). \tag*{(27)}

Retention is the adapted-to-baseline VQA accuracy ratio, defined as one when baseline VQA accuracy is zero. The smaller local evaluation uses 20 MathVista and 10 VQA examples; the final reward uses the 100-plus 50 evaluation.

Full AutoLab Results

Table 3–Table 5 report the complete per-task scores and corresponding native metrics across all 36 AutoLab tasks. For Terminus-2, reported scores represent the arithmetic mean across two evaluation runs.

TaskDAGLoop G+DAGLoop G0DAGLoop D0Terminus-2 G+Terminus-2 G0Terminus-2 D0
adaptive_compression0.5504100.4574001.0000000.4968000.3957000.288650
adversarial_splay0.5648290.5000000.5000000.5841000.5234500.568900
aes128_ctr0.6103100.6132000.5053000.5793500.2521000.445350
agent_tool_routing0.4637450.3908000.2501000.2403000.2245000.198850
bm25_search_go1.0000000.4008000.3580001.0000000.3735500.537650
bvh_raytracer0.3284920.2961000.3110000.4550500.2834000.263900
concurrent_kv_wal0.8133920.4764000.1821000.6039500.6383500.475050
data_select_ifeval0.6177450.3774000.2300000.8580500.0316000.275750
discover_sorting0.8500001.0000001.0000000.8500000.8500000.850000
fft_rust0.5224750.4684000.4516000.5266000.2346000.243750
flash_attention0.4466520.7084000.3208000.4694500.2156000.346700
flux2_klein_lora1.0000000.3653000.8957000.0000000.2474500.000000
fredkin_sort_network1.0000000.5067000.6666670.8667000.4333000.533350
gaussian_blur0.5576330.5122000.2258000.5573500.4701000.473200
grpo_multisource0.9111000.8667000.8667000.8777500.8222500.844450
hash_join0.5594720.5024000.4776000.6402000.5274000.567050
huffman_canonical_decode_cuda0.3849870.3869000.3579000.3797500.2978500.264150
icp_correspondence_step_cuda0.5063010.5213000.5097000.4994000.4700000.292600
levenshtein_distance0.3860820.3805000.3814000.3874000.2081500.190050
llm_online_serving0.7378000.0723000.9057640.0005500.0005000.000050
moving_mnist_world_model0.2279640.2126490.2039510.2578820.3208930.318903
msm_pippenger_bls12_381_cuda0.3991090.4816000.6993000.3824000.1896000.264700
multilingual_ocr1.0000001.0000000.9200001.0000000.6361500.556300
ntt_butterfly_cuda0.5353430.5133000.4061000.5124500.4783500.496350
radix_sort0.4334470.3921000.3498000.4107500.3243000.285650

Table 3. All six configurations. Columns G+, G0, and D0 denote GLM-5.2 with maximum reasoning effort, GLM-5.2 with reasoning disabled, and DeepSeek-V4-Flash with reasoning disabled, respectively.

TaskMetricDAGLoop metricDAGLoop scoreTerminus-2 scoreDifference
data_select_ifevalIFEval ↑\uparrow0.4417740.6177450.858050−0.240305
flux2_klein_loraQuality ↑\uparrow0.64791.0000000.000000+1.000000
grpo_multisourceAccuracy ↑\uparrow0.610.9111000.877750+0.033350
huffman_canonical_decode_cudaTime (ms) ↓\downarrow6.049280.3849870.379750+0.005237
icp_correspondence_step_cudaTime (ms) ↓\downarrow0.261440.5063010.499400+0.006901
llm_online_servingServing ↑\uparrow1.08120.7378000.000550+0.737250
moving_mnist_world_modelPSNR (dB) ↑\uparrow15.3677830.2279640.257882−0.029918
msm_pippenger_bls12_381_cudaTime (ms) ↓\downarrow91.8783340.3991090.382400+0.016709
multilingual_ocrCER ↓\downarrow0.28931.0000001.000000+0.000000
ntt_butterfly_cudaTime (ms) ↓\downarrow0.9344320.5353430.512450+0.022893
scaling_lawPPL ↓\downarrow20.9091890.5844020.605381−0.020979

Table 5. GPU native metrics and task scores for the GLM-5.2 reasoning-enabled comparison.

Table 3: All six configurations. Columns G+, G0, and D0 denote GLM-5.2 with maximum reasoning effort, GLM-5.2 with reasoning disabled, and DeepSeek-V4-Flash with reasoning disabled, respectively.

TaskDAGLoopTerminus-2
G+G^{+}G0G0D0D0G+G^{+}G0G0D0D0
regex_engine0.9614080.8587000.7227000.8803000.5153001.000000
resnet_bit_flip0.9750000.9375000.3500000.8812500.6562500.918750
safety_router0.9921280.9218200.8749470.9921280.9921280.374977
scaling_law0.5844020.1559690.6157140.6053810.6083620.582762
sha256_throughput0.2769150.2853000.2446000.1798500.0117000.020750
smallest_game_player0.5786100.9491000.1215000.4739500.0000000.000000
sstable_compaction_rs0.1779970.0696000.1826000.3479000.2145500.077450
stack_machine_golf1.0000001.0000001.0000001.0000001.0000000.532400
toy_isa_opt1.0000001.0000000.9820001.0000000.9912500.979650
vliw_scheduler1.0000000.9736000.9830001.0000000.7305500.980550
z_order_range_scan0.2981720.1931000.1720000.1953000.1887000.077350
Mean (36)0.6458870.5485430.5340100.5831190.4266090.420166

Table 8.

TaskMetricDAGLoop metricDAGLoop scoreTerminus-2 scoreDifference
adaptive_compressionbpb ↓\downarrow3.69630.5504100.496800+0.053610
adversarial_splayRotations ↑\uparrow698470.5648290.584100−0.019271
aes128_ctrTime (s) ↓\downarrow0.0472190.6103100.579350+0.030960
agent_tool_routingTime (s) ↓\downarrow0.4713740.4637450.240300+0.223445
bm25_search_goTime (s) ↓\downarrow0.0003391.0000001.000000+0.000000
bvh_raytracerTime (s) ↓\downarrow0.1578950.3284920.455050−0.126558
concurrent_kv_walTime (s) ↓\downarrow0.2847840.8133920.603950+0.209442
discover_sortingComparators ↓\downarrow630.8500000.850000−0.000000
fft_rustTime (s) ↓\downarrow0.0006610.5224750.526600−0.004125
flash_attentionTime (s) ↓\downarrow0.1239840.4466520.469450−0.022798
fredkin_sort_networkGates ↓\downarrow531.0000000.866700+0.133300
gaussian_blurTime (s) ↓\downarrow0.1600110.5576330.557350+0.000283
hash_joinTime (s) ↓\downarrow0.01910.5594720.640200−0.080728
levenshtein_distanceTime (s) ↓\downarrow0.4793850.3860820.387400−0.001318
radix_sortTime (s) ↓\downarrow0.4917020.4334470.410750+0.022697
regex_engineTime (s) ↓\downarrow0.1016790.9614080.880300+0.081108
resnet_bit_flipBits ↓\downarrow30.9750000.881250+0.093750
safety_routerParams ↓\downarrow1310.9921280.992128+0.000000
sha256_throughputTime (s) ↓\downarrow0.5263130.2769150.179850+0.097065
smallest_game_playerParams ↓\downarrow75530.5786100.473950+0.104660
sstable_compaction_rsTime (s) ↓\downarrow0.0723340.1779970.347900−0.169903
stack_machine_golfInstructions ↓\downarrow10241.0000001.000000+0.000000
toy_isa_optCycles ↓\downarrow15431.0000001.000000+0.000000
vliw_schedulerCycles ↓\downarrow12001.0000001.000000+0.000000
z_order_range_scanTime (s) ↓\downarrow0.1283340.2981720.195300+0.102872

Table 4. CPU native metrics and task scores for the GLM-5.2 reasoning-enabled comparison.

PSNR = peak signal-to-noise ratio; CER = character error rate; PPL = perplexity.

Additional FML-Bench Results

We additionally ran DAGLoop on 18 FML-Bench tasks with the task and repository specified (Zou et al., 2026). The results cover 13 GPU tasks and five CPU tasks. Table 6 reports their native metrics separately from AutoLab. For each task, we report one available native result alongside the baseline from the same run.

TaskMetricBaselineDAGLoop
GPU tasks (13)
OpacusAcc. ↑\uparrow0.58750.6024
DomainBed-CMIn-acc. ↑\uparrow0.26130.7010
ARTDefense ↑\uparrow0.31310.8719
OpenOODAUROC ↑\uparrow0.89050.9209
PyCILInc.-acc. ↑\uparrow0.59570.6016
USBAcc. ↑\uparrow0.07830.0961
EasyFSLAcc. ↑\uparrow0.65340.7034
PFLlibAcc. ↑\uparrow0.45300.5211
DomainBed-OHAvg.-acc. ↑\uparrow0.59620.6280
PrivacyMeterAUC gap ↓\downarrow0.31770.0252
LightlyAcc. ↑\uparrow0.75600.7886
Solo-learnLinear acc. ↑\uparrow0.46670.4879
OpenUnlearningKS pp ↑\uparrow≈0\approx00.3890
CPU tasks (5)
Fairlearn∣DP∣\lvert\mathrm{DP}\rvert ↓\downarrow0.18660.0029
gCastleSHD ↓\downarrow7224
AIF360∣AOD∣\lvert\mathrm{AOD}\rvert ↓\downarrow0.23990.0209
CausalMLMAE ↓\downarrow1.29631.2680
Cont.-Learn.Avg.-acc. ↑\uparrow0.28410.5935

Table 6. FML-Bench native results with corresponding local baselines.

CM and OH denote ColoredMNIST and OfficeHome, respectively. Metrics: DP = demographic-parity difference; AOD = average odds difference; SHD = structural Hamming distance. Acc. = accuracy; In-acc. = mean accuracy on the splits designated “in” by DomainBed; Inc.-acc. = average incremental accuracy; Linear acc. = linear evaluation accuracy; Avg.-acc. = average accuracy. AUROC = area under the receiver operating characteristic curve; AUC gap = the task-defined area-under-curve gap; MAE = mean absolute error; KS pp = Kolmogorov–Smirnov test pp-value. Defense denotes the task-defined defense score.

References

  1. [1]Talor Abramovich and Gal Chechik. AblationBench: Evaluating automated planning of ablations in empirical AI research, 2026. URL https://arxiv.org/abs/2507.08038.
  2. [2]AutoLab Authors. AutoLab: Official benchmark repository, 2026. URL https://github.com/autolabhq/autolab/tree/4127da3dde8449be61a1cf9859473b9fbbd51751. Task definitions at commit 4127da3dde8449be61a1cf9859473b9fbbd51751.
  3. [3]Joeran Sander Bosma, Dré Peeters, Natália Alves, Anindo Saha, Zaigham Saghir, Colin Jacobs, and Henkjan Huisman. Reproducibility of training deep learning models for medical image analysis. In Medical Imaging with Deep Learning, volume 227, pp. 1269–1287. PMLR, 2024. URL https://proceedings.mlr.press/v227/bosma24a.html.
  4. [4]Jun Shern Chan, Neil Chowdhury, Oliver Jaffe, James Aung, Dane Sherburn, Evan Mays, Giulio Starace, Kevin Liu, Leon Maksin, Tejal Patwardhan, Aleksander Madry, and Lilian Weng. MLE-bench: Evaluating machine learning agents on machine learning engineering. In International Conference on Learning Representations, volume 2025, pp. 50466–50494, 2025. URL https://proceedings.iclr.cc/paper_files/paper/2025/file/7e3767db4839c42b883eb4f8cfb74e31-Paper-Conference.pdf.arxiv.org/abs/2410.07095
  5. [5]Hui Chen, Miao Xiong, Yujie Lu, Wei Han, Ailin Deng, Yufei He, Jiaying Wu, Yibo Li, Yue Liu, and Bryan Hooi. MLR-Bench: Evaluating AI agents on open-ended machine learning research. In Advances in Neural Information Processing Systems, volume 38, Main Conference. Curran Associates, Inc., 2025a. doi: 10.52202/085713-3945. URL https://proceedings.neurips.cc/paper_files/paper/2025/file/ab8dd000d6f87f40061a73f8bca7fae4-Paper-Datasets_and_Benchmarks_Track.pdf.DOI
  6. [6]Ziru Chen, Shijie Chen, Yuting Ning, Qianheng Zhang, Boshi Wang, Botao Yu, Yifei Li, Zeyi Liao, Chen Wei, Zitong Lu, Vishal Dey, Mingyi Xue, Frazier N. Baker, Benjamin Burns, Daniel Adu-Ampratwum, Xuhui Huang, Xia Ning, Song Gao, Yu Su, and Huan Sun. Sci-enceAgentBench: Toward rigorous assessment of language agents for data-driven scientific discovery. In International Conference on Learning Representations, volume 2025, pp. 96934–96990, 2025b. URL https://proceedings.iclr.cc/paper_files/paper/2025/file/f12b4df26344f3be803c06b55252efe-Paper-Conference.pdf.
  7. [7]Ching-An Cheng, Allen Nie, and Adith Swaminathan. Trace is the next AutoDiff: Generative optimization with rich feedback, execution traces, and LLMs. In Advances in Neural Information Processing Systems, volume 37, pp. 71596–71642. Curran Associates, Inc., 2024. doi: 10.52202/079017-2287. URL https://proceedings.neurips.cc/paper_files/paper/2024/file/83ba7056bce2c3c3c27e17397cf3e1f0-Paper-Conference.pdf.DOI
  8. [8]Yanlin Fei, Nazhou Liu, Xinmiao Yu, Shaolong Chen, Lei Li, Rahul Thapa, Madalina Ciobanu, Navan Preet Singh, Qinqing Mao, and Raitnkar Das. How do agents fail on AutoResearch: End-to-end diagnostic evaluation on 100 real-world frontier research tasks, 2026. URL https://arxiv.org/abs/2608.14905v3.
  9. [9]Aniketh Garikaparthi, Manasi Patwardhan, and Arman Cohan. ResearchGym: Evaluating language model agents on real-world AI research, 2026. URL https://arxiv.org/abs/2602.15112.
  10. [10]Priyanshu Gupta, Shashank Kirtania, Ananya Singha, Sumit Gulwani, Arjun Radhakrishna, Gustavo Soares, and Sherry Shi. MetaReflection: Learning instructions for language agents using past reflections. In Proceedings of the 2024 Conference on Empirical Methods in Natural Language Processing, pp. 8369–8385. Association for Computational Linguistics, 2024. doi: 10.18653/v1/2024.emnlp-main.477. URL https://aclanthology.org/2024.emnlp-main.477/.DOI
  11. [11]Harbor Framework Team. Terminus-2 in harbor (version 0.3.0), 2026. URL https://github.com/harbor-framework/harbor/tree/1d97c20a1729f068a2bb95af6100f0f818ef0595. Official agent implementation, release v0.3.0; accessed September 26, 2026.
  12. [12]Shengran Hu, Cong Lu, and Jeff Clune. Automated design of agentic systems. In International Conference on Learning Representations, volume 2025, pp. 21344–21377, 2025. URL https://proceedings.iclr.cc/paper_files/paper/2025/file/36b7acf6f6010652b3f2a433774a66fe-Paper-Conference.pdf.arxiv.org/abs/2408.08435
  13. [13]Qian Huang, Jian Vora, Percy Liang, and Jure Leskovec. MLAgentBench: Evaluating language agents on machine learning experimentation. In Proceedings of the 41st International Conference on Machine Learning, volume 235, pp. 20271–20309. PMLR, 2024. URL https://proceedings.mlr.press/v235/huang24y.html.arxiv.org/abs/2310.03302
  14. [14]Yoonho Lee, Roshen Nair, Qizheng Zhang, Kangwook Lee, Omar Khattab, and Chelsea Finn. Meta-Harness: End-to-end optimization of model harnesses, 2026. URL https://arxiv.org/abs/2603.28052.
  15. [15]Chris Lu, Cong Lu, Robert Tjarko Lange, Jakob Foerster, Jeff Clune, and David Ha. The AI scientist: Towards fully automated open-ended scientific discovery, 2024. URL https://arxiv.org/abs/2408.06292.
  16. [16]Chris Lu, Cong Lu, Robert Tjarko Lange, Yutaro Yamada, Shengran Hu, Jakob Foerster, David Ha, and Jeff Clune. Towards end-to-end automation of AI research. Nature, 651(8107):914–919, 2026. doi: 10.1038/s41586-026-10265-5. URL https://doi.org/10.1038/s41586-026-10265-5.
  17. [17]Deepak Nathani, Lovish Madaan, Nicholas Roberts, Nikolay Bashlykov, Ajay Menon, Vincent Moens, Amar Budhiraja, Despoina Magka, Vladislav Vorotilov, Gaurav Chaurasia, Diewuke Hupkes, Ricardo Silveira Cabral, Tatiana Shavrina, Jakob Foerster, Yoram Bachrach, William Yang Wang, and Roberta Raileanu. MLGym: A new framework and benchmark for advancing AI research agents, 2025. URL https://arxiv.org/abs/2502.14499.
  18. [18]Alexander Novikov, Ngân Vũ, Marvin Eisenberger, Emilien Dupont, Po-Sen Huang, Adam Zsolt Wagner, Sergey Shirokov, Borislav Kozlovskii, Francisco J. R. Ruiz, Abbas Mehrabian, M. Pawan Kumar, Abigail See, Swarat Chaudhuri, George Holland, Alex Davies, Sebastian Nowozin, Pushmeet Kohli, and Matej Balog. AlphaEvolve: A coding agent for scientific and algorithmic discovery, 2025. URL https://arxiv.org/abs/2506.13131.
  19. [19]Lars Henry Berge Olsen, Ingrid Kristine Glad, Martin Jullum, and Kjersti Aas. A comparative study of methods for estimating model-agnostic shapley value explanations. Data Mining and Knowledge Discovery, 38(4):1782–1829, 2024. doi: 10.1007/s10618-024-01016-z. URL https://doi.org/10.1007/s10618-024-01016-z.
  20. [20]Bernardino Romera-Paredes, Mohammadamin Barekatain, Alexander Novikov, Matej Balog, M. Pawan Kumar, Emilien Dupont, Francisco J. R. Ruiz, Jordan S. Ellenberg, Pengming Wang, Omar Fawzi, Pushmeet Kohli, and Alhussein Fawzi. Mathematical discoveries from program search with large language models. Nature, 625(7995):468–475, 2024. doi: 10.1038/s41586-023-06924-6. URL https://doi.org/10.1038/s41586-023-06924-6.
  21. [21]Samuel Schmidgall, Yusheng Su, Ze Wang, Ximeng Sun, Jialian Wu, Xiaodong Yu, Jiang Liu, Michael Moor, Zicheng Liu, and Emad Barsoum. Agent laboratory: Using LLM agents as research assistants. In Findings of the Association for Computational Linguistics: EMNLP 2025, pp. 5977–6043. Association for Computational Linguistics, 2025. doi: 10.18653/v1/2025.findings-emnlp.320. URL https://aclanthology.org/2025.findings-emnlp.320/.DOI
  22. [22]Yifan Shi, Wei Zhang, and Tianyi Cui. A programming paradigm for spatiotemporal composability, 2026. URL https://arxiv.org/abs/2608.25512.

Paper details

vlnc:W_d9x5tsjc
v1 · latestHistory (1)

published · Fresh — added to the Hub within the last 30 days

added ·

Usage

views · 0

downloads · 0

A view counts once per browser per day, a download each time the PDF is requested.

CC BY 4.0

Original source

  • Computer Science

Not recorded for this paper · View statement →

Looking for related papers…
Contents