Építsd meg a saját zavarosságodat: az AI-alapú mélyreható kutatás architektúrája ✔️ Ébresztő hívás a fejlesztőknek Sok programozó elveszíti munkahelyét az AI-nak az elkövetkező években, de nem azok, akik megtanulják építeni.A küldetésed nem csak az, hogy megtanulják használni a ChatGPT-t vagy a Claude-t - ez az, hogy az ilyen rendszerek alkotója legyen, hogy a következő Perplexity-t építsék, ahelyett, hogy csak használnák. ✔️ Ébresztő hívás a fejlesztőknek Sok programozó elveszíti munkahelyét az AI-nak az elkövetkező években, de nem azok, akik megtanulják építeni.A küldetésed nem csak az, hogy megtanulják használni a ChatGPT-t vagy a Claude-t - ez az, hogy az ilyen rendszerek alkotója legyen, hogy a következő Perplexity-t építsék, ahelyett, hogy csak használnák. Nyílt forrás: https://github.com/aifa-agi/aifa-deep-researcer-starter/ 1. What You'll Master by Reading This Article Mit fogsz elsajátítani olvasva ezt a cikket Ez a cikk egy teljes építészeti modellt nyújt a saját mélyreható kutatási AI-ügynök létrehozásához, hasonlóan a Perplexity "Deep Research" funkciójához. Hogyan tervezzünk egy ismétlődő keresési rendszert a Next.js 15, az OpenAI és az exa.ai használatával, amely valójában a termelésben működik Technical Architecture Miért a mélyreható keresés egy fa szerkezet, nem egy lineáris folyamat – és hogyan változik meg mindez az AI-kutatásban Mental Models Hogyan lehet integrálni a külső webes keresést a belső vektoros tudásbázisokkal, hogy valóban egyedi tartalmat hozzon létre, amelyet a versenytársak nem tudnak megismételni Practical Solutions Hogyan kezeljük a szerver erőforrásait és a felhasználói élményt a hosszú távú AI-műveletek során anélkül, hogy megszakítanánk a bankot Performance Optimization Konkrét TypeScript-implementációk modern tech stack használatával, amelyeket ma telepíthet Production-Ready Code Ennek a cikknek a végére egyértelműen megértheti, hogyan építhet egy önkiszolgáló SaaS-t mélyreható kutatásokhoz, amely bármilyen termékbe integrálható - versenyképes előnyt biztosít, amelyet valóban nehéz megismételni. 1.1. The Technology Stack That Powers Intelligence A mélyreható kutatási AI-ügynökünk végrehajtásához egy modern technológiai halomot használunk, amelyet a termelésre kész alkalmazásokhoz optimalizáltak, intenzív AI-használattal. 1.1.1. Frontend and Framework - A legújabb verzió jobb teljesítményű és új egyidejű renderelési képességekkel, amelyek zökkenőmentesen kezelik a komplex AI interakciókat React 19 - Teljes körű React keretrendszer az App Routerrel, beleértve a párhuzamos és a lehallgatási útvonalak támogatását (tökéletes komplex AI munkafolyamatokhoz) Next.js 15 Szigorú írás a kód megbízhatóságáért és a kiemelkedő fejlesztői tapasztalatokért a komplex AI-rendszerek építésekor TypeScript 5 1.1.2. AI and Integrations - Hivatalos SDK a GPT-4 és más OpenAI modellekkel való integrációhoz, teljes streaming támogatással OpenAI SDK (v4.96.2) - Univerzális könyvtár a különböző AI-szolgáltatókkal való együttműködéshez, amely rugalmas modelleket biztosít AI SDK (v4.1.45) Speciális AI-orientált keresőmotor a szemantikus kereséshez, amely valójában megérti a kontextust Exa.js (v1.4.10) 1.1.3. UI and Styling - Utility-first CSS keretrendszer a gyors fejlesztéshez anélkül, hogy feláldoznánk a tervezési minőséget Tailwind CSS 4 Fej nélküli komponensek olyan hozzáférhető interfészek létrehozásához, amelyek minden eszközön működnek Radix UI - Modern ikonkönyvtár következetes tervezési nyelven Lucide React - A Radix UI-n és a Tailwind CSS-en alapuló komponensrendszer professzionális interfészekhez shadcn/ui 1.1.4. Forms and Validation Nagy teljesítményű könyvtár űrlapkezeléshez, amely nem lassítja az AI-interfészeket React Hook Form TypeScript-első érvényesítési rendszer statikus betűtípusokkal, amely elkapja a hibákat, mielőtt elérik a termelést Zod Zod és React Hook Form közötti zökkenőmentes integráció Hookform Resolvers 1.1.5. Content Processing Markdown tartalom renderelés komponenses támogatással a gazdag AI-generált jelentésekhez React Markdown - Modern könyvtár a dátumkezeléshez az AI kutatási idővonalakban date-fns Why This Stack Matters Ez a technológiai stack biztosítja a az , és Minden választás itt szándékos – a Next.js 15 párhuzamos útvonalaitól a komplex AI-munkafolyamatok kezelésére, az Exa.js-re, amely a mélyreható kutatást lehetővé tevő szemantikai keresési képességeket nyújtja. high performance type safety scalability Egy olyan rendszer, amely képes kezelni a rekurzív AI-kutatás számítási összetettségét, miközben fenntartja a modern alkalmazások által igényelt felhasználói élményt. The result? Készen állsz, hogy lásd, hogyan illeszkednek ezek a darabok össze, hogy valami igazán erőteljeset hozzanak létre? A mesterséges intelligencia forradalma nem jön el – ez itt van. És ez erős szakadékot teremt a fejlesztői közösségben. Egyrészt azok, akik az AI-t csak egy másik eszközként tekintik a termelékenység növelésére, a ChatGPT használatával funkciókat írnak és kódot hibakeresnek. Másrészt olyan fejlesztők vannak, akik megértik az alapvető igazságot: . the real opportunity isn't in using AI—it's in building it Míg a legtöbb fejlesztő megtanulja a ChatGPT hatékonyabb használatát, egy kisebb csoport elsajátítja az olyan rendszerek mögötti architektúrát, mint a Perplexity, a Claude és a testreszabott AI ügynökök. A vállalatoknak nincs szükségük olyan fejlesztőkre, akik AI-eszközöket tudnak használni, hanem olyan fejlesztőkre, akik AI-rendszereket tudnak építeni.A két készség közötti különbség meghatározza, hogy ki virágzik és ki elavul a következő gazdasági ciklusban. The harsh reality Ez a cikk egy teljes építészeti modellt nyújt a saját AI-alapú mélyreható kutatási ügynök létrehozásához, hasonlóan a Perplexity "Deep Research" funkciójához. Meg fogja tanulni nemcsak a technikai végrehajtást, hanem a mentális modelleket és a tervezési elveket, amelyek elválasztják az amatőr AI integrációkat a termelésre kész rendszerektől, amelyek versenyképes előnyökké válhatnak. : What you'll master by the end Recursive Search Architecture: Hogyan tervezzünk olyan rendszereket, amelyek fákban gondolkodnak, nem vonalakban AI-first adatvezetékek: a külső webes keresés integrálása a belső tudásbázisokkal Ügynökök szervezése: Olyan AI-rendszerek kiépítése, amelyek értékelhetik, iterálhatják és javíthatják saját kimeneteiket Termelési szempontok: A kiszolgálói erőforrások, az időzítések és a felhasználói élmények kezelése a hosszú távú AI-műveletekhez A cél nem az, hogy kódot adjon a másoláshoz. Ez az, hogy átadja az építészeti gondolkodást, amely lehetővé teszi, hogy AI-rendszereket tervezzen bármilyen tartományra, bármilyen felhasználási esetre és bármilyen skálára. Készen áll arra, hogy áthelyezze az AI-fogyasztót az AI-építészre? Merüljünk el abban, hogy a hagyományos LLM-eknek miért van szükségük egy "vezető kutyára", hogy hatékonyan navigálhassanak az interneten. 2. Introduction: Life After ChatGPT Changed Everything 2. Bevezetés: Az élet a ChatGPT után mindent megváltoztatott A ChatGPT és más nagy nyelvi modellek (LLM-ek) alapvetően forradalmasították az információval való kölcsönhatásunkat.De ha komoly alkalmazásokat építettél ezekkel az eszközökkel, akkor valószínűleg ugyanazt a falat ütötted: . 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 A ChatGPT, Claude és más modellek mögött álló csapatok megpróbálták megoldani ezt a beépített webes kereséssel.Elméletileg nagyszerűnek hangzik, de mélyebbre ásni, és néhány komoly építészeti hibát talál, amelyek miatt nem alkalmas a gyártási alkalmazásokra: : A rendszer egy vagy két keresési lekérdezést készít, megragadja az első néhány eredményt, és egy napot hív. Surface-Level Search Ha az első keresés nem ad átfogó eredményt, a rendszer nem tesz fel követő kérdéseket, vagy nem vizsgálja meg az alternatív szögeit. Zero Follow-Through A hagyományos keresőmotorok a hirdetésekkel, navigációs elemekkel és irreleváns tartalmakkal zsúfolt HTML oldalakat adják vissza.Az LLM-nek ki kell ásnia a hasznos információkat ebből a digitális szemétből. Garbage Data Quality A rendszer nem tudja összekapcsolni a talált információkat a belső adatokkal, vállalati dokumentumokkal vagy domain-specifikus tudásbázisokkal. Context Isolation 2.2. The Gold Standard: Perplexity's Deep Research Revolution A Perplexity volt az első cég, amely megmutatta nekünk, hogy a keresés-LLM integráció valójában hogyan működik. Az általános Google API-hívások helyett speciális keresőrendszereket használnak, amelyek tiszta, strukturált tartalmat adnak vissza, amelyet az AI-fogyasztásra terveztek. AI-Optimized Search Engines A rendszer elemzi a megállapításokat, új kérdéseket tesz fel, és addig folytatja a keresést, amíg átfogó képet nem készít. Iterative Investigation Process Ez egy önálló AI ügynök, amely percekig dolgozhat, ismétlődően fúrja le a témákat, és információkat gyűjthet tucatnyi forrásból. Deep Research Mode This is exactly the kind of system we're going to build together. 2.3. Why This Matters for Every Developer Az AI-első korszakban minden termék „okosabbá” akar válni, de a ChatGPT API-hoz való egyszerű csatlakoztatás most csak asztali tét. Aktuális információk keresése az internetről valós időben Kombinálja a nyilvános adatokat a sajátos tudásbázisokkal Egyedülálló betekintést generálhat a szabványos LLM-ből Alkalmazkodjon az Ön konkrét üzleti tartományához és iparági árnyalatokhoz 2.4. What You'll Walk Away With A célom nem az, hogy kódot adjak a másoláshoz (bár sok mindent megkapsz). Ismerje meg a mély AI kutatás mögötti filozófiát Tervezze meg az építészetet az Ön konkrét használati esete számára Végezze el a rendszert a modern stack használatával (Next.js 15, OpenAI, exa.ai) Integrálja a megoldást bármely meglévő termékbe A rendszer méretezése és optimalizálása az Ön igényeinek megfelelően Ennek a cikknek a végén egy teljes építészeti modellt és termelés-kész kód példákat kaphat a saját "Perplexity" - egy AI ügynök létrehozásához, amely a termék titkos fegyvere lehet. : Nemcsak a technikai végrehajtást fogjuk tanulmányozni, hanem az üzleti logikát is.Miért hatékonyabb a rekurzív keresés, mint a lineáris? Hogyan kombinálod megfelelően a külső és belső forrásokat? Milyen UX minták működnek a hosszú távú AI-műveletekhez? Ezek a kérdések ugyanolyan kritikusak, mint a kód. Important 2.5. For the Impatient: Skip to the Code Azok számára, akik már megszerezték a koncepciókat, és közvetlenül a megvalósításba akarnak belevetkezni, itt van a nyílt forráskódú megoldás, amit építünk: https://github.com/aifa-agi/aifa-deep-researcer-starter https://github.com/aifa-agi/aifa-deep-researcer-starter Személy szerint nem tudom elviselni azokat a cikkeket, amelyek sok szót és kevés szubsztanciát adnak neked. Érezd magad szabadon, hogy klónozd a repo-t, és most futd a fejlesztési módban. : A Vercel ingyenes tárhelyszolgáltatásánál időkorlátokat (403 hiba) találsz a termelésben, de a localhoston teljes mértékben kipróbálhatod és tanulmányozhatod a naplókat a szíved tartalmához. Pro tip Kezdjük azzal, hogy megértsük, miért van szükség az LLM-eknek egy "vezető kutyára", hogy hatékonyan navigáljanak az interneten. 3. Why LLMs Need a "Guide Dog": The Critical Role of External Search Systems 3. Miért van szükség az LLM-ekre egy "vezető kutyára": a külső kereső rendszerek kritikus szerepe Itt van egy kemény igazság, hogy sok fejlesztő megtanulja a drága módon: Ez nem hiba – ez egy alapvető építészeti korlátozás, amely kifinomult megoldást igényel: az AI-fogyasztásra tervezett speciális kereső rendszerekkel való integráció. Large Language Models cannot independently access current information from the internet 3.1. Why Traditional Search Engines Are AI Poison A Google, a Bing és más hagyományos keresőmotorok az emberek számára készültek, akik az interneten böngésznek, nem pedig az adatok feldolgozására szolgáló gépek számára. Hirdetési blokkok és navigációs zűrzavarok, amelyek zavarják a tartalomkitermelést Nem releváns tartalom (megjegyzések, oldalsávok, lábnyomok, cookie bannerek) Strukturálatlan adatok, amelyek összetett elemzést igényelnek, és gyakran sikertelenek 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 Láttam, hogy a csapatok heteket töltenek a HTML elemzők építésével, csak azért, hogy minden alkalommal megszakítsák őket, amikor egy nagy webhely frissíti elrendezésüket. It's not scalable, and it's definitely not reliable. 3.2. Keyword Matching vs. Semantic Understanding: A World of Difference A hagyományos keresőmotorok pontos szómegfeleléseket keresnek, teljesen figyelmen kívül hagyva a kontextust és a jelentést. Egy olyan lekérdezés, mint a "Next.js optimalizálás az e-kereskedelemhez" hiányozhat egy kiváló cikkről a "React alkalmazás teljesítményének növeléséről az online áruházakban", még akkor is, ha szemantikusan azonos témák. Ez olyan, mint egy kutatási asszisztens, aki csak a címben szereplő pontos szavakkal talál könyveket, miközben figyelmen kívül hagyja a tényleges tartalmat. For AI agents doing deep research, this approach is fundamentally broken. 3.3. AI-Native Search Engines: The Game Changer Az olyan speciális rendszerek, mint az Exa.ai, a Metaphor és a Tavily, megoldják azokat a főbb problémákat, amelyek a hagyományos keresést az AI számára használhatatlanná teszik: Semantic Query megértés Vektorképviseleteket használnak a jelentés alapján történő kereséshez, nem csak kulcsszavak szerint.Az AI akkor is megtalálhatja a releváns tartalmat, ha a pontos kifejezések nem egyeznek meg. Tiszta, strukturált adatok Előzetesen feldolgozott tartalmakat adnak vissza HTML szemét nélkül. Nincs többé rémálom vagy törött extraktor. Kontextuális tudatosság Megértik a korábbi lekérdezéseket és az általános kutatási kontextust, lehetővé téve a valóban iteratív kutatást. 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 A bemeneti adatok minősége közvetlenül meghatározza a végső kutatási kimenet minőségét. Strukturált tartalom törékeny HTML-elemzés nélkül Stabil API-k az automatizált, nagy mennyiségű használathoz : Csökkentett számítási felület az adatfeldolgozáshoz A jobb forrás relevancia jobb végső betekintést eredményez 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 Az AI-native keresőmotorok nem csak egy technikai részlet A megfelelő "vezető kutya" nélkül még a legkifinomultabb LLM is megpróbálja létrehozni a jelenlegi információk mély, pontos elemzését. they're the architectural foundation Gondolj erre így: nem küldenél egy ragyogó kutatót egy könyvtárba, ahol az összes könyv kódban van megírva, és az oldalak fele reklám. Give your AI the right tools for the job. In the next section, we'll dive into the specific architecture patterns that make recursive, deep research possible. The solution? Készen állsz, hogy lásd, hogyan illeszkednek össze a darabok? Fedezzük fel a rendszertervezést, amely valóban intelligens AI kutatási ügynököket támogat. 4. Think Like a Tree: The Architecture of Recursive Search 4. Think Like a Tree: The Architecture of Recursive Search The human brain naturally structures complex information as hierarchical networks. When a researcher investigates a new topic, they don't move in a straight line — they develop a tree-like knowledge network where each new discovery generates additional questions and research directions. This is exactly the mental model we need to implement in our deep search AI agent architecture. 4.1. The Fundamental Difference in Approaches A hagyományos kereső rendszerek és a beépített webes keresés az LLM-ben lineárisan működnek: kérdést kapnak → keresést végeznek → eredményeket adnak vissza → válaszokat generálnak. Problems with the Linear Approach: : The system stops at the first facts it finds Surface-level results Nincs kontextus folytonosság: Minden keresési lekérdezés elszigetelt az előzőktől Hiányzó kapcsolatok: A rendszer nem látja a téma különböző aspektusainak kapcsolatát Véletlenszerű minőség: Az eredmények teljes mértékben a kezdeti lekérdezés szerencséjétől függenek A fa-alapú megközelítés megoldja ezeket a problémákat az emberi kutatás természetes folyamatának modellezésével.Minden felfedezett forrás új kérdéseket generálhat, amelyek külön kutatási ágakká válnak. 4.2. Anatomy of a Search Tree Vizsgáljuk meg a mély keresési fa szerkezetét egy konkrét példával: 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 Ezek a fő szempontok a téma, hogy az LLM generál elemzés alapján az eredeti lekérdezés. A mi példánkban ezek a teljesítmény, a költségek, és a SEO. Ezek az altárgyak nem alakulnak véletlenszerűen - az LLM elemzi a szemantikai tér a lekérdezés és azonosítja a fő kutatási irányokat. First-level branches a konkrét források (cikkek, dokumentumok, tanulmányok) megtalálhatók minden egyes al-kérdéshez. Tree leaves Amikor a rendszer elemzi a talált forrásokat, felfedezheti a téma új aspektusait, amelyek további vizsgálatot igényelnek. Recursive branches 4.3. Practical Advantages of Tree Architecture A rendszer a tények véletlenszerű gyűjteménye helyett logikusan összekapcsolt tudástérképet hoz létre, ahol minden elemnek helye van az általános struktúrában. Research Completeness : A rendszer automatikusan meghatározza, hogy mely irányok mélyebb vizsgálatot igényelnek. Ha egy ága sok releváns forrást eredményez, a rendszer mélyebbre juthat. Adaptive Depth : Each new search query is formed considering already found information. This allows for more precise and specific questions than isolated searches. Contextual Connectivity Az egyes fák szintjén a rendszer értékelheti a megtalált források relevanciáját és minőségét, szűrheti a zajt, és a legértékesebb információkra koncentrálhat. Quality Assessment 4.4. Managing Tree Parameters Meghatározza, hogy a rendszer hány rekurziós szintet képes végrehajtani. 1. mélység csak a fő al-kérdéseket jelenti további fúrás nélkül. 3. mélység lehetővé teszi a valóban részletes vizsgálatot. Search Depth szabályozza az egyes szintek al-kérdéseinek számát. Túl sok szélesség vezethet sok irány felszínes vizsgálatához. Az optimális szélesség általában 3-5 fő irányban szintenként. Search Width Az információkeresés összefüggésében ez megfelel az egyes megtalált források alapján generált új al-lekérdezések számának. Branching Factor 4.5. Optimization and Problem Prevention : The system must track already investigated directions to avoid infinite recursion loops. Cycle Prevention : A több ígéretes ágakat nagyobb mélységgel kell vizsgálni, míg a kevésbé informatív irányokat korábban be lehet fejezni. Dynamic Prioritization Különböző faágakat lehet párhuzamosan vizsgálni, jelentősen felgyorsítva a folyamatot, ha elegendő számítási erőforrás áll rendelkezésre. Parallel Investigation A keresési eredményeket gyorsítótárban kell tárolni, hogy elkerülhető legyen a külső API-k ismételt megkeresése, amikor a témák átfedik egymást. Memory and Caching : Ez egy másik probléma, amely gyakran nyilvánul meg a mély kutatás végrehajtásakor, különösen akkor, ha a mélység meghaladja a két szintet. Azt mondhatnánk, hogy a szint növelése exponenciálisan növeli a kutatás összetettségét. Execution Time and Server Timeouts 4.6. The Bottom Line: From Chaos to System A fák architektúrája az információkeresés kaotikus folyamatát szisztematikus vizsgálatra alakítja át, ahol minden elemnek helye van az általános tudásszerkezetben.Ez lehetővé teszi az AI ügynök számára, hogy tapasztalt kutatóként dolgozzon – nem csak tényeket gyűjtsön, hanem a vizsgált téma átfogó megértését is. Egy AI rendszer, amely úgy gondolkodik, mint egy emberi kutató, de gépi skálán és sebességgel működik. The result? Készen áll arra, hogy megnézzük, hogyan fordítjuk le ezt a koncepcionális keretrendszert a termelési kódba? 5. The "Search-Evaluate-Deepen" Cycle: Implementing True Recursion 5. A „keresés-értékelés-mélyítés” ciklus: A valódi visszafordítás végrehajtása A rekurzív internetes elemzés nem csupán egy technikai jellemző, hanem alapvető szükséglet az igazán intelligens AI-ügynökök létrehozásához.A keresési eredmények első oldala csak az információ jéghegyének csúcsát mutatja.A valódi betekintések mélyebbek a kapcsolódó cikkekben, hivatkozott forrásokban és speciális kutatásokban, amelyeket a legtöbb rendszer soha nem ér el. 5.1. Data Architecture for Deep Investigation A termelési megvalósításokban a rendszer strukturált adattípusokkal működik, amelyek minden egyes recursion szinten felhalmozzák a tudást: 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[]; }; Ez az adatstruktúra felhalmozza a tudást minden egyes visszafordulási szinten, és egységes kontextust teremt az egész vizsgálat számára - pontosan ez különbözteti meg a szakmai kutatást a véletlenszerű ténygyűjtéstől. 5.2. Stage 1: "Search" — Intelligent Query Generation A rendszer nem támaszkodik egyetlen keresési lekérdezésre, hanem több célzott lekérdezést generál az LLM intelligenciával: 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; }; • A A paraméter szabályozza a kutatás szélességét – a párhuzamosan vizsgálandó különböző témakörök számát. Itt történik a varázslat: a lineáris keresés helyett exponenciális lefedettséget kap. Key insight breadth 5.3. Stage 2: "Evaluate" — AI-Driven Result Filtering Nem minden megtalált forrás egyformán értékes.A rendszer egy AI ügynököt használ az egyes eredmények intelligens értékeléséhez szükséges eszközökkel: 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; }; A rendszer egy AI ügynököt használ olyan eszközökkel, amelyek ismételten kereshetik és értékelhetik az eredményeket, amíg elegendő releváns információt nem találnak. Revolutionary approach 5.4. Vector Knowledge Base Integration A tényleges erő a külső és a belső keresés közötti szinergiából származik.Minden lekérdezés esetén a rendszer egyidejűleg keres az internetre és saját vektoros tudásbázisára: 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 A fő kutatási körben a rendszer mindkét forrást párhuzamosan lekérdezi: 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 3. szakasz: „Mélyreható” – Kísérleti kérdések generálása A legerősebb jellemző: a rendszer képessége, hogy új kutatási irányokat hozzon létre a már megtalált információk alapján: 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 Minden megtalált forrást elemezünk, hogy kivonjunk új kérdéseket, amelyek a következő szintű keresés alapjául szolgálnak: 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 The production implementation shows how to manage exponential complexity growth: 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 : minden szinten megakadályozza az exponenciális növekedést A következő: A kutatás meghatározott területekre irányulhat : 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 : A nyilvános adatok és a belső ismeretek kombinálása lehetővé teszi olyan jelentések létrehozását, amelyeket senki más nem tud megismételni. Creating Unique Content A külső adatok pénzt és szélességet biztosítanak, a belső adatok mélységet és specifikumot biztosítanak.A rendszer online megtalálhatja az általános iparági trendeket, majd kiegészítheti azokat saját adataival arról, hogy ezek a trendek hogyan befolyásolják vállalkozását. Context Enrichment Még akkor is, ha a webes információk elavultak vagy pontatlanok, a belső tudásbázis frissebb és ellenőrzött adatokat tud nyújtani. Maintaining Currency 6. From Chaos to Order: Generating Expert-Level Reports 6. From Chaos to Order: Generating Expert-Level Reports A rekurzív keresés minden szintjének befejezése után a rendszer hatalmas mennyiségű eltérő információt halmoz fel: webes keresési eredményeket, vektor adatbázis-adatokat, generált tanulást és nyomonkövetési kérdéseket. 6.1. Context Accumulation: Building the Complete Picture Az összes összegyűjtött adat egyetlen A szerkezet, amely a végső szintézis teljes kontextusaként szolgál: 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 }; Ez egy átfogó tudásdiagram, amely rögzíti az egész kutatási utat. Minden betekintés, minden forrás, minden kapcsolat megmarad a végső szintézishez. This isn't just data storage 6.2. The Master Prompt: Where Intelligence Meets Synthesis A végleges jelentés minősége közvetlenül függ a generációs prompt kifinomultságától.A rendszer az OpenAI legerősebb modelljét használja szintézisre: 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; }; : Nem csak azt kérjük, hogy az AI összegezze - teljes kutatási adatkészletet biztosítunk, és azt kérjük, hogy gondolkodjon, mint egy domain szakértő. Key insight 6.3. Structured Output: Beyond Simple Summaries A rendszer nem csak szöveges összefoglalót hoz létre – strukturált dokumentumokat generál fejlécekkel, táblázatokkal, pro/con listákkal és professzionális formázással, amint az az eredmény mentésében látható: 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 Ez a tökéletes formátum a mesterséges intelligencia által generált tartalomhoz - eléggé strukturált a professzionális prezentációhoz, elég rugalmas a különböző kimeneti formátumokhoz, és olvasható bármely modern fejlesztési munkafolyamatban. Why Markdown? 6.4. Quality Control Through System Prompts A Lehetővé teszi a jelentés stílusának és szerkezetének testreszabását a konkrét igényekhez: systemPrompt Akadémiai stílus kutatási papírokhoz és tudományos elemzéshez Üzleti formátum a vállalati jelentésekhez és a vezetői összefoglalókhoz A fejlesztőközpontú tartalom műszaki dokumentációja Befektetési elemzés pénzügyi és stratégiai jelentésekhez // Example: Business-focused system prompt const businessSystemPrompt = `You are a senior business analyst creating an executive report. Structure your analysis with: Végrehajtó összefoglaló Kulcsfontosságú eredmények Piaci következmények ajánlások Kockázatértékelés Use data-driven insights and provide specific examples from the research.`; 6.5. The Intelligence Multiplier Effect A rendszer nem csak összesíti az információkat – szintetizálja a különböző források közötti kapcsolatokból származó betekintéseket.Az emberi kutató 8-12 órát tölthet ezzel a szintű vizsgálattal. Here's what makes this approach revolutionary 6.6. Production Considerations : A mélyreható kutatással (mélység 3-4), a felhalmozott kontextus óriási lehet. Memory Management A gyártási végrehajtásoknak okos truncációs stratégiákra van szükségük, amelyek megőrzik a legértékesebb betekintést. Token Optimization Nem minden generált jelentés egyenlő. fontolja meg a jelentés teljességének és koherenciájának értékelésére szolgáló pontszámlálási mechanizmusok bevezetését. Quality Assurance 6.7. Real-World Impact : Hours of Human Research → Minutes of AI elemzés A mesterséges intelligencia több forrást képes feldolgozni és összekapcsolni, mint amennyit az ember képes Minden jelentés ugyanazt a szigorú módszertant követ : Több tucat jelentés egyszerre Time Compression Depth Enhancement Consistency Scalability 7. Conclusion: Building the Future of AI Research 7. Következtetés: Az AI-kutatás jövőjének építése Egy mélyreható kutatási AI-ügynök létrehozása nemcsak technikai kihívás – ez egy olyan építészeti megoldás, amely bármely termék számára versenyelőnyt jelenthet.A koncepciótól a megvalósításig terjedő teljes ciklust lefedtük, bemutatva, hogyan lehet az információkeresés kaotikus folyamatát szisztematikus, szakértői szintű vizsgálatra alakítani. 7.1. Key Architectural Principles A mélyreható keresés a fák által strukturált információs hálózatok feltárásáról szól, ahol minden felfedezés új kérdéseket és kutatási irányokat hoz létre. Think in Trees, Not Lines : A speciális keresőmotorok, mint például az exa.ai, nem választhatók – elengedhetetlenek a minőségi kutatáshoz. tiszta adatokat adnak vissza a hagyományos keresési API-k által biztosított HTML szemét helyett. Use AI-Native Tools : The first page of results is just the tip of the iceberg. Real insights lie in recursive deepening through the "Search-Evaluate-Deepen" cycle. Apply Recursion for Depth : The synergy between public internet data and private organizational knowledge creates unique content that's impossible to obtain any other way. Combine External and Internal Sources Az eszközökkel rendelkező AI-ügynökök nemcsak információkat kereshetnek, hanem értékelhetik annak relevanciáját, új kérdéseket generálhatnak, és strukturált jelentéseket készíthetnek. Use LLMs for Both Analysis and Synthesis 7.2. Production-Ready Results A Next.js 15, az OpenAI és az exa.ai alapú megvalósítás azt mutatja, hogy egy ilyen rendszert lehet építeni és telepíteni a termelésbe. Az összes kulcsfontosságú összetevőt tartalmazza: https://github.com/aifa-agi/aifa-deep-researcer-starter Rekurzív architektúra mélység- és szélességkezeléssel A webes keresés integrálása a vektoros tudásbázisokkal AI ügynökök az eredményértékelés eszközeivel Szakértői jelentések generálása a fájlmentési képességekkel 7.3. Challenges and Limitations A 2 szintnél nagyobb mélységű kutatás órákat vehet igénybe, és speciális megoldásokat igényel a termelési környezetekhez. Server Timeouts Minden egyes mélységi szint geometriailag növeli a lekérdezések számát, ami gondos erőforrás-kezelést igényel. Exponential Complexity Growth Még az AI keresőmotorok is visszaadhatnak pontatlan információkat, ami további érvényesítést és tényellenőrzést igényel. Source Quality 7.4. Your Next Steps Most már van egy teljes építészeti terv és valós kód példák. : Használja a cikk alapverzióját a prototípus készítéséhez Klónok Helyi kísérletek Integrálja ezeket az elveket a meglévő termékekbe és munkafolyamatokba 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 8. Otthoni feladat kihívás: A régóta várt UX probléma megoldása A mély kutatási AI-ügynökök technikai architektúráját fedeztük le, de egy kritikus fontosságú UX probléma marad: mit csinálsz, ha a rendszer több percig működik, miközben a felhasználó üres képernyőre néz? 8.1. The Problem: Server Silence Kills Trust A tipikus webalkalmazásokkal ellentétben, ahol a műveletek másodperceket vesz igénybe, a mély kutatási AI-ügynökök percekig hallgathatnak.A felhasználók nem kapnak visszajelzést a szerverről a folyamat végéig. Várakozási szorongás: a felhasználók nem tudják, hogy a rendszer működik-e vagy fagyott Ellenőrzés elvesztése: Nincs mód arra, hogy megértsük, meddig kell várni Csökkenő bizalom: Úgy tűnik, hogy az alkalmazás megszakadt, vagy a kérést "eltöltötték" Magas visszafordulási arány: a felhasználók bezárják a lapot anélkül, hogy várnának az eredményekre Perplexity, Claude, and other modern AI products solve this with interactive animations, progress indicators, and dynamic hints. But how do you implement something similar when your server doesn't send intermediate data? 8.2. The Developer Challenge Képzelje el ezt a technikai korlátozást: a Next.js API útvonal hosszú műveletet végez (mély kutatás) és nem küldhet közbenső adatokat a befejezésig. A frontend csak a végén kap választ. 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: Milyen UX mintákat alkalmazna a mély keresési folyamatok vizualizálására, amikor a szerver „csendes”? Hogyan szimulálhatja az "élő" előrehaladást a valódi szerver állapotfrissítések nélkül is? Használjon hamis haladási sávokat, vagy ez sérti a felhasználói bizalmat? Milyen animációk és mikro-interakciók segítenek létrehozni egy „élő” rendszer érzését? User Communication: Hogyan magyarázza el a felhasználóknak, hogy miért lehet hosszú a várakozás? milyen szövegeket/illusztrációkat használjon? Meg kell mutatnia a becsült várakozási időt, ha nagymértékben változhatnak (2–60 perc)? Hogyan vizualizálod a folyamat lépéseit („Keresési lekérdezések generálása...”, „A források elemzése...”, „A szakértői jelentés készítése...”)? Milyen metaforák segítenek a felhasználóknak megérteni a várakozás értékét? Technical Implementation: Milyen optimista UI megközelítéseket lehet alkalmazni szerver visszajelzés nélkül? Hogyan valósíthat meg egy „beszélgetési” felületet, amely támogatja a felhasználókat a várakozás alatt? Használhatja a helyi számításokat (Web Workers, WASM) a haladás szimulálására? Hogyan szervezz gracióz degradációt, ha a felhasználók bezárják a lapot a kutatás során? 8.4. Learning from the Best Tanulmányozza a Perplexity Deep Research, a Bing Copilot, a Google Search Generative Experience alkalmazásban megvalósított megoldásokat. Mit vehet fel a játékok betöltési képernyőiből, amelyek percekig tartják a figyelmet? : Az azonnali ChatGPT válaszok korában a minőségi várakozás versenyelőnyt jelenthet.A felhasználók hajlandóak várni, ha megértik a folyamat értékét és úgy érzik, hogy a rendszer működik számukra. Remember 9. About the Author and AIFA Project 9. A szerzőről és az AIFA projektről A szerző, , a közelmúltbeli kiadványsorozatában részletezi az általa megvalósított ambiciózus nyílt forráskódú projektben alkalmazott eszközöket és építészeti megoldásokat (AI ügynökök az evolúciós és önreplikáló architektúrában). Roman Bolszianov ÁFA A jelenlegi megvalósításában az AIFA már egy lenyűgöző indító sablont képvisel az AI-első alkalmazások létrehozásához egy egyedi felhasználói felületgel, ahol a mesterséges intelligencia az elsődleges interakciós módszer, míg a hagyományos webes felület segédvizualizációként szolgál. A projekt hosszú távú célja, hogy egy teljes körű AGI-rendszerré alakuljon, ahol az AI-ügynökök képesek lesznek: Algoritmusok fejlesztése és fejlesztése Önreplikáció és új szakosodott ügynökök létrehozása Verseny és együttműködés elosztott környezetben Autonóm működés a webhelyeken és a blokklánc hálózatokban Az ebben a cikkben leírt mélyreható keresés csak egyike a jövő AGI ügynökeinek alapvető készségeinek, akik nemcsak információkat tudnak kutatni, hanem döntéseket is hoznak, termékeket hoznak létre, és kölcsönhatásba lépnek a valós világgal. Ha érdekli a projekt fejlődésének megfigyelése és a legmodernebb AI-technológiákkal való kísérletezés, ne habozzon a Minden egyes elkötelezettség közelebb visz minket egy valóban autonóm mesterséges intelligencia létrehozásához. Az AIFA Repository A kód nyitott, az építészet bizonyított, és a lehetőségek korlátlanok.A következő áttörés az AI-alapú kutatásban csak egy git klón. Ready to build the future?