En esta página
Un analista sénior dedica entre 4 y 6 horas a investigar una sola pregunta de mercado: consultar varias bases de datos, leer entre 20 y 30 artículos, cruzar datos y sintetizar los hallazgos en un informe coherente. La mayor parte de ese tiempo se va en trabajo mecánico -- encontrar fuentes en plataformas como arXiv o SEC EDGAR, extraer párrafos relevantes, comprobar contradicciones -- y no en el análisis en sí.
La herramienta deep_research de CrawlForge comprime todo este flujo de trabajo en una sola llamada a la API. Expande automáticamente tu consulta, busca en múltiples fuentes, verifica la credibilidad, detecta información contradictoria y produce un informe sintetizado con citas. Esta guía te muestra cómo construir un agente de investigación de producción en torno a ella.
Tabla de contenidos
- Qué es la investigación profunda
- Resumen de la arquitectura
- Paso 1: Configura el agente de investigación
- Paso 2: Ejecuta investigación multifuente
- Paso 3: Procesa y valida los hallazgos
- Paso 4: Genera informes de investigación
- Paso 5: Crea flujos de investigación recurrentes
- Análisis del coste en credits
- Resultados y beneficios
- Preguntas frecuentes
Qué es la investigación profunda
¿Qué es la investigación profunda (deep research) en IA? La investigación profunda es un proceso automatizado de recopilación de información en varias etapas en el que un agente de IA consulta sistemáticamente múltiples fuentes, extrae hallazgos relevantes, cruza datos para garantizar la precisión, detecta contradicciones y sintetiza los resultados en un informe estructurado con citas de fuentes y puntuaciones de credibilidad.
A diferencia de una simple búsqueda web que devuelve 10 enlaces, deep_research funciona como un flujo de trabajo de investigación completo:
| Etapa | Qué ocurre | Por qué importa |
|---|---|---|
| Expansión de la consulta | Genera sinónimos y consultas relacionadas | Captura resultados que una sola consulta pasaría por alto |
| Búsqueda multifuente | Consulta de 10 a 50 fuentes en paralelo | Amplitud de cobertura |
| Extracción de contenido | Extrae los pasajes relevantes de cada fuente | Profundidad de la información |
| Verificación de fuentes | Puntúa la credibilidad de cada fuente | Control de calidad |
| Detección de conflictos | Marca la información contradictoria | Precisión |
| Síntesis | Produce un informe coherente con citas | Resultado accionable |
¿Cómo funciona la investigación profunda? La herramienta toma un tema de investigación, genera automáticamente consultas de búsqueda expandidas, rastrea y analiza páginas de múltiples fuentes, puntúa la credibilidad de las fuentes, detecta afirmaciones contradictorias entre ellas y lo sintetiza todo en un informe estructurado. Todo el proceso se ejecuta en entre 30 y 120 segundos según el alcance.
Resumen de la arquitectura
Un agente de investigación combina deep_research con herramientas de apoyo:
| Componente | Herramienta | Credits | Propósito |
|---|---|---|---|
| Investigación principal | deep_research | 10 | Investigación multifuente |
| Extracción de seguimiento | extract_content | 2 | Profundizar en fuentes concretas |
| Análisis de documentos | process_document | 3 | Analizar PDFs e informes citados |
| Generación de resúmenes | summarize_content | 2 | Creación del resumen ejecutivo |
| Búsqueda complementaria | search_web | 5 | Consultas de seguimiento específicas |
Paso 1: Configura el agente de investigación
Configura un agente de investigación con parámetros ajustables para distintos tipos de investigación.
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,
},
};Paso 2: Ejecuta investigación multifuente
Ejecuta la investigación con deep_research y gestiona la salida estructurada.
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}`);Paso 3: Procesa y valida los hallazgos
Para investigaciones críticas, profundiza en las fuentes clave y valida afirmaciones concretas.
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,
};
}Paso 4: Genera informes de investigación
Transforma la salida bruta de la investigación en informes pulidos y compartibles.
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(),
};
}Paso 5: Crea flujos de investigación recurrentes
Para necesidades de investigación continuas, configura flujos de trabajo programados que rastreen cómo evolucionan los temas con el tiempo.
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;
}Análisis del coste en credits
deep_research, a 10 credits por llamada, es la herramienta individual más cara de CrawlForge, pero sustituye lo que de otro modo requeriría entre 15 y 30 llamadas a herramientas individuales.
| Tipo de investigación | Herramientas usadas | Credits totales | Equivalente manual |
|---|---|---|---|
| Investigación rápida de un tema | deep_research | 10 | 2-3 horas |
| Con validación de fuentes | + extract_content x5 | 20 | 4-5 horas |
| Con análisis de PDFs | + process_document x2 | 26 | 5-6 horas |
| Generación de informe completo | + summarize_content | 28 | 6-8 horas |
Costes mensuales para un equipo de investigación:
| Uso | Credits/mes | Plan recomendado |
|---|---|---|
| 10 informes/mes | 280 | Plan gratuito (1.000 credits) |
| 50 informes/mes | 1.400 | Hobby ($19/mes, 5.000 credits) |
| 200 informes/mes | 5.600 | Professional ($99/mes, 50.000 credits) |
Resultados y beneficios
Un agente de investigación de CrawlForge ofrece:
- Velocidad: completa un informe de investigación en 2-5 minutos en lugar de 4-6 horas
- Amplitud: analiza de 20 a 50 fuentes por consulta frente a 5-10 manualmente
- Precisión: la detección de conflictos integrada captura contradicciones que los humanos pasan por alto
- Consistencia: la misma metodología cada vez, sin sesgo del investigador
- Auditabilidad: cada fuente citada con puntuaciones de credibilidad
La herramienta es especialmente potente para la investigación recurrente -- rastrear cómo evoluciona un mercado cada semana, monitorizar cambios regulatorios o mantener al día un documento del panorama competitivo.
Preguntas frecuentes
¿Cómo se compara deep_research con Perplexity o ChatGPT Search?
deep_research analiza muchas más fuentes (hasta 50 por consulta frente a las 5-10 de la búsqueda basada en chat), incluye puntuación de credibilidad, detecta conflictos entre fuentes y devuelve datos estructurados que puedes procesar de forma programática. Las herramientas basadas en chat son mejores para respuestas rápidas y conversacionales. CrawlForge es mejor para flujos de investigación sistemáticos y repetibles.
¿Puedo usar deep_research para investigación académica?
Sí. Configura researchApproach: 'academic' y sourceTypes: ['academic', 'government'] para priorizar fuentes académicas. El umbral de credibilidad filtra automáticamente las fuentes de baja calidad. Ten en cuenta que deep_research funciona con fuentes web de acceso público -- no puede acceder a artículos tras muros de pago.
¿Merecen la pena los 10 credits por llamada?
Considera la alternativa: manualmente, usarías search_web (5 credits) + varias llamadas a extract_content (2 credits cada una) + analyze_content (3 credits cada una). Hacer esto para 20 fuentes costaría más de 100 credits. deep_research empaqueta todo esto en una sola llamada de 10 credits con síntesis integrada.
Prueba la investigación profunda ahora mismo. Empieza gratis con 1.000 credits -- suficiente para 100 informes de investigación. No se requiere tarjeta de crédito.
Recursos relacionados:
Pruébalo tú mismo — sin necesidad de registrarte
Ejecuta cualquiera de las 27 herramientas de scraping y extracción de CrawlForge en el playground y luego empieza gratis con 1,000 credits.
1,000 credits gratis • Se recargan cada mes • No se requiere tarjeta de crédito
Etiquetas
Sobre el autor
Mantente al día con los últimos artículos
Recibe tutoriales, novedades del producto y consejos de web scraping en tu bandeja de entrada.
Sin spam. Cancela tu suscripción cuando quieras.