Skip to content

Research and AutoResearch

Package Value
Distribution archetype-research
Import package archetype.research

Extension API. Use the separately installed archetype-research library to configure optimization loops and persist its experiment ledger.

Research

Research(world)

Expose AutoResearch workflows for one world.

Construct this adapter directly or through world.library("research"). Research is intentionally a small world-library workflow, not a second process host or an application facade.

autoresearch async

autoresearch(
    config,
    evaluator,
    *,
    prepare_candidate=None,
    lab_world_id=None,
    on_iteration=None,
)

Run or resume an AutoResearch loop from this base world.

AutoResearchConfig dataclass

AutoResearchConfig(
    experiment_name,
    experiment_id,
    evaluator_id,
    rollout_contract_id,
    episode_config=_default_episode_config(),
    num_episodes=10,
    parallel=False,
    max_iterations=100,
    improvement_threshold=0.0,
    destroy_forks_on_complete=False,
    record_to_ledger=True,
)

Configure one resumable autoresearch loop.

Field Type Default
experiment_name str required
experiment_id str required
evaluator_id str required
rollout_contract_id str required
episode_config EpisodeConfig generated by _default_episode_config
num_episodes int 10
parallel bool False
max_iterations int 100
improvement_threshold float 0.0
destroy_forks_on_complete bool False
record_to_ledger bool True

AutoResearchResult dataclass

AutoResearchResult(
    experiment_name,
    iterations_completed,
    final_score,
    initial_score,
    iterations=list(),
    lab_world_id="",
)

Summarize a completed or stopped autoresearch loop.

improved property

improved
Field Type Default
experiment_name str required
iterations_completed int required
final_score float required
initial_score float required
iterations list[IterationResult] generated by list
lab_world_id str ''

ResearchCandidateContext dataclass

ResearchCandidateContext(
    experiment_id,
    experiment_name,
    iteration,
    run_id,
    base_world_id,
)

Transient context passed to one research-candidate preparer.

Field Type Default
experiment_id str required
experiment_name str required
iteration int required
run_id str required
base_world_id str required

EvaluationResult dataclass

EvaluationResult(
    score, evaluator, evidence=dict(), metadata=dict()
)

Return a finite score with evaluator identity and supporting evidence.

Field Type Default
score float required
evaluator str required
evidence dict[str, Any] generated by dict
metadata dict[str, Any] generated by dict

Evaluator

Score one rollout under the configured evaluator identity.

CandidatePreparer

Prepare one transient research candidate and return its world identity.

IterationResult dataclass

IterationResult(
    iteration,
    rollout,
    score,
    evaluation,
    improved,
    incumbent_score,
)

Result of one autoresearch iteration.

Field Type Default
iteration int required
rollout RolloutResult required
score float required
evaluation EvaluationResult required
improved bool required
incumbent_score float required