mirror of
https://github.com/NousResearch/hermes-agent.git
synced 2026-05-28 06:21:33 +00:00
feat(skills): add autoresearch skill for autonomous research orchestration
Add a new research skill that enables continuous, self-directed research with a two-loop architecture: - Inner loop: Rapid experiment iteration with measurable outcomes - Outer loop: Periodic synthesis, pattern discovery, and direction setting Features: - Research workspace templates (state, findings, log) - Example project (LoRA rank study) - Configuration options for loop intervals and auto-commit - Integration with existing research skills (arxiv, paper-writing) Updated research/DESCRIPTION.md to include autoresearch in the skill overview.
This commit is contained in:
parent
939d2b37d1
commit
762b582704
5 changed files with 482 additions and 1 deletions
93
skills/research/autoresearch/templates/findings.md
Normal file
93
skills/research/autoresearch/templates/findings.md
Normal file
|
|
@ -0,0 +1,93 @@
|
|||
# Findings: {{PROJECT_NAME}}
|
||||
|
||||
**Research Question:** {{RESEARCH_QUESTION}}
|
||||
|
||||
**Last Updated:** {{LAST_UPDATED}}
|
||||
|
||||
---
|
||||
|
||||
## Current Understanding
|
||||
|
||||
### What We Know So Far
|
||||
|
||||
[Summarize the current state of knowledge. 2-4 paragraphs.]
|
||||
|
||||
### Key Patterns and Insights
|
||||
|
||||
| Pattern | Evidence | Confidence |
|
||||
|---------|----------|------------|
|
||||
| [Pattern 1] | [Which experiments support this] | High/Medium/Low |
|
||||
| [Pattern 2] | [Which experiments support this] | High/Medium/Low |
|
||||
|
||||
### Mechanistic Understanding
|
||||
|
||||
[If applicable: What mechanisms explain the results?]
|
||||
|
||||
---
|
||||
|
||||
## Lessons and Constraints
|
||||
|
||||
### What Works
|
||||
|
||||
- [Specific finding with context]
|
||||
- [Another finding]
|
||||
|
||||
### What Doesn't Work
|
||||
|
||||
- [Failed approach and why]
|
||||
- [Constraint discovered]
|
||||
|
||||
### Critical Parameters
|
||||
|
||||
| Parameter | Sweet Spot | Why |
|
||||
|-----------|------------|-----|
|
||||
| [Param 1] | [Value/range] | [Explanation] |
|
||||
|
||||
---
|
||||
|
||||
## Open Questions
|
||||
|
||||
### High Priority
|
||||
|
||||
1. [Question that would change the story if answered]
|
||||
2. [Another critical question]
|
||||
|
||||
### Medium Priority
|
||||
|
||||
1. [Nice to know but not blocking]
|
||||
|
||||
### Answered
|
||||
|
||||
1. ~~[Question]~~ → Answer: [Brief answer with evidence]
|
||||
|
||||
---
|
||||
|
||||
## Narrative Arc
|
||||
|
||||
[For paper writing: What's the story? What would the abstract say?]
|
||||
|
||||
### Contribution Sketch
|
||||
|
||||
[1-2 sentences on what this research contributes]
|
||||
|
||||
### Implications
|
||||
|
||||
[Who cares? Why does this matter?]
|
||||
|
||||
---
|
||||
|
||||
## Next Steps
|
||||
|
||||
### Immediate (Next 1-3 Experiments)
|
||||
|
||||
- [ ] [Specific experiment]
|
||||
- [ ] [Another experiment]
|
||||
|
||||
### Medium Term
|
||||
|
||||
- [ ] [Broader direction]
|
||||
|
||||
### If Current Direction Fails
|
||||
|
||||
- [Pivot option 1]
|
||||
- [Pivot option 2]
|
||||
90
skills/research/autoresearch/templates/research-log.md
Normal file
90
skills/research/autoresearch/templates/research-log.md
Normal file
|
|
@ -0,0 +1,90 @@
|
|||
# Research Log: {{PROJECT_NAME}}
|
||||
|
||||
**Research Question:** {{RESEARCH_QUESTION}}
|
||||
|
||||
---
|
||||
|
||||
## Bootstrap Phase
|
||||
|
||||
### {{DATE}} — Project Initialization
|
||||
|
||||
- **Action:** Created workspace, initialized state files
|
||||
- **Research Question:** {{RESEARCH_QUESTION}}
|
||||
- **Initial Thoughts:** [What makes this interesting?]
|
||||
|
||||
### {{DATE}} — Literature Search
|
||||
|
||||
- **Sources:** arxiv, semantic scholar, web search
|
||||
- **Key Papers:**
|
||||
- [Paper 1] — [Key finding relevant to question]
|
||||
- [Paper 2] — [Key finding]
|
||||
- **Gap Identified:** [What's missing in existing work?]
|
||||
|
||||
### {{DATE}} — Hypothesis Formation
|
||||
|
||||
- **H001:** [Description] → Prediction: [Specific prediction]
|
||||
- **H002:** [Description] → Prediction: [Specific prediction]
|
||||
- **H003:** [Description] → Prediction: [Specific prediction]
|
||||
|
||||
---
|
||||
|
||||
## Inner Loop Log
|
||||
|
||||
### {{DATE}} — Experiment H001
|
||||
|
||||
- **Hypothesis:** H001
|
||||
- **Protocol:** [What was changed, what was predicted]
|
||||
- **Git Commit:** `research(protocol): H001 — [description]`
|
||||
- **Status:** [Running/Completed/Failed]
|
||||
- **Results:**
|
||||
- Metric: [Value]
|
||||
- Baseline: [Value]
|
||||
- Delta: [+/-X]
|
||||
- **Interpretation:** [What this means]
|
||||
- **Next Action:** [Continue/Adjust/Pivot]
|
||||
|
||||
### {{DATE}} — Experiment H002
|
||||
|
||||
[Same format...]
|
||||
|
||||
---
|
||||
|
||||
## Outer Loop Log
|
||||
|
||||
### {{DATE}} — Reflection #1 (After {{N}} experiments)
|
||||
|
||||
- **Experiments Reviewed:** H001-H00N
|
||||
- **Patterns Observed:**
|
||||
- [Pattern 1]
|
||||
- [Pattern 2]
|
||||
- **Updated Understanding:** [New insights]
|
||||
- **Direction Decision:** [DEEPEN/BROADEN/PIVOT/CONCLUDE]
|
||||
- **Rationale:** [Why this direction?]
|
||||
- **New Hypotheses:**
|
||||
- H00N+1: [Description]
|
||||
- H00N+2: [Description]
|
||||
|
||||
---
|
||||
|
||||
## Direction Changes
|
||||
|
||||
### {{DATE}} — PIVOT: [New Direction]
|
||||
|
||||
- **From:** [Old direction/assumption]
|
||||
- **To:** [New direction]
|
||||
- **Trigger:** [What result/surprise caused this?]
|
||||
- **New Research Question:** [If changed]
|
||||
|
||||
---
|
||||
|
||||
## Conclusion
|
||||
|
||||
### {{DATE}} — Research Concluded
|
||||
|
||||
- **Final Status:** [Completed/Partial/Abandoned]
|
||||
- **Key Findings:**
|
||||
1. [Finding 1]
|
||||
2. [Finding 2]
|
||||
- **Contribution:** [What this adds to the field]
|
||||
- **Limitations:** [What we didn't test/couldn't conclude]
|
||||
- **Future Work:** [What someone should do next]
|
||||
70
skills/research/autoresearch/templates/research-state.yaml
Normal file
70
skills/research/autoresearch/templates/research-state.yaml
Normal file
|
|
@ -0,0 +1,70 @@
|
|||
# Research State
|
||||
# Central tracking file for autoresearch project
|
||||
# Updated automatically by the agent — do not edit manually
|
||||
|
||||
project:
|
||||
name: "{{PROJECT_NAME}}"
|
||||
created_at: "{{CREATED_AT}}"
|
||||
research_question: "{{RESEARCH_QUESTION}}"
|
||||
status: "bootstrapping" # bootstrapping | active | paused | concluding | completed
|
||||
|
||||
bootstrap:
|
||||
literature_searched: false
|
||||
initial_hypotheses_formed: false
|
||||
evaluation_metric_defined: false
|
||||
baseline_established: false
|
||||
|
||||
loops:
|
||||
inner_loop_count: 0
|
||||
outer_loop_count: 0
|
||||
last_inner_loop_at: null
|
||||
last_outer_loop_at: null
|
||||
|
||||
direction:
|
||||
current: "explore" # explore | deepen | broaden | pivot | conclude
|
||||
rationale: "Initial exploration phase"
|
||||
next_milestone: "Complete first 3 experiments"
|
||||
|
||||
hypotheses:
|
||||
# Example structure — replace with actual hypotheses
|
||||
H001:
|
||||
description: "{{HYPOTHESIS_DESCRIPTION}}"
|
||||
status: "untested" # untested | running | completed | refuted | supported
|
||||
prediction: "{{PREDICTION}}"
|
||||
priority: 1
|
||||
created_at: "{{CREATED_AT}}"
|
||||
completed_at: null
|
||||
result_summary: null
|
||||
experiment_slug: null
|
||||
|
||||
metrics:
|
||||
primary: "{{PRIMARY_METRIC}}" # e.g., "val_loss", "accuracy", "convergence_steps"
|
||||
baseline_value: null
|
||||
target_value: null
|
||||
current_best: null
|
||||
optimization_direction: "minimize" # minimize | maximize
|
||||
|
||||
trajectory:
|
||||
# Auto-populated from experiments
|
||||
# - experiment_id: run_001
|
||||
# hypothesis: H001
|
||||
# metric_value: 0.847
|
||||
# baseline: 0.812
|
||||
# delta: "+0.035"
|
||||
# wall_time_min: 23
|
||||
# change_summary: "Added cosine annealing"
|
||||
|
||||
resources:
|
||||
literature_papers: []
|
||||
related_work_notes: null
|
||||
code_references: []
|
||||
|
||||
continuity:
|
||||
last_session_at: "{{CREATED_AT}}"
|
||||
next_scheduled_loop: null
|
||||
current_experiment: null
|
||||
pending_tasks: []
|
||||
|
||||
notes: |
|
||||
# Agent notes — context for next session
|
||||
# What was I doing? What's next?
|
||||
Loading…
Add table
Add a link
Reference in a new issue