پژوهش
یک پرسش را به خلاصه پژوهشی با منابع تبدیل کنید
از وب بپرسید، صفحات پشت پاسخ را بهصورت Markdown ذخیره کنید، آنچه متخصصان در X میگویند اضافه کنید و شواهد را در LiveDoc نگه دارید تا بعداً دوباره جستوجو شود.
کپی پرامپت
فیلدهای داخل قلاب را جایگزین کنید و در Claude Code، Codex یا هوش مصنوعی با دسترسی ترمینال بچسبانید. مهارت Felo را نصب میکند، پیش از خرج اعتبار میپرسد و گردشکار را اجرا میکند.
یک خلاصه پژوهشی مستند برای [پرسش یا تصمیم] تهیه کنید. دامنه: [بازار، منطقه، زبان]. بازه زمانی: [۳۰ روز گذشته / ۱۲ ماه گذشته]. مخاطب: [چه کسی میخواند]. عمق: [مرور یکصفحهای / خلاصه کامل]. خروجی یک خلاصه Markdown با این بخشها باشد: 1. پاسخ کوتاه در سه بولت. 2. جدول شواهد: ادعا، عنوان منبع، URL، تاریخ انتشار. 3. نقاطی که منابع با هم اختلاف دارند. 4. چیزهایی که هنوز ناشناخته است. 5. فهرست کامل منابع. قواعد: - هر ادعای واقعی به پیوند منبع نیاز دارد. واقعیت، نظر و استنباط خود را جدا کنید. - هرگز نقلقول، عدد، تاریخ یا منبع نسازید. داده نبود بنویسید «دادهای موجود نیست»، نه صفر. - منابع اولیه را در اولویت بگذارید. از X بهعنوان سیگنال متخصصان استفاده کنید، نه مدرک. - بازه زمانی را به تاریخ شروع و پایان صریح تبدیل کنید و منطقه زمانی را ذکر کنید. - پیش از مصرف اعتبار، فراخوانیهای API برنامهریزیشده را نشان دهید و منتظر تأیید من بمانید. - کار تکرارشونده نسازید، پیام نفرستید و چیزی منتشر نکنید. - نتیجه را در ./research-brief.md بنویسید و در چت خلاصه کنید.
نسخه شامل مراحل نصب و قواعد ایمنی نیز هست.
چه دریافت میکنید
خروجی نمونه یک اجرا. نه تولید زنده.
آیا مدلهای کوچک جای مدلهای بزرگ را در باتهای پشتیبانی میگیرند؟
پاسخ کوتاه
- مدلهای کوچک برای طبقهبندی و پاسخهای خط اول کافیاند.
- گلوگاه کیفیت بازیابی است، نه اندازه مدل.
- تیمهایی که تغییر کردند کاهش هزینه هر تیکت را گزارش میکنند، نه افزایش نرخ حل.
| ادعا | منبع | تاریخ |
|---|---|---|
| کیفیت بازیابی کیفیت پاسخ را تعیین میکند | https://example.com/rag-eval | 2026-10-12 |
| هزینه هر تیکت حلشده ۳۸٪ کاهش یافت | 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های دیدهشده را حذف تکراری میکند و برای هر URL یک resource id برمیگرداند، بنابراین پرسشهای بعدی همان شواهد را بدون دانلود دوباره جستوجو میکنند.
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 جمع کنید و به ابزار گزارش بدهید یا در مخزن اسناد commit کنید. پیوندهای منبع را کنار ادعاها نگه دارید — خلاصه به اندازه نقلقولهایش ارزش دارد.
طبق زمانبندی اجرا کنید
`answer()` را در cron بپیچید و هر خلاصه را در فایل تاریخدار بنویسید. همان LiveDoc منابع را جمع میکند، هفته چهارم با شواهد سه هفته اول پاسخ میدهد.
LiveDoc را رد کنید
اگر از قبل پایگاه داده دارید، پاسخ چت و صفحات استخراجشده را آنجا ذخیره کنید. مرحله LiveDoc برای جستوجو است نه ذخیرهسازی پیشفرض.
ادامه دهید
صفحات مرجع پشت این دستور و گامهای بعدی.