本页内容
一名资深分析师要花 4-6 个小时来调研一个市场问题:查询多个数据库、阅读 20-30 篇文章、交叉比对数据点,并将发现综合成一份连贯的简报。其中大部分时间都花在机械性工作上 -- 在 arXiv 或 SEC EDGAR 等平台上查找来源、提取相关段落、检查矛盾之处 -- 而非真正的分析。
CrawlForge 的 deep_research 工具将整个工作流压缩到一次 API 调用中。它会自动扩展你的查询、搜索多个来源、验证可信度、检测矛盾信息,并生成一份带引用的综合报告。本指南将向你展示如何围绕它构建一个生产级的调研智能体。
目录
- 什么是 Deep Research
- 架构概览
- 第 1 步:配置调研智能体
- 第 2 步:执行多来源调研
- 第 3 步:处理并验证发现
- 第 4 步:生成调研报告
- 第 5 步:构建周期性调研工作流
- credits 成本分析
- 成效与收益
- 常见问题
什么是 Deep Research
什么是 AI 中的深度调研(deep research)?深度调研是一种自动化的多阶段信息收集过程:AI 智能体系统性地查询多个来源、提取相关发现、交叉比对数据以确保准确性、检测矛盾,并将结果综合成一份带来源引用和可信度评分的结构化报告。
与只返回 10 个链接的简单网页搜索不同,deep_research 作为一个完整的调研工作流运行:
| 阶段 | 发生了什么 | 为何重要 |
|---|---|---|
| 查询扩展 | 生成同义词和相关查询 | 捕获单个查询会遗漏的结果 |
| 多来源搜索 | 并行查询 10-50 个来源 | 覆盖广度 |
| 内容提取 | 从每个来源中提取相关段落 | 信息深度 |
| 来源验证 | 为每个来源的可信度评分 | 质量保证 |
| 冲突检测 | 标记矛盾信息 | 准确性 |
| 综合 | 生成带引用的连贯报告 | 可执行的输出 |
深度调研是如何工作的?该工具接收一个调研主题,自动生成扩展的搜索查询,抓取并分析来自多个来源的页面,为来源可信度评分,检测跨来源的矛盾论断,并将所有内容综合成一份结构化报告。整个过程根据范围在 30-120 秒内完成。
架构概览
调研智能体将 deep_research 与辅助工具结合使用:
| 组件 | 工具 | Credits | 用途 |
|---|---|---|---|
| 核心调研 | deep_research | 10 | 多来源调查 |
| 后续提取 | extract_content | 2 | 深入特定来源 |
| 文档分析 | process_document | 3 | 解析被引用的 PDF 和报告 |
| 摘要生成 | summarize_content | 2 | 创建执行摘要 |
| 补充搜索 | search_web | 5 | 有针对性的后续查询 |
第 1 步:配置调研智能体
为不同类型的调研设置一个带可配置参数的调研智能体。
import { Client } from '@modelcontextprotocol/sdk/client/index.js';
const client = new Client({
name: 'research-agent',
version: '1.0.0',
});
interface ResearchConfig {
topic: string;
approach: 'broad' | 'focused' | 'academic' | 'current_events' | 'comparative';
maxSources: number;
maxDepth: number;
credibilityThreshold: number;
sourceTypes: Array<'academic' | 'news' | 'government' | 'commercial' | 'blog'>;
timeLimit: number;
}
// Preset configurations for common research types
const RESEARCH_PRESETS: Record<string, Partial<ResearchConfig>> = {
market: {
approach: 'broad',
maxSources: 30,
maxDepth: 5,
credibilityThreshold: 0.4,
sourceTypes: ['news', 'commercial', 'blog'],
timeLimit: 90000, // 90 seconds
},
technical: {
approach: 'focused',
maxSources: 20,
maxDepth: 3,
credibilityThreshold: 0.6,
sourceTypes: ['academic', 'blog', 'commercial'],
timeLimit: 60000,
},
competitive: {
approach: 'comparative',
maxSources: 25,
maxDepth: 4,
credibilityThreshold: 0.5,
sourceTypes: ['commercial', 'news', 'blog'],
timeLimit: 120000,
},
academic: {
approach: 'academic',
maxSources: 40,
maxDepth: 5,
credibilityThreshold: 0.7,
sourceTypes: ['academic', 'government'],
timeLimit: 120000,
},
};第 2 步:执行多来源调研
使用 deep_research 执行调研,并处理结构化输出。
interface ResearchResult {
synthesis: string;
sources: Array<{
url: string;
title: string;
credibilityScore: number;
relevantFindings: string[];
}>;
conflicts: Array<{
topic: string;
positions: Array<{ source: string; claim: string }>;
}>;
confidence: number;
queryExpansions: string[];
}
async function runResearch(config: ResearchConfig): Promise<ResearchResult> {
const result = await client.callTool({
name: 'deep_research',
arguments: {
topic: config.topic,
maxDepth: config.maxDepth,
maxUrls: config.maxSources,
enableSourceVerification: true,
enableConflictDetection: true,
enableSynthesis: true,
researchApproach: config.approach,
credibilityThreshold: config.credibilityThreshold,
sourceTypes: config.sourceTypes,
timeLimit: config.timeLimit,
outputFormat: 'comprehensive',
queryExpansion: {
enableSynonyms: true,
enableContextual: true,
maxVariations: 8,
},
},
});
return JSON.parse(result.content[0].text);
}
// Example: Research a market question
const marketResearch = await runResearch({
topic: 'MCP server adoption trends in enterprise AI development 2026',
...RESEARCH_PRESETS.market,
} as ResearchConfig);
console.log(`Research complete: ${marketResearch.sources.length} sources analyzed`);
console.log(`Confidence level: ${marketResearch.confidence}`);
console.log(`Conflicts found: ${marketResearch.conflicts.length}`);第 3 步:处理并验证发现
对于关键调研,可深入挖掘核心来源并验证具体论断。
async function validateFindings(
research: ResearchResult,
topN: number = 5
): Promise<{
validated: ResearchResult;
additionalInsights: string[];
}> {
const additionalInsights: string[] = [];
// Get full content from top sources
const topSources = research.sources
.sort((a, b) => b.credibilityScore - a.credibilityScore)
.slice(0, topN);
for (const source of topSources) {
// Extract full content for deeper analysis
const fullContent = await client.callTool({
name: 'extract_content',
arguments: { url: source.url },
});
const content = JSON.parse(fullContent.content[0].text);
// Check for PDF references in the source
if (content.content.includes('.pdf')) {
const pdfUrls = content.content.match(
/https?:\/\/[^\s]+\.pdf/g
) || [];
for (const pdfUrl of pdfUrls.slice(0, 2)) {
try {
const doc = await client.callTool({
name: 'process_document',
arguments: {
source: pdfUrl,
sourceType: 'pdf_url',
},
});
const docResult = JSON.parse(doc.content[0].text);
additionalInsights.push(
`From ${pdfUrl}: ${docResult.summary || docResult.content?.slice(0, 200)}`
);
} catch {
// PDF might be behind auth; skip
}
}
}
}
return {
validated: research,
additionalInsights,
};
}第 4 步:生成调研报告
将原始的调研输出转化为精炼、可分享的报告。
interface ResearchReport {
title: string;
executiveSummary: string;
keyFindings: string[];
detailedAnalysis: string;
conflictsAndCaveats: string[];
sources: Array<{ title: string; url: string; credibility: string }>;
methodology: string;
generatedAt: string;
}
async function generateReport(
research: ResearchResult,
reportTitle: string
): Promise<ResearchReport> {
// Generate executive summary
const summaryResult = await client.callTool({
name: 'summarize_content',
arguments: {
text: research.synthesis,
},
});
const summary = JSON.parse(summaryResult.content[0].text);
// Extract key findings as bullet points
const keyFindings = research.sources
.flatMap(s => s.relevantFindings)
.filter((finding, index, self) => self.indexOf(finding) === index)
.slice(0, 10);
return {
title: reportTitle,
executiveSummary: summary.summary,
keyFindings,
detailedAnalysis: research.synthesis,
conflictsAndCaveats: research.conflicts.map(
c => `Conflicting information on "${c.topic}": ${c.positions.length} different positions found across sources`
),
sources: research.sources.map(s => ({
title: s.title,
url: s.url,
credibility: s.credibilityScore > 0.7 ? 'High' : s.credibilityScore > 0.4 ? 'Medium' : 'Low',
})),
methodology: `Automated research using CrawlForge deep_research. ${research.sources.length} sources analyzed with ${research.queryExpansions.length} query variations. Credibility threshold: ${research.confidence}.`,
generatedAt: new Date().toISOString(),
};
}第 5 步:构建周期性调研工作流
对于持续的调研需求,可设置定时工作流来跟踪主题随时间的演变。
interface RecurringResearch {
id: string;
topic: string;
schedule: 'daily' | 'weekly' | 'monthly';
config: ResearchConfig;
history: ResearchReport[];
}
async function runRecurringResearch(
research: RecurringResearch
): Promise<ResearchReport> {
// Run the research
const result = await runResearch(research.config);
// Generate the report
const report = await generateReport(
result,
`${research.topic} - ${new Date().toISOString().split('T')[0]}`
);
// Compare with previous report if available
if (research.history.length > 0) {
const previousReport = research.history[research.history.length - 1];
const newFindings = report.keyFindings.filter(
f => !previousReport.keyFindings.includes(f)
);
if (newFindings.length > 0) {
console.log(`\nNew findings since last report:`);
newFindings.forEach(f => console.log(` - ${f}`));
}
}
research.history.push(report);
return report;
}credits 成本分析
deep_research 每次调用 10 credits,是 CrawlForge 单价最高的工具,但它替代了原本需要 15-30 次单独工具调用才能完成的工作。
| 调研类型 | 使用的工具 | 总 credits | 手动等效耗时 |
|---|---|---|---|
| 快速主题调研 | deep_research | 10 | 2-3 小时 |
| 含来源验证 | + extract_content x5 | 20 | 4-5 小时 |
| 含 PDF 分析 | + process_document x2 | 26 | 5-6 小时 |
| 完整报告生成 | + summarize_content | 28 | 6-8 小时 |
调研团队的月度成本:
| 用量 | Credits/月 | 推荐套餐 |
|---|---|---|
| 10 份报告/月 | 280 | Free 套餐(1,000 credits) |
| 50 份报告/月 | 1,400 | Hobby($19/月,5,000 credits) |
| 200 份报告/月 | 5,600 | Professional($99/月,50,000 credits) |
成效与收益
一个 CrawlForge 调研智能体能带来:
- 速度:在 2-5 分钟内完成一份调研简报,而非 4-6 小时
- 广度:每次查询分析 20-50 个来源,而手动只能 5-10 个
- 准确性:内置的冲突检测能捕获人类遗漏的矛盾
- 一致性:每次都采用相同方法,没有研究者偏见
- 可审计性:每个来源都附带可信度评分的引用
该工具对周期性调研尤其强大 -- 每周跟踪市场如何演变、监控监管变化,或让竞争格局文档保持最新。
常见问题
deep_research 与 Perplexity 或 ChatGPT Search 相比如何?
deep_research 分析的来源明显更多(每次查询最多 50 个,而基于聊天的搜索只有 5-10 个),包含可信度评分,能检测来源之间的冲突,并返回可供你以编程方式处理的结构化数据。基于聊天的工具更适合快速的对话式回答。CrawlForge 更适合系统化、可重复的调研工作流。
我可以用 deep_research 做学术调研吗?
可以。设置 researchApproach: 'academic' 和 sourceTypes: ['academic', 'government'] 以优先采用学术来源。可信度阈值会自动过滤掉低质量来源。请注意,deep_research 处理的是可公开访问的网页来源 -- 它无法访问付费墙后的论文。
每次调用 10 credits 值得吗?
考虑一下替代方案:手动操作时,你会用到 search_web(5 credits)+ 多次 extract_content 调用(每次 2 credits)+ analyze_content(每次 3 credits)。对 20 个来源这样做将耗费 100 多 credits。deep_research 将所有这些打包进一次 10 credits 的调用,并内置综合功能。
立即试用深度调研。免费开始,赠送 1,000 credits -- 足够生成 100 份调研报告。无需信用卡。
相关资源:
亲自试一试——无需注册
在 Playground 中运行 CrawlForge 的 27 个抓取与提取工具中的任意一个,然后免费开始,获取 1,000 credits。
1,000 免费 credits • 每月补充 • 无需信用卡
标签
及时获取最新洞察
将教程、产品更新与 Web 抓取技巧直接发送到你的收件箱。
拒绝垃圾邮件,随时可取消订阅。