Felo API PlatformFelo API Platform

Výzkum

Proměňte jednu otázku ve výzkumný brief se zdroji

Zeptejte se webu, uložte stránky za odpovědí jako Markdown, přidejte, co říkají praktici na X, a udržte důkazy v LiveDoc, který lze později prohledat.

Čas20 minutÚroveňStředníAktualizováno2026-10-29
Pro kohoZakladatelé a operátořiVýzkumníci trhuTýmy GTM

Zkopírovat prompt

Nahraďte pole v hranatých závorkách a vložte do Claude Code, Codex nebo AI s přístupem k terminálu. Nainstaluje skill Felo, zeptá se před utracením kreditů a spustí workflow.

Připrav rešeršní briefing se zdroji k [otázka nebo rozhodnutí].

Rozsah: [trh, region, jazyk]. Období: [posledních 30 dní / posledních 12 měsíců]. Publikum: [kdo ho bude číst]. Hloubka: [přehled na jednu stránku / plný briefing].

Vytvoř Markdown briefing s:
1. Krátkou odpovědí ve třech bodech.
2. Tabulkou důkazů: tvrzení, název zdroje, URL, datum publikace.
3. Body, ve kterých si zdroje odporují.
4. Co zůstává neznámé.
5. Úplným seznamem zdrojů.

Pravidla:
- Každé faktické tvrzení potřebuje odkaz na zdroj. Odděluj fakta, názory a vlastní závěry.
- Nikdy si nevymýšlej citace, metriky, data ani zdroje. Chybějící data piš jako „Data nejsou k dispozici“, nikdy nula.
- Upřednostňuj primární zdroje. X používej jako signál od praktiků, ne jako důkaz.
- Přveď období na konkrétní počáteční a koncové datum a uveď časové pásmo.
- Než utratíš kredity, ukaž plánovaná volání API a počkej na mé schválení.
- Nevytvářej opakovaný úkol, neposílej zprávy a nic nezveřejňuj.
- Výsledek zapiš do ./research-brief.md a shrň ho v chatu.

Kopie obsahuje i instalační kroky a bezpečnostní pravidla.

Co dostanete

Ukázkový výstup jednoho běhu. Ne živé generování.

Ukázkový briefing (výňatek)

Nahradí malé modely velké v podpůrných botech?

Krátká odpověď

  • Malé modely už stačí na klasifikaci a odpovědi první linie.
  • Úzkým hrdlem je kvalita vyhledávání, ne velikost modelu.
  • Týmy, které přešly, hlásí nižší náklady na ticket, ne vyšší míru vyřešení.
TvrzeníZdrojDatum
Kvalita vyhledávání určuje kvalitu odpovědihttps://example.com/rag-eval2026-10-12
Náklady na vyřešený ticket klesly o 38 %https://example.com/support-case2026-09-28

Kde se zdroje rozcházejí

Benchmarky dodavatelů ukazují téměř paritu; nezávislé testy stále vidí mezeru u vícestupňových refundací.

Co zůstává neznámé

Zda se mezera zavře lepšími nástroji, nebo je potřeba větší model.

Přesná volání

Pro vývojáře: stejný workflow jako kód, v pořadí provádění.

Zobrazit skutečná API volání
  1. Zeptejte se webu

    Chat prohledá web, seřadí zdroje, napíše odpověď a vrátí použité zdroje. Uložte první tři: každý další krok sleduje jeden z těch odkazů. Helper pošle klíč jednou a vyhodí chybu mimo 2xx.

    research.ts
    const BASE = "https://openapi.felo.ai";
    const headers = {
      Authorization: `Bearer ${process.env.FELO_API_KEY}`,
      "Content-Type": "application/json",
    };
    
    async function felo<T>(path: string, body?: unknown): Promise<T> {
      const res = await fetch(`${BASE}${path}`, {
        method: body ? "POST" : "GET",
        headers,
        body: body ? JSON.stringify(body) : undefined,
      });
      if (!res.ok) throw new Error(`${res.status}: ${await res.text()}`);
      return res.json() as Promise<T>;
    }
    
    type ChatData = {
      data: { answer: string; resources: { link: string; title: string }[] };
    };
    
    export async function answer(question: string) {
      const chat = await felo<ChatData>("/v2/chat", { query: question });
      return { answer: chat.data.answer, sources: chat.data.resources.slice(0, 3) };
    }

    Ukázkový výstup

    {
      "answer": "Recent developments include …",
      "sources": [
        { "link": "https://example.com/article", "title": "…" }
      ]
    }
  2. Stáhněte stránky za odpovědí

    Úryvek pro brief nestačí. Stáhněte stránky jako Markdown s režimem čtení, aby citace a nadpisy přežily bez šumu navigace. Opětovné vyžádání stejné URL může použít cache extrakce.

    research.ts
    type ExtractData = { data: { content: string } };
    
    const pages = await Promise.all(
      sources.map((source) =>
        felo<ExtractData>("/v2/web/extract", {
          url: source.link,
          output_format: "markdown",
          with_readability: true,
          with_cache: true,
        }).then((page) => ({ ...source, content: page.data.content })),
      ),
    );

    Ukázkový výstup

    // pages[0].content
    "# Example Article\n\nExtracted article content…"
  3. Přidejte, co říká X

    Zprávy pokrývají oznámení; X ukazuje, s čím se lidé v praxi setkávají. Hledejte posledních sedm dní a uložte autora i čas, aby brief každé tvrzení připsal. Zvyšte limit pro širší záběr; každá stránka výsledků má cursor.

    research.ts
    type XData = {
      data: {
        tweets: {
          content: string;
          author: { username: string };
          created_at: string;
        }[];
      };
    };
    
    const since = Math.floor((Date.now() - 7 * 24 * 60 * 60 * 1000) / 1000);
    
    const social = await felo<XData>("/v2/x/tweet/search", {
      query: question,
      limit: 10,
      since_time: since,
    });

    Ukázkový výstup

    { "data": { "tweets": [
      { "content": "…", "author": { "username": "…" }, "created_at": "…" }
    ] } }
  4. Archivujte důkazy v LiveDoc

    Vytvořte LiveDoc a přidejte zdroje jako URL zdroje. API deduplikuje viděné URL a vrací resource id na URL, takže další otázky mohou prohledat stejné důkazy bez nového stahování.

    research.ts
    type LiveDocData = { data: { short_id: string } };
    
    const doc = await felo<LiveDocData>("/v2/livedocs", {
      name: `Research: ${question.slice(0, 60)}`,
      description: "Sources collected while answering the question",
    });
    
    await felo(`/v2/livedocs/${doc.data.short_id}/resources/urls`, {
      urls: sources.map((source) => ({ url: source.link, title: source.title })),
    });
    
    console.log(doc.data.short_id); // keep this for later queries
  5. Zeptejte se důkazů později

    To je výhoda: další otázka dělá sémantické hledání na LiveDoc místo otevřeného webu. resource_ids předávejte jen pro omezení na známou podmnožinu.

    research.ts
    type Retrieved = {
      data: { title: string; content: string; score: number }[];
    };
    
    async function ask(livedoc: string, query: string) {
      const hits = await felo<Retrieved>(
        `/v2/livedocs/${livedoc}/resources/retrieve`,
        { query },
      );
      return hits.data.filter((hit) => hit.score >= 0.7);
    }

    Ukázkový výstup

    [
      { "title": "…", "content": "…", "score": 0.92 }
    ]

Co obsahuje

  • Odpověď se zdroji z Chat API a stránky za ní
  • Extrakce plných stránek jako Markdown pro nejsilnější zdroje
  • Posty X s autorem a datem jako signál praktiků
  • LiveDoc, který udrží důkazy prohledatelné pro další otázky

Co nedělá

  • Jen veřejné zdroje; placené stránky a stránky za přihlášením mohou selhat
  • Pokrytí X je signál, ne reprezentativní průzkum
  • Bez rozhovorů, privátních dat a placených databází
  • Když jsou důkazy řídké, brief to řekne místo vyplňování mezer
  • Jeden běh na prompt; plánování patří agentovi nebo cronu

Otázky

Odkud pocházejí zdroje?

Chat API vrací použité stránky, Web Fetch převádí nejsilnější do Markdownu a X Search přidává datované posty praktiků. Každá položka si drží URL.

Lze zkoumat trh mimo technologie?

Ano. Nahraďte pole rozsahu svým trhem. Niche mohou mít méně veřejných zdrojů; brief ty mezery označí místo hádání.

Zůstávají důkazy po běhu?

Ano, pokud proběhne krok LiveDoc. Vrácené short_id umožní dalším otázkám prohledat stejné stránky bez nového stahování.

Kolik stojí jeden brief?

Účtuje se v kreditech podle užití; aktuální sazby na stránce cen. Prompt žádá schválení před útratou.

Lze spouštět každý týden?

Ano, ale tento prompt běží jednou. Plánování dejte agentovi nebo cronu, který spouští stejný workflow.

Co když je zdroj za paywallem?

Přeskočí se a označí jako nedostupný. Brief nikdy nevyplní mezeru vymyšleným faktem ani citací.

Související workflowy

Přizpůsobte

Stejný recept, upravený podle toho, jak skutečně dodáváte.

Zapište brief do souboru

Spojte odpověď, úryvky stránek a citace X do Markdownu a předejte nástroji reportů nebo commitujte do repo docs. Držte odkazy zdrojů u tvrzení — brief má hodnotu svých citací.

Spouštějte podle plánu

Obale `answer()` do cronu a každý brief pište do datovaného souboru. Stejný LiveDoc hromadí zdroje, čtvrtý týden odpovídá důkazy z prvních tří.

Přeskočte LiveDoc

Pokud už máte databázi, uložte tam odpověď chatu a extrahované stránky. Krok LiveDoc je pro hledání, ne výchozí úložiště.

Referenční stránky za tímto receptem a další kroky.