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. 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. Jak navrhnout recursivní vyhledávací systém pomocí Next.js 15, OpenAI a exa.ai, který skutečně funguje ve výrobě Technical Architecture Proč je hluboké vyhledávání stromovou strukturou, nikoliv lineárním procesem – a jak to změní vše o výzkumu AI Mental Models Jak 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 Practical Solutions Jak spravovat serverové zdroje a uživatelské zkušenosti během dlouhodobých operací AI bez narušení banky Performance Optimization Konkrétní implementace TypeScript s využitím moderních technologických zásob, které můžete nasadit dnes Production-Ready Code 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 Nejnově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 React 19 Plně 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) Next.js 15 Přísné psaní pro spolehlivost kódu a vynikající zkušenosti vývojářů při budování složitých systémů AI TypeScript 5 1.1.2. AI and Integrations Oficiální SDK pro integraci s GPT-4 a dalšími modely OpenAI s plnou podporou streamování OpenAI SDK (v4.96.2) 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ů AI SDK (v4.1.45) Specializovaný vyhledávač zaměřený na AI pro sémantické vyhledávání, které skutečně rozumí kontextu Exa.js (v1.4.10) 1.1.3. UI and Styling Utility-first CSS framework pro rychlý vývoj bez ztráty kvality designu Tailwind CSS 4 Bezhlavé komponenty pro vytváření přístupných rozhraní, které fungují na všech zařízeních Radix UI Moderní knihovna ikon s konzistentním designovým jazykem Lucide React Komponentový systém postavený na Radix UI a Tailwind CSS pro profesionální rozhraní shadcn/ui 1.1.4. Forms and Validation Vysoce výkonná knihovna pro zpracování formulářů, která nezpomaluje vaše rozhraní AI React Hook Form Schéma validace TypeScript-first s statickým psaním, které chyby zachycuje dříve, než dorazí do výroby Zod Bezproblémová integrace mezi Zod a React Hook Form Hookform Resolvers 1.1.5. Content Processing Zobrazování obsahu Markdown s podporou komponent pro zprávy bohaté na AI React Markdown Moderní knihovna pro zpracování dat v časových řádcích výzkumu AI date-fns Why This Stack Matters Tato technologie poskytuje , , , a Kaž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. high performance type safety scalability 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í. The result? 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. Společ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. The harsh reality 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: : Systém provádí jeden nebo dva vyhledávací dotazy, zachycuje první výsledky a nazývá to den. Surface-Level Search Pokud první vyhledávání nepřináší komplexní výsledky, systém nepožádá o následné otázky nebo neprozkoumá alternativní úhly. Zero Follow-Through Tradiční vyhledávače vrátí HTML stránky zmatené reklamami, navigačními prvky a irelevantním obsahem. Garbage Data Quality Systém nemůže propojit nalezené informace s interními údaji, firemními dokumenty nebo databázemi znalostí specifickými pro danou doménu. Context Isolation 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. Namí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. AI-Optimized Search Engines Systé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. Iterative Investigation Process Jedná 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ů. Deep Research Mode 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. : 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. Important 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ď. : 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. Pro tip 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: Nejedná 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. Large Language Models cannot independently access current information from the internet 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. Strukturovaný obsah bez potřeby křehkého analýzy HTML Stabilní rozhraní API určené pro automatizované použití s vysokým objemem : Snížená výpočetní nadváha pro zpracování dat : Lepší zdrojová relevance vede k lepším konečným poznatkům Data Reliability Scalability Cost Efficiency Accuracy 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 detailem Bez správného "průvodce psa", i nejsofistikovanější LLM bude bojovat o vytvoření hluboké, přesné analýzy aktuálních informací. they're the architectural foundation 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. V další části se budeme ponořit do specifických architektonických vzorů, které umožňují recursivní, hluboký výzkum. The solution? Pojďme prozkoumat systémový design, který napomáhá skutečně inteligentním výzkumným agentům AI. 4. Think Like a Tree: The Architecture of Recursive Search 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 jsou 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. First-level branches are specific sources (articles, documents, studies) found for each sub-query. Each leaf contains factual information that will be included in the final report. Tree leaves Jedná 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. Recursive branches 4.3. Practical Advantages of Tree Architecture Mí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. Research Completeness : 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. Adaptive Depth Kaž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í. Contextual Connectivity Na 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. Quality Assessment 4.4. Managing Tree Parameters urč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 Depth ovlá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. Search Width je 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. Branching Factor 4.5. Optimization and Problem Prevention Systém musí sledovat již zkoumané směry, aby se zabránilo nekonečným recursivním kruhům. Cycle Prevention Ví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. Dynamic Prioritization Různé větve stromů lze zkoumat paralelně, což výrazně urychluje proces, pokud jsou k dispozici dostatečné výpočetní zdroje. Parallel Investigation : Search results should be cached to avoid repeated requests to external APIs when topics overlap. Memory and Caching Toto 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. Execution Time and Server Timeouts 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. 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. The result? 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; }; • The parametr 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í. Key insight breadth 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; }; Systém používá AI agenta s nástroji, které mohou opakovaně vyhledávat a vyhodnocovat výsledky, dokud nenajde dostatečné relevantní informace. Revolutionary approach 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 • : na každé úrovni brání exponenciálnímu růstu • : umožňuje zaměřit výzkum na konkrétní oblasti : All results are preserved in a unified data structure Width Reduction Math.ceil(breadth / 2) Thought Vector vectorOfThought Context Accumulation 5.10. The Hybrid Advantage in Practice Kombinace 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. Creating Unique Content Externí 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í. Context Enrichment I když jsou webové informace zastaralé nebo nepřesné, vaše interní znalostní základna může poskytnout čerstvější a ověřené údaje. Maintaining Currency 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 jednoho Struktura, která slouží jako úplný kontext pro konečnou syntézu: Research 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 }; Je 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. This isn't just data storage 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; }; Nežá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. Key insight 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 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. Why Markdown? 6.4. Quality Control Through System Prompts Tyto umožňuje přizpůsobit styl a strukturu zpráv pro konkrétní potřeby: systemPrompt Akademický styl pro výzkumné práce a vědeckou analýzu for corporate reports and executive summaries Business format 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: Výkonné shrnutí Klíčové zjištění Tržní důsledky Doporučení Hodnocení rizik Use data-driven insights and provide specific examples from the research.`; 6.5. The Intelligence Multiplier Effect : 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. Here's what makes this approach revolutionary 6.6. Production Considerations : Při hlubokém výzkumu (hloubka 3-4) se nahromaděný kontext může stát masivním. Memory Management : The final synthesis prompt can easily exceed token limits. Production implementations need smart truncation strategies that preserve the most valuable insights. Token Optimization Ne všechny generované zprávy jsou si rovny.Zvažte zavedení mechanismů pro hodnocení úplnosti a soudržnosti zprávy. Quality Assurance 6.7. Real-World Impact : Hodiny lidského výzkumu → Minuty analýzy AI Umělá inteligence může zpracovávat a propojovat více zdrojů, než je lidsky možné Každá zpráva se řídí stejnou přísnou metodikou generovat desítky zpráv současně Time Compression Depth Enhancement Consistency Scalability 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 Hluboké 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. Think in Trees, Not Lines Specializované 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í. Use AI-Native Tools : 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“. Apply Recursion for Depth Synergie 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. Combine External and Internal Sources Agenti 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. Use LLMs for Both Analysis and Synthesis 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. Obsahuje všechny klíčové komponenty: https://github.com/aifa-agi/aifa-deep-researcer-starter 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 Výzkum s hloubkou větší než 2 úrovně může trvat hodiny, což vyžaduje speciální řešení pro výrobní prostředí. Server Timeouts Každá úroveň hloubky zvyšuje počet dotazů geometricky, což vyžaduje pečlivé řízení zdrojů. Exponential Complexity Growth Dokonce i vyhledávače AI mohou vrátit nepřesné informace, které vyžadují dodatečné ověření a ověření skutečností. Source Quality 7.4. Your Next Steps Nyní máte kompletní architektonický blueprint a skutečné příklady kódu. : Použijte základní verzi z tohoto článku pro prototypování • klonování Experimenty na místní úrovni Integrujte tyto principy do stávajících produktů a pracovních postupů Start with Minimal Implementation Explore the Ready Solution https://github.com/aifa-agi/aifa-deep-researcer-starter Adapt to Your Needs 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? V éř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. Remember 9. About the Author and AIFA Project O autorovi a projektu AIFA o autorovi , , 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 projektu (AI agenti v rozvíjející se a sebe-replikující architektuře). Roman Bolševický Aifa 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áhejte Každý závazek nás přivádí blíže k vytvoření skutečně autonomní umělé inteligence. AIFA Repository 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. Ready to build the future?