deep-research-kit: Claude Code’s Research Engine for Resumable, Source-Checked Investigation

A 7-phase orchestration system that turns research into a stateful workflow, grades evidence before synthesis, and keeps queries anchored to the current year.

8 min read • View on GitHub • More from fivetaku

A wide editorial scene shows a research desk transformed into a mechanical workflow. Source cards with quality grades sit beside a seven-stage relay that passes a dossier from compartment to compartment, with a small clock embedded in one stage to signal date-aware search.
Research is not a single answer here. It is a relay, with gates, scores, and a memory of where it stopped.
Key Takeaways

Most AI research tools are built to impress you in one shot. You ask a question, the model searches, then it delivers a fluent answer that may or may not deserve your trust. deep-research-kit takes a different bet: research should behave like a lab process, not a chat response.

That matters because real research is messy. Sources conflict, searches drift stale, and good answers often require backing up, refining a query, and trying again. This repo encodes that mess into a controlled pipeline, so Claude Code can stop acting like a fast summarizer and start acting like a disciplined operator.

The problem with one-shot AI research

The failure mode is familiar. A model retrieves a few pages, blends them together, and produces a polished paragraph that hides weak evidence behind confident prose. If the session breaks, the state is gone. If the sources are thin, the synthesis still comes out looking complete.

deep-research-kit is built to push back on that default. It makes the investigation resumable, forces phase discipline, and treats weak evidence as a reason to revise the search instead of just moving on.

Deep Research AI 기반 ë©€í‹°ì—ì´ì „íŠ¸ 딥리서치 시스템 -- 소스 검증과 구조화된 리포트를 자동으로 생성합니다.

Project README, Repository documentation · fivetaku/deep-research-kit README

Inside the 7-phase research machine

The system is organized as a staged pipeline rather than a loose bundle of prompts. Research begins with scope and decomposition, moves into retrieval, then triangulation and synthesis, and finally critique and packaging. The point of the phases is not ceremony. It is control.

The core idea is simple and strict. Every phase depends on evidence from the last one, and the state file remembers where the work stopped.

The architecture matters because it refuses to let a later phase pretend earlier work was sufficient. If retrieval is weak, triangulation has to say so. If triangulation fails, synthesis does not get to hide the gap with better wording. That is a small change in shape with a big change in output quality.

Why the state machine matters

The orchestration layer, centered on orchestrator.py, is what makes the whole system feel persistent. It stores research state in JSON, tracks phase status, and allows a session to resume without pretending the previous work never happened. That turns a fragile agent run into a recoverable process.

class ResearchPhase(Enum):
    INIT = "init"
    DECOMPOSE = "decompose"
    RETRIEVE = "retrieve"
    TRIANGULATE = "triangulate"
    SYNTHESIZE = "synthesize"
    CRITIQUE = "critique"
    PACKAGE = "package"
    COMPLETED = "completed"

class PhaseStatus(Enum):
    PENDING = "pending"
    RUNNING = "running"
    COMPLETE = "complete"
    FAILED = "failed"

That kind of structure sounds boring until the CLI crashes, or the user stops mid-session, or a subtopic needs a second pass. Then it becomes the difference between a durable investigation and a lost conversation.

Evidence is not equal: the quality rubric

The repo’s epistemic backbone is its quality rubric. Instead of treating every source as interchangeable, it assigns weight by credibility, freshness, and usefulness. The key move is not just counting sources. It is ranking them.

GradeWhat it meansHow the system treats it
APrimary, high-confidence evidence such as peer-reviewed or authoritative technical sourcesStrong weight in triangulation and synthesis
BSolid secondary evidence with clear sourcingUseful support, but not enough alone
CMixed or indirect evidenceCan fill gaps, but needs corroboration
DWeak or partial evidenceFlagged for caution and usually not decisive
EAnecdotal or low-trust materialUseful mainly as a signal to search elsewhere

This is what separates a research workflow from a content generator. A single strong source can outweigh a pile of weak ones, and the system is willing to backtrack when the evidence does not hold up.

A close-up editorial illustration shows three source cards on a balance scale. One card stamped A weighs the scale down, while two weaker cards stamped D and E barely shift it. A branching arrow splits away from the weak path and toward a refined route, showing how the workflow abandons poor evidence.
The rubric is the point. Source volume is not the same as source quality, and the workflow knows the difference.

How it avoids stale answers

One of the smartest parts of the system is its date awareness. Query generation is nudged toward the current year and recency operators, which reduces the chance that a model leans on old assumptions or stale web pages. That is a simple fix for one of the most common research failures in LLM workflows.

This is not about making search cleverer in the abstract. It is about anchoring the investigation in the present tense of the web, so the output tracks what is actually current rather than what the model vaguely remembers.

Parallel agents, but with boundaries

The repo uses parallel task execution, but it does not confuse concurrency with freedom. Multiple agents can explore in parallel, yet they still feed a single process with phase discipline and shared state. That gives you speed without turning the workflow into a pile of disconnected guesses.

DimensionTypical agent chaindeep-research-kit
StateOften ephemeralPersisted in JSON and resumable
ProgressionMostly linearPhase-gated with backtracking
SourcesCollected as foundGraded and weighted
SearchCan drift staleDate-aware by design
ConcurrencyFast but looseParallel with boundaries

The design choice is subtle. It does not ask whether parallelism is possible. It asks how much parallelism the process can absorb before evidence quality starts to slip.

What this changes compared with normal deep-research tools

Compared with a one-shot search-and-summarize tool, deep-research-kit is less theatrical and more reliable. Compared with a simpler agent chain, it adds memory, phase gates, and evidence grading. Compared with generic deep research products, it is more explicit about why one source should beat three weaker ones.

That makes it useful for people who care about repeatability. If you need a report you can defend, not just a response you can paste, the difference is not cosmetic.

Capabilitydeep-research-kitTypical deep research tool
Resumable workflowYesOften no
Evidence gradingExplicit A to E rubricUsually implicit
BacktrackingBuilt inAd hoc or absent
Temporal awarenessQuery generation stays currentOften forgotten
Claude Code nativeYesOften external or wrapped

Who built this for whom

This is not a mass-market toy. It reads like a tool for Claude Code power users, technically fluent researchers, and operators who want their AI workflows to be inspectable. The multilingual documentation and disciplined file structure reinforce that sense of maturity.

The intended user is someone who values process as much as output. They do not want a black box that sounds smart. They want a system that can explain where its evidence came from, where it got stuck, and how it recovered.