Дослідження
Перетворіть одне питання на дослідницький бриф із джерелами
Запитайте веб, збережіть сторінки за відповіддю як Markdown, додайте те, що кажуть практики на X, і тримайте докази в LiveDoc, який можна згодом переглянути.
Скопіювати промпт
Замініть поля в квадратних дужках і вставте в Claude Code, Codex або AI з доступом до термінала. Він встановить скіл Felo, запитає перед витратою кредитів і запустить процес.
Склади дослідницький бриф із джерелами щодо [питання або рішення]. Обсяг: [ринок, регіон, мова]. Період: [останні 30 днів / останні 12 місяців]. Аудиторія: [хто читатиме]. Глибина: [огляд на одну сторінку / повний бриф]. Створи Markdown-бриф із: 1. Короткою відповіддю з трьох пунктів. 2. Таблицею доказів: твердження, назва джерела, URL, дата публікації. 3. Місцями, де джерела розходяться. 4. Тим, що досі невідомо. 5. Повним списком джерел. Правила: - Кожне фактичне твердження потребує посилання на джерело. Відокремлюй факти, думки та власні висновки. - Ніколи не вигадуй цитати, метрики, дати чи джерела. Відсутні дані — «Даних немає», але не нуль. - Надавай перевагу первинним джерелам. X використовуй як сигнал від практиків, не як доказ. - Перетвори період на явні дати початку й кінця та вкажи часовий пояс. - Перед витратою кредитів покажи заплановані виклики API і дочекайся мого схвалення. - Не створюй повторюване завдання, не надсилай повідомлення й нічого не публікуй. - Запиши результат у ./research-brief.md і підсумуй його в чаті.
Копія також містить кроки встановлення й правила безпеки.
Що ви отримаєте
Приклад результату одного запуску. Не живе генерування.
Чи замінять малі моделі великі в ботах підтримки?
Коротка відповідь
- Малі моделі вже достатні для класифікації та відповідей першої лінії.
- Вузьке місце — якість пошуку, а не розмір моделі.
- Команди, що перейшли, повідомляють про нижчу вартість тікета, а не вищу частку рішень.
| Твердження | Джерело | Дата |
|---|---|---|
| Якість пошуку визначає якість відповіді | https://example.com/rag-eval | 2026-10-12 |
| Вартість вирішеного тікета впала на 38% | https://example.com/support-case | 2026-09-28 |
Де джерела розходяться
Бенчмарки постачальників показують майже паритет; незалежні тести бачать розрив на багатокрокових поверненнях.
Що досі невідомо
Чи розрив закриється кращими інструментами, чи потрібна більша модель.
Точні виклики
Для розробників: той самий процес як код, у порядку виконання.
Показати справжні виклики API
Запитайте веб
Chat шукає в вебі, упорядковує джерела, пише відповідь і повертає використані ресурси. Збережіть перші три: кожен наступний крок іде за одним із цих посилань. Хелпер надсилає ключ один раз і кидає помилку поза 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) }; }Приклад результату
{ "answer": "Recent developments include …", "sources": [ { "link": "https://example.com/article", "title": "…" } ] }Завантажте сторінки за відповіддю
Уривка для брифу мало. Завантажте сторінки як Markdown із режимом читання, щоб цитати й заголовки збереглися без шуму навігації. Повторний запит того самого URL може використати кеш вилучення.
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 })), ), );Приклад результату
// pages[0].content "# Example Article\n\nExtracted article content…"
Додайте те, що каже X
Новини покривають анонси; X показує, із чим люди стикаються на практиці. Шукайте останні сім днів і зберігайте автора та час, щоб бриф приписав кожне твердження. Збільште
limitдля ширшого кола; кожна сторінка результатів має 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, });Приклад результату
{ "data": { "tweets": [ { "content": "…", "author": { "username": "…" }, "created_at": "…" } ] } }Заархівуйте докази в LiveDoc
Створіть LiveDoc і додайте джерела як URL-ресурси. API дедуплікує переглянуті URL і повертає resource id на URL, тож наступні питання можуть переглянути ті самі докази без повторного завантаження.
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Запитайте докази пізніше
Це й перевага: наступне питання робить семантичний пошук у LiveDoc, а не у відкритому вебі. Передавайте
resource_idsлише для обмеження відомою підмножиною.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); }Приклад результату
[ { "title": "…", "content": "…", "score": 0.92 } ]
Що входить
- Відповідь із джерелами з Chat API і сторінки за нею
- Вилучення повних сторінок як Markdown для найсильніших джерел
- Пости X з автором і датою як сигнал практиків
- LiveDoc, що зберігає докази доступними для наступних питань
Чого не робить
- Лише публічні джерела; платні сторінки й сторінки за входом можуть не працювати
- Покриття X — сигнал, а не репрезентативне дослідження
- Без інтерв’ю, приватних даних і платних баз
- Коли доказів мало, бриф це каже, а не заповнює прогалини
- Один запуск на промпт; розклад у агенті або cron
Запитання
Звідки джерела?
Chat API повертає використані сторінки, Web Fetch перетворює найсильніші на Markdown, а X Search додає датовані пости практиків. Кожен елемент зберігає URL.
Чи можна досліджувати ринок поза технологіями?
Так. Замініть поле обсягу своїм ринком. Ніші можуть мати менше публічних джерел; бриф позначає ці прогалини замість здогадок.
Чи залишаються докази після запуску?
Так, якщо виконується крок LiveDoc. Повернутий short_id дозволяє наступним питанням переглянути ті самі сторінки без повторного завантаження.
Скільки коштує один бриф?
Оплата в кредитах за використання; актуальні тарифи на сторінці цін. Промпт просить схвалення перед витратою.
Чи можна запускати щотижня?
Так, але цей промпт виконується один раз. Розклад покладіть в агент або cron, що запускає той самий процес.
Якщо джерело за пейволом?
Його пропускають і позначають недоступним. Бриф ніколи не заповнює прогалину вигаданим фактом чи цитатою.
Пов’язані процеси
Публікуйте щоденний AI-дайджест, який команда справді читає
Отримайте підсумок із джерелами, додайте розмови практиків на X, візьміть транскрипт відео, складіть випуск у Markdown і заархівуйте в LiveDoc.
Відкрити робочий процесОфісПеретворіть дослідницьку сторінку на презентацію
Вилучіть сторінку, збережіть як контекст LiveDoc, дозвольте PPT Task API збудувати дек і питайте, доки не буде готового посилання.
Відкрити робочий процесПідтримкаВідповідайте на питання підтримки з власної документації
Створіть LiveDoc, завантажте центр допомоги й внутрішній runbook, отримайте уривки, що відповідають тікету, і дозвольте моделі відповідати лише з цих доказів.
Відкрити робочий процесАдаптуйте
Той самий рецепт, підлаштований під те, як ви насправді працюєте.
Запишіть бриф у файл
Об’єднайте відповідь, уривки сторінок і цитати X у Markdown і передайте інструменту звітів або закомітьте в repo docs. Тримайте посилання на джерела поруч із твердженнями — бриф вартий стільки, скільки його цитати.
Запускайте за розкладом
Обгорніть `answer()` у cron і записуйте кожен бриф у датований файл. Той самий LiveDoc накопичує джерела, четвертий тиждень відповідає доказами перших трьох.
Пропустіть LiveDoc
Якщо вже маєте базу даних, збережіть там відповідь чату й вилучені сторінки. Крок LiveDoc — для пошуку, не для типового сховища.
Далі
Довідкові сторінки за цим рецептом і наступні кроки.