Falcon — Deep Scientific Literature Synthesis (FutureHouse Platform)
Falcon is FutureHouse's high-reasoning literature agent. Same retrieval backbone as Crow (PaperQA2 on Semantic Scholar / Crossref / Unpaywall), but using LITERATURE_HIGH mode which enables extended reasoning, broader paper coverage, and produces synthesis-quality answers suitable for review-style writing.
Use Falcon when the user asks for:
- A thematic review of a topic ("Summarize the state of evidence on …")
- Gap analysis ("What's missing from the literature on …")
- Comparison across mechanisms / drugs / methods
- Background section drafting for a paper
For one-shot factual questions, Crow is faster and cheaper — only escalate to Falcon when depth matters.
Prerequisites
pip install edison-clientEDISON_API_KEYfrom https://platform.edisonscientific.com/profile
Minimal usage
import os
from edison_client import EdisonClient, JobNames
client = EdisonClient(api_key=os.environ["EDISON_API_KEY"])
resp = client.run_tasks_until_done({
"name": JobNames.LITERATURE_HIGH,
"query": (
"Synthesize the current evidence for and against using GLP-1 receptor "
"agonists in the treatment of non-alcoholic steatohepatitis (NASH). "
"Cover mechanism, key clinical trials, head-to-head comparisons with "
"other therapies, and remaining uncertainties."
),
})
print(resp.formatted_answer)
formatted_answer contains the synthesis with inline citations and a sorted reference list. Use it directly as the body of a "Background" or "Related Work" section.
Recipes
Multi-section review by parallel queries
Falcon answers one question at a time. For a multi-section review, fire several queries in parallel and stitch:
import asyncio
from edison_client import EdisonClient, JobNames
sections = {
"Mechanism": "Summarize the molecular mechanism of GLP-1RA action in hepatocytes.",
"Trials": "Review phase 2 and 3 RCTs of GLP-1RAs in NASH.",
"Comparators": "Compare GLP-1RA efficacy in NASH vs FGF21 analogs and pioglitazone.",
"Gaps": "What aspects of GLP-1RA use in NASH remain underexplored?",
}
async def main():
client = EdisonClient(api_key=os.environ["EDISON_API_KEY"])
tasks = [{"name": JobNames.LITERATURE_HIGH, "query": q} for q in sections.values()]
answers = await client.arun_tasks_until_done(tasks)
for h, a in zip(sections, answers):
print(f"## {h}\n\n{a.formatted_answer}\n")
asyncio.run(main())
Increase max steps / timeout for very deep synthesis
from edison_client.models.app import TaskRequest
resp = client.run_tasks_until_done(TaskRequest(
name=JobNames.LITERATURE_HIGH,
query="...",
runtime_config={"max_steps": 60, "timeout": 1800},
))
Verbose mode — get retrieved papers + intermediate state
resp = client.run_tasks_until_done(
{"name": JobNames.LITERATURE_HIGH, "query": "..."},
verbose=True,
)
# resp.environment_frame contains contexts, paper metadata, scored chunks
papers = resp.environment_frame["docs"]
Cost / latency expectations
- Latency: 1–8 minutes per query (vs Crow's 20–90 s)
- Credits: roughly 5–10× a Crow call
- Quality: SOTA on LitQA2 / WikiCrow benchmarks; outputs are typically usable in published reviews after light editing
When to fall back to Crow
If your question is fact-shaped ("what dose", "what year", "did paper X show Y"), call Crow instead — Falcon's extra reasoning budget is wasted and you'll burn 10× the credits for the same answer.