NeoGraph 0.10.0
A C++17 Graph Agent Engine Library — LangGraph for C++
Loading...
Searching...
No Matches
deep_research_graph.h File Reference

Deep Research agent — NeoGraph port of langchain-ai/open_deep_research. More...

#include <neograph/graph/engine.h>
#include <neograph/provider.h>
#include <neograph/tool.h>
#include <memory>
#include <string>
#include <vector>
Include dependency graph for deep_research_graph.h:

Go to the source code of this file.

Classes

struct  neograph::graph::DeepResearchConfig
 Configuration knobs for the Deep Research graph. More...
 

Functions

std::unique_ptr< GraphEngineneograph::graph::create_deep_research_graph (std::shared_ptr< Provider > provider, std::vector< std::unique_ptr< Tool > > tools, DeepResearchConfig cfg={})
 Build the Deep Research graph.
 

Detailed Description

Deep Research agent — NeoGraph port of langchain-ai/open_deep_research.

A supervisor/researcher pattern: a lead agent plans research topics, fans out parallel researcher agents (each running its own ReAct loop against web-search tools), compresses their findings, and synthesises a final markdown report.

Unlike LangGraph's Python implementation, this runs as a single compiled C++ graph. The supervisor issues ConductResearch tool-calls which the dispatcher node converts into parallel Sends to a researcher node that embeds the LLM + tool loop inline.

Definition in file deep_research_graph.h.

Function Documentation

◆ create_deep_research_graph()

std::unique_ptr< GraphEngine > neograph::graph::create_deep_research_graph ( std::shared_ptr< Provider provider,
std::vector< std::unique_ptr< Tool > >  tools,
DeepResearchConfig  cfg = {} 
)

Build the Deep Research graph.

Expected channels on the initial RunConfig::input:

  • user_query (string): the research question.

On completion, result.output["channels"]["final_report"] holds the markdown report.

Parameters
providerLLM provider (SchemaProvider with the "claude" schema).
toolsSearch/fetch tools made available to every researcher. Typical set: web_search, fetch_url.
cfgIteration budgets and model id.

References neograph::graph::create_deep_research_graph().

Referenced by neograph::graph::create_deep_research_graph().