369 čtení
369 čtení

Vytvořte agenta AI, který zkoumá vaše konkurenty

podle aifa27m2025/07/02
Read on Terminal Reader

Příliš dlouho; Číst

Tento komplexní průvodce učí vývojáře, jak vytvořit hlubokého výzkumného agenta AI podobného funkci "Deep Research" společnosti Perplexity. Dozvíte se o recursivní architektuře vyhledávání, integraci AI-nativního vyhledávání a o tom, jak kombinovat externí webové údaje s interními databázemi znalostí. Článek poskytuje kód TypeScript připravený k výrobě pomocí Next.js 15, OpenAI a exa.ai, spolu s architektonickými principy pro vytváření systémů AI, které provádějí výzkum jako lidští analytici, ale v strojovém měřítku.
featured image - Vytvořte agenta AI, který zkoumá vaše konkurenty
aifa HackerNoon profile picture

Vytvořte si vlastní zmatek: architektura za hlubokým výzkumem poháněným AI

⚠️ Pro vývojáře probouzející výzva

Mnoho programátorů v nadcházejících letech ztratí své zaměstnání pro AI, ale ne ty, kteří se naučí stavět.Vaším posláním není jen naučit se používat ChatGPT nebo Claude - je to stát se tvůrcem takových systémů, budovat další Perplexity spíše než jen používat.

⚠️ Pro vývojáře probouzející výzva

Mnoho programátorů v nadcházejících letech ztratí své zaměstnání pro AI, ale ne ty, kteří se naučí stavět.Vaším posláním není jen naučit se používat ChatGPT nebo Claude - je to stát se tvůrcem takových systémů, budovat další Perplexity spíše než jen používat.

AIFA for deep researching starter


Otevřený zdroj :https://github.com/aifa-agi/aifa-deep-researcer-starter/

1. What You'll Master by Reading This Article

Co zvládnete čtením tohoto článku

Tento článek poskytuje kompletní architektonický blueprint pro budování vlastního hlubokého výzkumného agenta AI, podobně jako funkce "Deep Research" společnosti Perplexity.

Technical ArchitectureJak navrhnout recursivní vyhledávací systém pomocí Next.js 15, OpenAI a exa.ai, který skutečně funguje ve výrobě

Mental ModelsProč je hluboké vyhledávání stromovou strukturou, nikoliv lineárním procesem – a jak to změní vše o výzkumu AI

Practical SolutionsJak integrovat externí webové vyhledávání s interními vektorovými databázemi, abyste vytvořili skutečně jedinečný obsah, který vaši konkurenti nemohou replikovat

Performance OptimizationJak spravovat serverové zdroje a uživatelské zkušenosti během dlouhodobých operací AI bez narušení banky

Production-Ready CodeKonkrétní implementace TypeScript s využitím moderních technologických zásob, které můžete nasadit dnes

Na konci tohoto článku budete mít jasné pochopení toho, jak vybudovat vlastní SaaS pro hluboký výzkum, který lze integrovat do jakéhokoli produktu - což vám dává konkurenční výhodu, kterou je opravdu těžké replikovat.

1.1. The Technology Stack That Powers Intelligence

Pro implementaci našeho hlubokého výzkumného agenta AI používáme moderní technologickou hromadu optimalizovanou pro aplikace připravené k výrobě s intenzivním využitím umělé inteligence.

1.1.1. Frontend and Framework

React 19Nejnovější verze s vylepšeným výkonem a novými funkcemi souběžného renderování, které hladce zvládnou složité interakce s AI

Next.js 15Plně funkční rámec React s App Router, včetně podpory paralelních a přepisovacích tras (ideální pro složité pracovní postupy AI)

TypeScript 5Přísné psaní pro spolehlivost kódu a vynikající zkušenosti vývojářů při budování složitých systémů AI

1.1.2. AI and Integrations

OpenAI SDK (v4.96.2)Oficiální SDK pro integraci s GPT-4 a dalšími modely OpenAI s plnou podporou streamování

AI SDK (v4.1.45)Univerzální knihovna pro práci s různými poskytovateli umělé inteligence, která vám dává flexibilitu při přepínání modelů

Exa.js (v1.4.10)Specializovaný vyhledávač zaměřený na AI pro sémantické vyhledávání, které skutečně rozumí kontextu

1.1.3. UI and Styling

Tailwind CSS 4Utility-first CSS framework pro rychlý vývoj bez ztráty kvality designu

Radix UIBezhlavé komponenty pro vytváření přístupných rozhraní, které fungují na všech zařízeních

Lucide ReactModerní knihovna ikon s konzistentním designovým jazykem

shadcn/uiKomponentový systém postavený na Radix UI a Tailwind CSS pro profesionální rozhraní

1.1.4. Forms and Validation

React Hook FormVysoce výkonná knihovna pro zpracování formulářů, která nezpomaluje vaše rozhraní AI

ZodSchéma validace TypeScript-first s statickým psaním, které chyby zachycuje dříve, než dorazí do výroby

Hookform ResolversBezproblémová integrace mezi Zod a React Hook Form

1.1.5. Content Processing

React MarkdownZobrazování obsahu Markdown s podporou komponent pro zprávy bohaté na AI

date-fnsModerní knihovna pro zpracování dat v časových řádcích výzkumu AI

Why This Stack Matters

Tato technologie poskytujehigh performance, ,type safety, ascalabilityKaždá volba je zde záměrná – od paralelních tras Next.js 15, které se zabývají složitými pracovními postupy AI, až po Exa.js, které poskytují sémantické možnosti vyhledávání, které umožňují hluboký výzkum.

The result?Systém, který dokáže zvládnout výpočetní složitost recursivního výzkumu umělé inteligence při zachování standardů uživatelského zážitku, které moderní aplikace vyžadují.

Jste připraveni vidět, jak se tyto kousky hodí dohromady, aby vytvořily něco skutečně mocného?

Revoluce AI nepřichází – je tady. A vytváří silný rozdíl v komunitě vývojářů. Na jedné straně jsou ti, kteří vidí AI jako jen další nástroj pro zvýšení produktivity, pomocí ChatGPT pro psaní funkcí a debugování kódu. Na druhé straně jsou vývojáři, kteří rozumí základní pravdě:the real opportunity isn't in using AI—it's in building it.

Zatímco většina vývojářů se učí efektivněji prosazovat ChatGPT, menší skupina zvládá architekturu systémů, jako jsou Perplexity, Claude a vlastní agenti umělé inteligence.

The harsh realitySpolečnosti nepotřebují vývojáře, kteří mohou používat nástroje umělé inteligence – potřebují vývojáře, kteří mohou budovat systémy umělé inteligence.Rozdíl mezi těmito dvěma dovednostmi určí, kdo prosperuje a kdo se stává zastaralým v příštím ekonomickém cyklu.

Tento článek poskytuje kompletní architektonický blueprint pro budování vlastního agenta pro hluboký výzkum poháněného AI, podobně jako funkce "Deep Research" společnosti Perplexity. Dozvíte se nejen o technické implementaci, ale o mentálních modelech a designových principech, které oddělují amatérské integrace AI od systémů připravených k výrobě, které se mohou stát konkurenčními výhodami.

What you'll master by the end:

  • Recursivní architektura vyhledávání: Jak navrhnout systémy, které myslí ve stromech, nikoliv liniích
  • AI-first data pipelines: Integrace externího webového vyhledávání s interními znalostními databázemi
  • Orchestrace agentů: budování systémů AI, které mohou vyhodnocovat, iterovat a zlepšovat vlastní výstupy
  • Výrobní úvahy: Správa serverových zdrojů, časových úseků a uživatelských zkušeností pro dlouhodobé operace AI

Cílem není dát vám kód k kopírování. Je to přenést architektonické myšlení, které vám umožní navrhnout systémy AI pro jakoukoli doménu, případ použití a jakýkoli rozsah.

Připraveni přejít od spotřebitele AI k architektu AI?Pojďme se ponořit do toho, proč tradiční LLM potřebují "průvodce psa", aby efektivně navigoval na internetu.

2. Introduction: Life After ChatGPT Changed Everything

Úvod: Život po ChatGPT změnil všechno

ChatGPT a další velké jazykové modely (LLM) zásadně změnily způsob, jakým komunikujeme s informacemi. ale pokud jste s těmito nástroji budovali vážné aplikace, pravděpodobně jste narazili na stejnou zeď, kterou jsem udělal:models only know the world up to their training cutoff date, and they hallucinate with alarming confidence.

2.1. The Problem: Band-Aid Web Search in Modern LLMs

Týmy za ChatGPT, Claude a dalšími modely se to pokoušely vyřešit pomocí vestavěného webového vyhledávání.To zní skvěle v teorii, ale vykopejte hlouběji a najdete některé vážné architektonické nedostatky, které z něj činí nevhodné pro výrobní aplikace:

Surface-Level Search: Systém provádí jeden nebo dva vyhledávací dotazy, zachycuje první výsledky a nazývá to den.

Zero Follow-ThroughPokud první vyhledávání nepřináší komplexní výsledky, systém nepožádá o následné otázky nebo neprozkoumá alternativní úhly.

Garbage Data QualityTradiční vyhledávače vrátí HTML stránky zmatené reklamami, navigačními prvky a irelevantním obsahem.

Context IsolationSystém nemůže propojit nalezené informace s interními údaji, firemními dokumenty nebo databázemi znalostí specifickými pro danou doménu.

2.2. The Gold Standard: Perplexity's Deep Research Revolution

Perplexity byla první společností, která nám ukázala, jak by integrace vyhledávání-LLM měla skutečně fungovat.

AI-Optimized Search EnginesNamísto generických výzev Google API používají specializované vyhledávací systémy, které vracejí čistý, strukturovaný obsah určený pro spotřebu AI.

Iterative Investigation ProcessSystém se nezastaví na počátečních výsledcích, analyzuje zjištění, formuluje nové otázky a pokračuje ve vyhledávání, dokud nevytvoří komplexní obraz.

Deep Research ModeJedná se o autonomního agenta umělé inteligence, který může pracovat minuty najednou, recursivně vrtat do témat a shromažďovat informace z desítek zdrojů.

This is exactly the kind of system we're going to build together.

2.3. Why This Matters for Every Developer

V éře AI-první, každý produkt závodí, aby se stal "chytrější." Ale jednoduše připojení do rozhraní API ChatGPT je nyní jen stávka na stole.

  • Aktuální informace z internetu v reálném čase
  • Spojte veřejné údaje se svými vlastními databázemi znalostí
  • Generovat jedinečné poznatky nemožné získat ze standardních LLM
  • Přizpůsobte se vašim specifickým obchodním doménám a průmyslovým nuancím

2.4. What You'll Walk Away With

Mým cílem není dát vám kód k kopírování (i když toho dostanete spoustu). chci přenést mentální modely a architektonické principy, které vám umožní:

  • Pochopte filozofii hlubokého výzkumu AI
  • Navrhněte architekturu pro váš konkrétní případ použití
  • Implementace systému pomocí moderních zásobníků (Next.js 15, OpenAI, exa.ai)
  • Integrujte řešení do jakéhokoli stávajícího produktu
  • Rozšiřte a optimalizujte systém podle vašich potřeb

Na konci tohoto článku budete mít kompletní architektonický blueprint a příklady kódu připravené k výrobě pro vytvoření vlastního "Perplexity" - agenta AI, který by se mohl stát tajnou zbraní vašeho produktu.

Important: Budeme studovat nejen technickou implementaci, ale i obchodní logiku.Proč je recursivní vyhledávání účinnější než lineární?Jak správně kombinujete externí a interní zdroje?Jaké UX vzory fungují pro dlouhodobé operace AI?Tyto otázky jsou stejně kritické jako kód.

2.5. For the Impatient: Skip to the Code

Pro ty, kteří již získali koncepty a chtějí se ponořit přímo do implementace, zde je řešení s otevřeným zdrojovým kódem, které budeme budovat:https://github.com/aifa-agi/aifa-deep-researcer-starter

https://github.com/aifa-agi/aifa-deep-researcer-starter

Osobně nemohu vydržet články, které vám dávají spoustu slov a malou podstatu.Cítíte se volně klonovat repo a dostat se do vývojového režimu právě teď.

Pro tip: Budete narazit na časové omezení (403 chyb) na úrovni bezplatného hostingu společnosti Vercel ve výrobě, ale na localhost můžete plně experimentovat a studovat protokoly k obsahu vašeho srdce.

Připraveni vybudovat budoucnost výzkumu založeného na AI? Začněme tím, že pochopíme, proč LLM potřebují "průvodce psa", aby efektivně navigovali na internetu.

3. Why LLMs Need a "Guide Dog": The Critical Role of External Search Systems

Proč LLM potřebují "Guide Dog": Kritická role externích vyhledávacích systémů

Here's a hard truth that many developers learn the expensive way: Large Language Models cannot independently access current information from the internetNejedná se o chybu – jde o základní architektonické omezení, které vyžaduje sofistikované řešení: integraci se specializovanými vyhledávacími systémy určenými pro spotřebu AI.

3.1. Why Traditional Search Engines Are AI Poison

Google, Bing a další tradiční vyhledávače byly postaveny pro lidi, kteří procházejí webem, ne pro stroje, které zpracovávají data.

  • Reklamní bloky a zmatek v navigaci, které zaměňují extrakci obsahu
  • Irelevantní obsah (komentáře, boční panely, stopy, bannery souborů cookie)
  • Nestrukturovaná data, která vyžadují složité analýzy a často selhávají
javascript// The traditional approach - a nightmare for AI
const htmlResponse = await fetch('https://api.bing.com/search?q=query');
const messyHtml = await htmlResponse.text();
// You get HTML soup with ads, scripts, and digital garbage
// Good luck extracting meaningful insights from this mess

Viděl jsem, že týmy tráví týdny budováním HTML analyzátorů, jen aby se zlomily pokaždé, když hlavní stránky aktualizují své rozložení.It's not scalable, and it's definitely not reliable.

3.2. Keyword Matching vs. Semantic Understanding: A World of Difference

Tradiční vyhledávače hledají přesné shody slov, zcela ignorují kontext a význam. Dotaz jako "Next.js optimalizace pro e-commerce" by mohl chybět vynikající článek o "zvýšení výkonu aplikace React v online obchodech", i když jsou to semanticky totožné témata.

To je jako mít výzkumného asistenta, který může najít knihy pouze tím, že odpovídá přesným slovům v názvu, zatímco ignoruje vše o skutečném obsahu.For AI agents doing deep research, this approach is fundamentally broken.

3.3. AI-Native Search Engines: The Game Changer

Specializované systémy jako Exa.ai, Metaphor a Tavily řeší základní problémy, které dělají tradiční vyhledávání nepoužitelným pro AI:

Semantic Query pochopení

Používají vektorové reprezentace k vyhledávání podle významu, ne pouze klíčových slov. Vaše AI může najít relevantní obsah, i když přesné termíny neodpovídají.

Čistá, strukturovaná data

Vrátí předběžně zpracovaný obsah bez HTML odpadků. Už žádné noční můry nebo rozbité extraktory.

Kontextuální povědomí

Rozumí předchozím dotazům a celkovému výzkumnému kontextu, což umožňuje skutečně iterativní výzkum.

javascript// The AI-native approach - clean and powerful
const cleanResults = await exa.search({
  query: "Detailed analysis of Next.js performance optimization for high-traffic e-commerce platforms",
  type: "neural",
  contents: { text: true, summary: true }
});
// You get clean, relevant content ready for AI processing
// No parsing, no cleanup, no headaches

3.4. Why This Matters for Production Systems

Kvalita vašich vstupních dat přímo určuje kvalitu vašeho konečného výstupu z výzkumu.

Data ReliabilityStrukturovaný obsah bez potřeby křehkého analýzy HTML
ScalabilityStabilní rozhraní API určené pro automatizované použití s vysokým objemem
Cost Efficiency: Snížená výpočetní nadváha pro zpracování dat
Accuracy: Lepší zdrojová relevance vede k lepším konečným poznatkům

javascript// Hybrid search: external + internal sources
const [webResults, vectorResults] = await Promise.all([
  exa.search(query),
  vectorStore.similaritySearch(query)
]);

const combinedContext = [...webResults, ...vectorResults];
// Now your AI has both current web data AND your proprietary knowledge

3.5. The Bottom Line: Architecture Matters

AI nativní vyhledávače nejsou jen technickým detailemthey're the architectural foundationBez správného "průvodce psa", i nejsofistikovanější LLM bude bojovat o vytvoření hluboké, přesné analýzy aktuálních informací.

Přemýšlejte o tom takto: Nebudete posílat brilantního výzkumníka do knihovny, kde jsou všechny knihy napsány v kódu a polovina stránek jsou reklamy.

The solution?V další části se budeme ponořit do specifických architektonických vzorů, které umožňují recursivní, hluboký výzkum.

Pojďme prozkoumat systémový design, který napomáhá skutečně inteligentním výzkumným agentům AI.

Myslete jako strom: Architektura recursivního hledání

Lidský mozek přirozeně strukturuje složité informace jako hierarchické sítě.Když výzkumník zkoumá nové téma, nepohybuje se v přímé linii - vyvíjí síť znalostí podobnou stromu, kde každý nový objev vytváří další otázky a výzkumné směry.

4.1. The Fundamental Difference in Approaches

Tradiční vyhledávací systémy a vestavěné webové vyhledávání v LLM pracují lineárně: přijímat dotaz → provádět vyhledávání → vrátit výsledky → generovat odpovědi.

Problems with the Linear Approach:

  • Výsledky na úrovni povrchu: systém se zastaví při prvních skutečnostech, které najde
  • Žádná kontextová kontinuita: Každý vyhledávací dotaz je izolován od předchozích
  • Chybějící spojení: Systém nevidí vztahy mezi různými aspekty tématu
  • Náhodná kvalita: Výsledky zcela závisí na štěstí počátečního dotazu

Přístup založený na stromech tyto problémy řeší modelováním přirozeného procesu lidského výzkumu.Každý objevený zdroj může generovat nové otázky, které se stávají oddělenými výzkumnými odvětvími.

4.2. Anatomy of a Search Tree

Podívejme se na strukturu hlubokého vyhledávacího stromu s konkrétním příkladem:

textNext.js vs WordPress for AI Projects/
├── Performance/
│   ├── Source 1
│   ├── Source 2
│   └── Impact of AI Libraries on Next.js Performance/
│       └── Source 7
├── Development Costs/
│   ├── Source 3
│   └── Source 4
└── SEO and Indexing/
    ├── Source 5
    └── Source 6

First-level branchesjsou hlavní aspekty tématu, které LLM generuje na základě analýzy původního dotazu.V našem příkladu se jedná o výkon, náklady a SEO. Tyto podtémata nejsou tvořeny náhodně - LLM analyzuje sémantický prostor dotazu a identifikuje klíčové směry výzkumu.

Tree leaves are specific sources (articles, documents, studies) found for each sub-query. Each leaf contains factual information that will be included in the final report.

Recursive branchesJedná se o nejsilnější funkci této architektury.Když systém analyzuje nalezené zdroje, může objevit nové aspekty tématu, které vyžadují další vyšetřování.Tyto aspekty se stávají novými sub-požadavky, vytvářejí své vlastní pobočky.

4.3. Practical Advantages of Tree Architecture

Research CompletenessMísto náhodné sbírky faktů systém vytváří logicky propojenou mapu znalostí, kde má každý prvek své místo v celkové struktuře.

Adaptive Depth: Systém automaticky určuje, které směry vyžadují hlubší vyšetřování. Pokud jedna pobočka přináší mnoho relevantních zdrojů, systém může jít hlouběji.

Contextual ConnectivityKaždý nový vyhledávací dotaz je vytvořen s přihlédnutím k již nalezeným informacím, což umožňuje přesnější a konkrétnější otázky než izolované vyhledávání.

Quality AssessmentNa každé úrovni stromu může systém vyhodnotit relevanci a kvalitu nalezených zdrojů, filtrovat hluk a soustředit se na nejcennější informace.

4.4. Managing Tree Parameters

Search Depthurčuje, kolik úrovní rekurze může systém provádět. Hloubka 1 znamená pouze hlavní podpořady bez dalšího vrtání. Hloubka 3-4 umožňuje skutečně podrobné vyšetřování.

Search Widthovládá počet sub-pohledů na každé úrovni. Příliš velká šířka může vést k povrchnímu zkoumání mnoha směrů. Optimální šířka je obvykle 3-5 hlavních směrů na úrovni.

Branching Factorje průměrný počet dětských uzlů pro každý stromový uzel. V kontextu vyhledávání informací to odpovídá počtu nových podpožadavků generovaných na základě každého nalezeného zdroje.

4.5. Optimization and Problem Prevention

Cycle PreventionSystém musí sledovat již zkoumané směry, aby se zabránilo nekonečným recursivním kruhům.

Dynamic PrioritizationVíce slibné pobočky by měly být vyšetřovány s větší hloubkou, zatímco méně informativní směry mohou být ukončeny dříve.

Parallel InvestigationRůzné větve stromů lze zkoumat paralelně, což výrazně urychluje proces, pokud jsou k dispozici dostatečné výpočetní zdroje.

Memory and Caching: Search results should be cached to avoid repeated requests to external APIs when topics overlap.

Execution Time and Server TimeoutsToto je další problém, který se často projevuje při provádění hlubokého výzkumu, zejména pokud hloubka přesahuje dvě úrovně.Můžete říci, že zvýšení úrovně exponenciálně zvyšuje složitost výzkumu.

4.6. The Bottom Line: From Chaos to System

Stromová architektura přeměňuje chaotický proces vyhledávání informací na systematické vyšetřování, kde má každý prvek své místo v celkové struktuře znalostí.To umožňuje agentu AI pracovat jako zkušený výzkumník – nejen shromažďovat fakta, ale budovat komplexní pochopení zkoumaného tématu.

The result?Systém AI, který myslí jako lidský výzkumník, ale pracuje v strojním měřítku a rychlosti.V další části se ponoříme do technické implementace, která činí tuto architektonickou vizi realitou.

Jste připraveni vidět, jak tento koncepční rámec překládáme do výrobního kódu?Pojďme prozkoumat technickou hromadu, která posiluje recursivní inteligenci.

5. The "Search-Evaluate-Deepen" Cycle: Implementing True Recursion

Cyklus „Hledání – hodnocení – hloubání“: Implementace pravé recursion

Recursivní analýza internetu není jen technickou vlastností – je to základní nutnost pro vytvoření skutečně inteligentních agentů umělé inteligence. První stránka jakéhokoli výsledku vyhledávání ukazuje pouze špičku informačního ledovce.

5.1. Data Architecture for Deep Investigation

Ve výrobních implementacích systém pracuje se strukturovanými datovými typy, které hromadí znalosti na každé úrovni rekurze:

typescripttype Learning = {
  learning: string;
  followUpQuestions: string[];
};

type SearchResult = {
  title: string;
  url: string;
  content: string;
  publishedDate: string;
};

type Research = {
  query: string | undefined;
  queries: string[];
  searchResults: SearchResult[];
  knowledgeBaseResults: string[]; // Vector database responses
  learnings: Learning[];
  completedQueries: string[];
};

Tato datová struktura akumuluje znalosti na každé úrovni rekurze, což vytváří jednotný kontext pro celé vyšetřování - přesně to, co odděluje profesionální výzkum od náhodného shromažďování faktů.

5.2. Stage 1: "Search" — Intelligent Query Generation

Systém se nespoléhá na jediný vyhledávací dotaz. Místo toho generuje více cílených dotazů pomocí LLM inteligence:

typescriptconst generateSearchQueries = async (query: string, breadth: number) => {
  const {
    object: { queries },
  } = await generateObject({
    model: mainModel,
    prompt: `Generate ${breadth} search queries for the following query: ${query}`,
    schema: z.object({
      queries: z.array(z.string()).min(1).max(10),
    }),
  });
  return queries;
};

Key insight• Thebreadthparametr ovládá šířku výzkumu – počet různých aspektů témat, které budou vyšetřovány paralelně.Tady se děje kouzlo: místo lineárního vyhledávání získáte exponenciální pokrytí.

5.3. Stage 2: "Evaluate" — AI-Driven Result Filtering

Ne všechny nalezené zdroje jsou stejně cenné. systém používá AI agenta s nástroji pro inteligentní vyhodnocení každého výsledku:

typescriptconst searchAndProcess = async (/* parameters */) => {
  const pendingSearchResults: SearchResult[] = [];
  const finalSearchResults: SearchResult[] = [];
  
  await generateText({
    model: mainModel,
    prompt: `Search the web for information about ${query}, For each item, where possible, collect detailed examples of use cases (news stories) with a detailed description.`,
    system: "You are a researcher. For each query, search the web and then evaluate if the results are relevant",
    maxSteps: 10,
    tools: {
      searchWeb: tool({
        description: "Search the web for information about a given query",
        parameters: z.object({ query: z.string().min(1) }),
        async execute({ query }) {
          const results = await searchWeb(query, breadth, /* other params */);
          pendingSearchResults.push(...results);
          return results;
        },
      }),
      evaluate: tool({
        description: "Evaluate the search results",
        parameters: z.object({}),
        async execute() {
          const pendingResult = pendingSearchResults.pop();
          if (!pendingResult) return "No search results available for evaluation.";

          const { object: evaluation } = await generateObject({
            model: mainModel,
            prompt: `Evaluate whether the search results are relevant and will help answer the following query: ${query}. If the page already exists in the existing results, mark it as irrelevant.`,
            output: "enum",
            enum: ["relevant", "irrelevant"],
          });
          
          if (evaluation === "relevant") {
            finalSearchResults.push(pendingResult);
          }
          return evaluation === "irrelevant" 
            ? "Search results are irrelevant. Please search again with a more specific query."
            : "Search results are relevant. End research for this query.";
        },
      }),
    },
  });
  return finalSearchResults;
};

Revolutionary approachSystém používá AI agenta s nástroji, které mohou opakovaně vyhledávat a vyhodnocovat výsledky, dokud nenajde dostatečné relevantní informace.

5.4. Vector Knowledge Base Integration

Pro každý dotaz systém současně vyhledává internet a svou vlastní vektorovou znalostní základnu:

typescriptasync function getKnowledgeItem(query: string, vectorStoreId: string) {
  const client = new OpenAI({ apiKey: process.env.OPENAI_API_KEY });

  const response = await client.responses.create({
    model: "gpt-4o-mini",
    tools: [
      {
        type: "file_search",
        vector_store_ids: [vectorStoreId],
        max_num_results: 5,
      },
    ],
    input: [
      {
        role: "developer",
        content: `Search the vector store for information. Output format language: ${process.env.NEXT_PUBLIC_APP_HTTP_LANG || "en"}`,
      },
      {
        role: "user",
        content: query,
      },
    ],
  });
  return response.output_text;
}

5.5. Practical Implementation

In the main research loop, the system queries both sources in parallel:

typescriptfor (const query of queries) {
  const searchResults = await searchAndProcess(/* web search */);
  accumulatedResearch.searchResults.push(...searchResults);

  if (vectorStoreId && vectorStoreId !== "") {
    const kbResult = await getKnowledgeItem(query, vectorStoreId);
    accumulatedResearch.knowledgeBaseResults.push(kbResult);
  }
}

5.6. Stage 3: "Deepen" — Generating Follow-Up Questions

Fáze 3: „Hluboká“ – generování následných otázek

Nejsilnější vlastnost: schopnost systému generovat nové výzkumné směry na základě již nalezených informací:

typescriptconst generateLearnings = async (query: string, searchResult: SearchResult) => {
  const { object } = await generateObject({
    model: mainModel,
    prompt: `The user is researching "${query}". The following search result were deemed relevant.
      Generate a learning and a follow-up question from the following search result:
   
      <search_result>
      ${JSON.stringify(searchResult)}
      </search_result>`,
    schema: z.object({
      learning: z.string(),
      followUpQuestions: z.array(z.string()),
    }),
  });
  return object;
};

5.7. Recursive Deepening

Každý nalezený zdroj je analyzován, aby se získaly nové otázky, které se stanou základem pro další úroveň vyhledávání:

typescriptfor (const searchResult of searchResults) {
  const learnings = await generateLearnings(query, searchResult);
  accumulatedResearch.learnings.push(learnings);
  accumulatedResearch.completedQueries.push(query);

  const newQuery = `Overall research goal: ${prompt}
Previous search queries: ${accumulatedResearch.completedQueries.join(", ")}
Follow-up questions: ${learnings.followUpQuestions.join(", ")}`;

  await deepResearch(
    /* search parameters */,
    newQuery,
    depth - 1,
    Math.ceil(breadth / 2), // Reduce width at each level
    vectorOfThought,
    accumulatedResearch,
    vectorStoreId
  );
}

5.8. Managing Depth and Complexity

Realizace výroby ukazuje, jak řídit exponenciální růst složitosti:

typescriptconst deepResearch = async (
  /* multiple filtering parameters */,
  prompt: string,
  depth: number = 2,
  breadth: number = 5,
  vectorOfThought: string[] = [],
  accumulatedResearch: Research = {
    query: undefined,
    queries: [],
    searchResults: [],
    knowledgeBaseResults: [],
    learnings: [],
    completedQueries: [],
  },
  vectorStoreId: string
): Promise<Research> => {
  if (depth === 0) {
    return accumulatedResearch; // Base case for recursion
  }
  
  // Adaptive query formation based on "thought vector"
  let updatedPrompt = "";
  if (vectorOfThought.length === 0) {
    updatedPrompt = prompt;
  } else {
    const vectorOfThoughItem = vectorOfThought[vectorOfThought.length - depth];
    updatedPrompt = `${prompt}, focus on these important branches of thought: ${vectorOfThoughItem}`;
  }
  // ... rest of implementation
};

5.9. Key Optimizations

Width Reduction• :Math.ceil(breadth / 2)na každé úrovni brání exponenciálnímu růstu
Thought Vector• :vectorOfThoughtumožňuje zaměřit výzkum na konkrétní oblasti
Context Accumulation: All results are preserved in a unified data structure

5.10. The Hybrid Advantage in Practice

Creating Unique ContentKombinace veřejných dat s interními znalostmi umožňuje vytvářet zprávy, které nikdo jiný nemůže replikovat.Vaši konkurenti mohou mít přístup ke stejným veřejným zdrojům, ale ne k vašim interním případům, statistikám a odborným znalostem.

Context EnrichmentExterní data poskytují měnu a šířku, interní data poskytují hloubku a specificitu.Systém může najít obecné trendy v oboru online, poté je doplnit vlastními údaji o tom, jak tyto trendy ovlivňují vaše podnikání.

Maintaining CurrencyI když jsou webové informace zastaralé nebo nepřesné, vaše interní znalostní základna může poskytnout čerstvější a ověřené údaje.

6. From Chaos to Order: Generating Expert-Level Reports

Od chaosu k pořádku: generování zpráv na odborné úrovni

Po dokončení všech úrovní recursivního vyhledávání systém hromadí obrovské množství rozdílných informací: výsledky vyhledávání na webu, vektorové databáze, generované učení a následné otázky.

6.1. Context Accumulation: Building the Complete Picture

Veškeré shromážděné údaje jsou sloučeny do jednohoResearchStruktura, která slouží jako úplný kontext pro konečnou syntézu:

typescripttype Research = {
  query: string | undefined;           // Original query
  queries: string[];                   // All generated search queries
  searchResults: SearchResult[];       // Web search results
  knowledgeBaseResults: string[];      // Vector database responses
  learnings: Learning[];               // Extracted insights
  completedQueries: string[];          // History of completed queries
};

This isn't just data storageJe to komplexní graf znalostí, který zachycuje celou cestu vyšetřování.Každý pohled, každý zdroj, každé spojení je zachováno pro konečnou syntézu.

6.2. The Master Prompt: Where Intelligence Meets Synthesis

Kvalita závěrečné zprávy přímo závisí na sofistikovanosti generace prompt. Systém používá pro syntézu nejsilnější model OpenAI:

typescriptconst generateReport = async (
  research: Research,
  vectorOfThought: string[],
  systemPrompt: string
) => {
  const { text } = await generateText({
    model: openai("o3-mini"), // Most powerful model for synthesis
    system: systemPrompt,
    prompt:
      "Use the following structured research data to generate a detailed expert report:\n\n" +
      JSON.stringify(research, null, 2),
  });
  return text;
};

Key insightNežádáme pouze AI, aby shrnuje - poskytujeme jí kompletní datový soubor výzkumu a žádáme ji, aby přemýšlela jako odborník v oblasti.

6.3. Structured Output: Beyond Simple Summaries

The system doesn't just create a text summary — it generates structured documents with headers, tables, pro/con lists, and professional formatting, as shown in the result saving:

typescriptconsole.log("Research completed!");
console.log("Generating report...");
const report = await generateReport(research, vectorOfThought, systemPrompt);
console.log("Report generated! Saving to report.md");
fs.writeFileSync("report.md", report); // Save as Markdown

Why Markdown?Je to perfektní formát pro obsah generovaný umělou inteligencí – dostatečně strukturovaný pro profesionální prezentaci, dostatečně flexibilní pro různé výstupní formáty a čitelný v jakémkoli moderním vývojovém pracovním postupu.

6.4. Quality Control Through System Prompts

TytosystemPromptumožňuje přizpůsobit styl a strukturu zpráv pro konkrétní potřeby:

  • Akademický styl pro výzkumné práce a vědeckou analýzu
  • Business format for corporate reports and executive summaries
  • Technická dokumentace pro obsah zaměřený na vývojáře
  • Investiční analýza pro finanční a strategické zprávy

// Example: Business-focused system prompt const businessSystemPrompt = `You are a senior business analyst creating an executive report. Structure your analysis with:

  1. Výkonné shrnutí
  2. Klíčové zjištění
  3. Tržní důsledky
  4. Doporučení
  5. Hodnocení rizik

Use data-driven insights and provide specific examples from the research.`;

6.5. The Intelligence Multiplier Effect

Here's what makes this approach revolutionary: The system doesn't just aggregate information — it synthesizes insights that emerge from the connections between different sources. A human researcher might spend 8-12 hours conducting this level of investigation. Our system does it in 10-60 minutes, often uncovering connections that humans miss.

6.6. Production Considerations

Memory Management: Při hlubokém výzkumu (hloubka 3-4) se nahromaděný kontext může stát masivním.

Token Optimization: The final synthesis prompt can easily exceed token limits. Production implementations need smart truncation strategies that preserve the most valuable insights.

Quality AssuranceNe všechny generované zprávy jsou si rovny.Zvažte zavedení mechanismů pro hodnocení úplnosti a soudržnosti zprávy.

6.7. Real-World Impact

Time Compression: Hodiny lidského výzkumu → Minuty analýzy AI
Depth EnhancementUmělá inteligence může zpracovávat a propojovat více zdrojů, než je lidsky možné
ConsistencyKaždá zpráva se řídí stejnou přísnou metodikou
Scalabilitygenerovat desítky zpráv současně

7. Conclusion: Building the Future of AI Research

Závěr: Budování budoucnosti výzkumu AI

Vytvoření hlubokého výzkumného agenta AI není jen technickou výzvou – je to architektonické řešení, které se může stát konkurenční výhodou pro jakýkoliv produkt.

7.1. Key Architectural Principles

Think in Trees, Not LinesHluboké vyhledávání je o zkoumání stromově strukturovaných informačních sítí, kde každý objev vytváří nové otázky a směry výzkumu.

Use AI-Native ToolsSpecializované vyhledávače jako exa.ai nejsou volitelné – jsou nezbytné pro kvalitní výzkum.Vrátí čisté údaje namísto HTML odpadků, které tradiční vyhledávací rozhraní poskytují.

Apply Recursion for Depth: První stránka výsledků je jen špičkou ledovce.Skutečné poznatky spočívají v recursivním prohlubování prostřednictvím cyklu „Search-Evaluate-Deepen“.

Combine External and Internal SourcesSynergie mezi veřejnými internetovými daty a soukromými organizačními znalostmi vytváří jedinečný obsah, který nelze získat žádným jiným způsobem.

Use LLMs for Both Analysis and SynthesisAgenti umělé inteligence s nástroji mohou nejen hledat informace, ale také vyhodnotit jejich relevanci, generovat nové otázky a vytvářet strukturované zprávy.

7.2. Production-Ready Results

Implementace založená na Next.js 15, OpenAI a exa.ai demonstruje, že takový systém lze postavit a nasadit do výroby.https://github.com/aifa-agi/aifa-deep-researcer-starterObsahuje všechny klíčové komponenty:

  • Recursivní architektura s řízením hloubky a šířky
  • Integrace webového vyhledávání s vektorovými databázemi znalostí
  • AI agenti s nástroji pro hodnocení výsledků
  • Generace expertních zpráv s možností ukládání souborů

7.3. Challenges and Limitations

Server TimeoutsVýzkum s hloubkou větší než 2 úrovně může trvat hodiny, což vyžaduje speciální řešení pro výrobní prostředí.

Exponential Complexity GrowthKaždá úroveň hloubky zvyšuje počet dotazů geometricky, což vyžaduje pečlivé řízení zdrojů.

Source QualityDokonce i vyhledávače AI mohou vrátit nepřesné informace, které vyžadují dodatečné ověření a ověření skutečností.

7.4. Your Next Steps

Nyní máte kompletní architektonický blueprint a skutečné příklady kódu.

Start with Minimal Implementation: Použijte základní verzi z tohoto článku pro prototypování
Explore the Ready Solution• klonováníhttps://github.com/aifa-agi/aifa-deep-researcer-starterExperimenty na místní úrovni
Adapt to Your NeedsIntegrujte tyto principy do stávajících produktů a pracovních postupů


8. Homework Challenge: Solving the Long-Wait UX Problem

Domácí úkoly: Řešení dlouho očekávaného problému UX

Pokrývali jsme technickou architekturu hlubokého výzkumu agentů AI, ale zůstává kriticky důležitý problém UX: co děláte, když systém funguje několik minut, zatímco uživatel se dívá na prázdnou obrazovku?

8.1. The Problem: Server Silence Kills Trust

Na rozdíl od typických webových aplikací, kde operace trvají vteřiny, hluboké výzkumné agenty umělé inteligence mohou mlčet několik minut.

  • Čekání úzkosti: Uživatelé nevědí, zda systém funguje nebo je zmrazen
  • Ztráta kontroly: žádný způsob, jak pochopit, jak dlouho čekat
  • Pokles důvěry: Zdá se, že aplikace je narušena nebo požadavek je „vyžádaný“
  • Vysoká míra odbočení: Uživatelé zavírají kartu bez čekání na výsledky

Perplexity, Claude a další moderní produkty AI to řeší interaktivními animacemi, ukazateli pokroku a dynamickými náznaky.

8.2. The Developer Challenge

Představte si toto technické omezení: vaše Next.js API trasa provádí dlouhou operaci (hluboký výzkum) a nemůže odesílat průběžná data až do dokončení. Frontend dostane odpověď pouze na samém konci. Klasická řešení jako Server-Sent Events nebo WebSockets nemusí být k dispozici kvůli omezením hostingu nebo architektonickým omezením.

How do you create engaging UX under these conditions that will retain users and reduce waiting anxiety?

8.3. Discussion Questions

UX Patterns and Visualization:

  • Jaké vzorce UX byste použili k vizualizaci hlubokých vyhledávacích procesů, když je server „tichý“?
  • Jak můžete simulovat „živý“ pokrok i bez aktuálních aktualizací stavu serveru?
  • Měli byste používat falešné postupové lišty, nebo to porušuje důvěru uživatelů?
  • Jaké animace a mikrointerakce pomáhají vytvořit pocit „živého“ systému?

User Communication:

  • Jak uživatelům vysvětlujete, proč čekání může být dlouhé? Jaké texty/ilustrace použít?
  • Měli byste uvést odhadované doby čekání, pokud se mohou výrazně lišit (2 až 60 minut)?
  • Jak vizualizujete procesní fáze („Vytváření vyhledávacích dotazů...“, „Analyzování zdrojů...“, „Vytváření expertní zprávy...“)?
  • Jaké metafory pomáhají uživatelům pochopit hodnotu čekání?

Technical Implementation:

  • Jaké optimistické přístupy uživatelského rozhraní lze aplikovat bez zpětné vazby serveru?
  • Jak implementovat "konverzační" rozhraní, které podporuje uživatele během čekání?
  • Můžete použít lokální výpočty (Web Workers, WASM) k simulaci pokroku?
  • Jak uspořádat elegantní degradaci, pokud uživatelé zavřou kartu během výzkumu?

8.4. Learning from the Best

Studijní řešení implementovaná v Perplexity Deep Research, Bing Copilot, Google Search Generative Experience. Co můžete vzít z obrazovek pro načítání her, které udržují pozornost na několik minut?

RememberV éře okamžitých odpovědí ChatGPT se kvalitní čekání může stát konkurenční výhodou.Uživatelé jsou ochotni počkat, pokud chápou hodnotu procesu a cítí, že systém pro ně funguje.

9. About the Author and AIFA Project

O autorovi a projektu AIFA

o autorovi ,Roman Bolševický, ve své nedávné sérii publikací podrobně popisuje nástroje a architektonická řešení, která implementuje ve svém ambiciózním open-source projektuAifa(AI agenti v rozvíjející se a sebe-replikující architektuře).

Ve své současné implementaci AIFA již představuje impozantní šablonu pro vytváření aplikací založených na umělé inteligenci s jedinečným uživatelským rozhraním, kde se umělá inteligence stává primární metodou interakce, zatímco tradiční webové rozhraní slouží jako pomocná vizualizace.

Dlouhodobým cílem projektu je evoluce do plnohodnotného systému AGI, ve kterém budou agenti AI schopni:

  • autonomní vývoj a zlepšování jejich algoritmů
  • Samoreprodukce a vytváření nových specializovaných agentů
  • Konkurence a spolupráce v distribuovaném prostředí
  • Autonomní provoz v webových prostorách a blockchainových sítích

Hluboké hledání, které je v tomto článku pokryto, je jen jednou ze základních dovedností budoucích agentů AGI, kteří budou schopni nejen zkoumat informace, ale také činit rozhodnutí, vytvářet produkty a interagovat s reálným světem.

Pokud máte zájem sledovat vývoj projektu a experimentovat s nejmodernějšími technologiemi AI, neváhejteAIFA RepositoryKaždý závazek nás přivádí blíže k vytvoření skutečně autonomní umělé inteligence.

Ready to build the future?Kód je otevřený, architektura je osvědčená a možnosti jsou neomezené.Vaše další průlom v AI-powered výzkumu je jen klon git daleko.


Trending Topics

blockchaincryptocurrencyhackernoon-top-storyprogrammingsoftware-developmenttechnologystartuphackernoon-booksBitcoinbooks