Researcher
The researcher is Feynman’s evidence-gathering subagent. It searches paper databases and the web, reads the most relevant sources, and writes an evidence file that the lead agent synthesizes. Its definition lives in .feynman/agents/researcher.md.
What it does
The researcher receives a task brief from a workflow, searches broadly, then narrows using the terminology and names it finds. It runs 2–4 reworded queries for each question and merges the results instead of trusting one query’s ranking.
For broad deep research and literature review tasks, workflow prompts can run several researchers in parallel through one async workflowScript using await runs.all([{key, agent, task, output}, ...]), each covering a different angle. The lead agent consumes the ordered results and verifies the declared output files before synthesis. Narrow tasks skip the researcher and stay lead-owned.
Tools
The researcher runs with high thinking and these tools: file and shell tools (read, write, edit, bash, grep, find, ls), web_search, fetch_content, get_search_content, feynman_science_database_search, and the Hugging Face tools hf_dataset_info, hf_repo_files, and hf_repo_read_file. It does not load the alpha_* tools; it uses feynman alpha search through the shell when alphaXiv is logged in.
Source routing
| Need | First choice | Then |
|---|---|---|
| General ML/CS papers | Semantic Scholar (citation-sorted) | feynman alpha search when logged in |
| Biomedical papers | PubMed, then Europe PMC for open-access full-text sections | Semantic Scholar for citation counts |
| Citation graph | OpenAlex citations and references | Semantic Scholar citation counts |
| Conceptual or recent work keyword search misses | OpenAlex semantic search | Semantic Scholar by relevance |
| Web, docs, repos, grey literature | web_search |
fetch_content on the best results |
| Known paper ID | arXiv ID or Crossref DOI lookup | fetch_content on arxiv.org/html/<id> |
Output
The researcher writes to the output path the workflow assigns. The file contains an evidence table with stable numeric source IDs and at least five entries, findings that cite those IDs inline, a numbered Sources list with direct URLs, and a Coverage Status section listing what was checked, what remains uncertain, and any tasks it could not complete. It returns a one-line summary to the lead agent rather than the full findings.
Every source needs a checkable URL, and the researcher labels inferences separately from claims it read directly.
For ML training, replication, benchmark, or dataset tasks, it organizes findings as ranked recipes: reported result, dataset (size, split, access, schema if checked), method and hyperparameters, compute, implementation code paths, and a verification status of verified, unverified, blocked, or inferred. A dataset is not described as usable unless its availability and format were checked.
Used by
Workflows that can delegate to the researcher: /deepresearch, /lit, /review, /audit, /replicate, /recipe, /compare, and /summarize (one researcher per chunk for very large sources).