369 olvasmányok
369 olvasmányok

Építsen egy AI ügynököt, aki megkeresi a versenytársait

által aifa27m2025/07/02
Read on Terminal Reader

Túl hosszú; Olvasni

Ez az átfogó útmutató megtanítja a fejlesztőknek, hogyan lehet egy mélyreható kutatási AI ügynököt építeni, hasonlóan a Perplexity "Deep Research" funkciójához. Megtanulják a recursive keresési architektúrát, az AI-native keresési integrációt, és hogyan lehet kombinálni a külső webes adatokat a belső tudásbázisokkal. A cikk gyártásra kész TypeScript kódot biztosít Next.js 15, OpenAI és exa.ai használatával, valamint építészeti elveket az AI-rendszerek létrehozásához, amelyek kutatást végeznek, mint az emberi elemzők, de gépi szinten.
featured image - Építsen egy AI ügynököt, aki megkeresi a versenytársait
aifa HackerNoon profile picture

É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.

AIFA for deep researching starter


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.

Technical ArchitectureHogyan 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

Mental ModelsMiért a mélyreható keresés egy fa szerkezet, nem egy lineáris folyamat – és hogyan változik meg mindez az AI-kutatásban

Practical SolutionsHogyan 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

Performance OptimizationHogyan 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

Production-Ready CodeKonkrét TypeScript-implementációk modern tech stack használatával, amelyeket ma telepíthet

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

React 19- 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

Next.js 15- 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)

TypeScript 5Szigorú írás a kód megbízhatóságáért és a kiemelkedő fejlesztői tapasztalatokért a komplex AI-rendszerek építésekor

1.1.2. AI and Integrations

OpenAI SDK (v4.96.2)- Hivatalos SDK a GPT-4 és más OpenAI modellekkel való integrációhoz, teljes streaming támogatással

AI SDK (v4.1.45)- 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

Exa.js (v1.4.10)Speciális AI-orientált keresőmotor a szemantikus kereséshez, amely valójában megérti a kontextust

1.1.3. UI and Styling

Tailwind CSS 4- Utility-first CSS keretrendszer a gyors fejlesztéshez anélkül, hogy feláldoznánk a tervezési minőséget

Radix UIFej nélküli komponensek olyan hozzáférhető interfészek létrehozásához, amelyek minden eszközön működnek

Lucide React- Modern ikonkönyvtár következetes tervezési nyelven

shadcn/ui- A Radix UI-n és a Tailwind CSS-en alapuló komponensrendszer professzionális interfészekhez

1.1.4. Forms and Validation

React Hook FormNagy teljesítményű könyvtár űrlapkezeléshez, amely nem lassítja az AI-interfészeket

ZodTypeScript-első érvényesítési rendszer statikus betűtípusokkal, amely elkapja a hibákat, mielőtt elérik a termelést

Hookform ResolversZod és React Hook Form közötti zökkenőmentes integráció

1.1.5. Content Processing

React MarkdownMarkdown tartalom renderelés komponenses támogatással a gazdag AI-generált jelentésekhez

date-fns- Modern könyvtár a dátumkezeléshez az AI kutatási idővonalakban

Why This Stack Matters

Ez a technológiai stack biztosítja ahigh performanceaz ,type safetyésscalabilityMinden 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.

The result?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.

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.

The harsh realityA 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.

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:

Surface-Level Search: 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.

Zero Follow-ThroughHa 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.

Garbage Data QualityA 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.

Context IsolationA rendszer nem tudja összekapcsolni a talált információkat a belső adatokkal, vállalati dokumentumokkal vagy domain-specifikus tudásbázisokkal.

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.

AI-Optimized Search EnginesAz á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.

Iterative Investigation ProcessA 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.

Deep Research ModeEz 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.

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.

Important: 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.

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.

Pro tip: 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.

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:Large Language Models cannot independently access current information from the internetEz 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ó.

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.

Data ReliabilityStrukturált tartalom törékeny HTML-elemzés nélkül
ScalabilityStabil API-k az automatizált, nagy mennyiségű használathoz
Cost Efficiency: Csökkentett számítási felület az adatfeldolgozáshoz
AccuracyA jobb forrás relevancia jobb végső betekintést eredményez

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észletthey're the architectural foundationA 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.

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.

The solution? 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.

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

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:

  • Surface-level results: The system stops at the first facts it finds
  • 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

First-level branchesEzek 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.

Tree leavesa konkrét források (cikkek, dokumentumok, tanulmányok) megtalálhatók minden egyes al-kérdéshez.

Recursive branchesAmikor a rendszer elemzi a talált forrásokat, felfedezheti a téma új aspektusait, amelyek további vizsgálatot igényelnek.

4.3. Practical Advantages of Tree Architecture

Research CompletenessA 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.

Adaptive Depth: 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.

Contextual Connectivity: Each new search query is formed considering already found information. This allows for more precise and specific questions than isolated searches.

Quality AssessmentAz 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.

4.4. Managing Tree Parameters

Search DepthMeghatá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 Widthszabá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.

Branching FactorAz 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.

4.5. Optimization and Problem Prevention

Cycle Prevention: The system must track already investigated directions to avoid infinite recursion loops.

Dynamic Prioritization: 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.

Parallel InvestigationKü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.

Memory and CachingA 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.

Execution Time and Server Timeouts: 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.

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.

The result?Egy AI rendszer, amely úgy gondolkodik, mint egy emberi kutató, de gépi skálán és sebességgel működik.

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;
};

Key insight• AbreadthA 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.

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;
};

Revolutionary approachA 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.

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

Width ReductionMath.ceil(breadth / 2)minden szinten megakadályozza az exponenciális növekedést
Thought VectorA következő:vectorOfThoughtA kutatás meghatározott területekre irányulhat
Context Accumulation: All results are preserved in a unified data structure

5.10. The Hybrid Advantage in Practice

Creating Unique Content: 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.

Context EnrichmentA 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.

Maintaining CurrencyMé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.

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 egyetlenResearchA szerkezet, amely a végső szintézis teljes kontextusaként szolgál:

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 storageEz 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.

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;
};

Key insight: 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ő.

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

Why 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.

6.4. Quality Control Through System Prompts

AsystemPromptLehetővé teszi a jelentés stílusának és szerkezetének testreszabását a konkrét igényekhez:

  • 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:

  1. Végrehajtó összefoglaló
  2. Kulcsfontosságú eredmények
  3. Piaci következmények
  4. ajánlások
  5. Kockázatértékelés

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

6.5. The Intelligence Multiplier Effect

Here's what makes this approach revolutionaryA 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.

6.6. Production Considerations

Memory Management: A mélyreható kutatással (mélység 3-4), a felhalmozott kontextus óriási lehet.

Token OptimizationA 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.

Quality AssuranceNem 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.

6.7. Real-World Impact

Time Compression: Hours of Human Research → Minutes of AI elemzés
Depth EnhancementA mesterséges intelligencia több forrást képes feldolgozni és összekapcsolni, mint amennyit az ember képes
ConsistencyMinden jelentés ugyanazt a szigorú módszertant követ
Scalability: Több tucat jelentés egyszerre

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

Think in Trees, Not LinesA 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.

Use AI-Native Tools: 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.

Apply Recursion for Depth: The first page of results is just the tip of the iceberg. Real insights lie in recursive deepening through the "Search-Evaluate-Deepen" cycle.

Combine External and Internal Sources: The synergy between public internet data and private organizational knowledge creates unique content that's impossible to obtain any other way.

Use LLMs for Both Analysis and SynthesisAz 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.

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.https://github.com/aifa-agi/aifa-deep-researcer-starterAz összes kulcsfontosságú összetevőt tartalmazza:

  • 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

Server TimeoutsA 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.

Exponential Complexity GrowthMinden egyes mélységi szint geometriailag növeli a lekérdezések számát, ami gondos erőforrás-kezelést igényel.

Source QualityMé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.

7.4. Your Next Steps

Most már van egy teljes építészeti terv és valós kód példák.

Start with Minimal Implementation: Használja a cikk alapverzióját a prototípus készítéséhez
Explore the Ready SolutionKlónokhttps://github.com/aifa-agi/aifa-deep-researcer-starterHelyi kísérletek
Adapt to Your NeedsIntegrálja ezeket az elveket a meglévő termékekbe és munkafolyamatokba


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?

Remember: 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.

9. About the Author and AIFA Project

9. A szerzőről és az AIFA projektről

A szerző,Roman Bolszianov, 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ÁFA(AI ügynökök az evolúciós és önreplikáló architektúrában).

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 aAz AIFA RepositoryMinden egyes elkötelezettség közelebb visz minket egy valóban autonóm mesterséges intelligencia létrehozásához.

Ready to build the future?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.


Trending Topics

blockchaincryptocurrencyhackernoon-top-storyprogrammingsoftware-developmenttechnologystartuphackernoon-booksBitcoinbooks