Web research and briefing
Research Briefing Stack
Tavily finds and extracts sources, a LangGraph loop plans and drafts, and Langfuse keeps every run inspectable.
The job
- Turn a question into a short brief with checkable sources
- Keep a trace of what the agent searched, read, and spent
Expected output: A short brief where every load-bearing claim carries a link, plus a trace of the searches and costs behind it.
Components, and why each one is here
A web access API built for AI agents: search, extract, map, crawl, and research endpoints behind one key.
Why this component: Discovery and reading are one vendor here, so the agent loop stays separate and swappable.
A low level orchestration framework for building, managing and deploying long running stateful agents.
Why this component: Research needs pause, retry, and re-plan, which a graph makes explicit instead of hiding in a while loop.
Open source LLM engineering platform for tracing, prompt management, evaluation, and debugging of AI applications.
Why this component: Without traces you cannot tell which searches were worth their credits.
Sequence
Frame the question: the decision it supports, the date range that counts as current, and the source types you trust.
Agent drafts 3-6 search queries and shows them before running any of them.
Tavily searches and extracts the top pages as full text, not snippets alone.
Agent drafts the brief with a link attached to every claim that matters.
Human opens the load-bearing sources, then approves, edits, or sends the agent back.
Langfuse traces record which searches paid off, so later runs start smarter.
Prerequisites
- Tavily API key
- Python or TypeScript runtime for LangGraph
- A model API key
- Langfuse project, cloud or self-hosted
Credentials
- TAVILY_API_KEY for Tavily calls
- A model API key for planning and drafting
- LANGFUSE_PUBLIC_KEY and LANGFUSE_SECRET_KEY for traces
Human checkpoints
- After the search plan, before searching: bad queries waste credits and anchor the brief on the wrong sources.
- Before the brief is shared or acted on: a searched claim reads just as confident whether the source is a regulator or a content farm.
When it breaks
Search results are thin or off-topic
Re-plan with narrower queries and named source types instead of padding from weak hits.
A key page blocks extraction
Fall back to a browser tool or a second source for the same fact, and mark where sourcing is thin.
Costs creep up over days
Read the Langfuse traces, cut crawl depth, and cap results per query before raising any budget.
Swapping components
Exa or Brave Search API can take the search seat with parsing changes; the graph and tracing layers stay.
Cost shape and freshness
Tavily credits per search and extraction, model tokens for planning and drafting, and Langfuse usage on the hosted tier. Nothing here needs a paid plan to start.
Every component links to its verified profile, checked 2026-10-07. A stack is an editorial recipe, not a tested benchmark: run it on a small job first and keep the checkpoints in place. Spotted an error? Send a correction. Back to the stack index.