วิจัย
เปลี่ยนคำถามหนึ่งข้อเป็นบรีฟวิจัยที่มีแหล่งอ้างอิง
ถามเว็บ บันทึกหน้าเว็บที่อยู่เบื้องหลังคำตอบเป็น 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เพื่อขยาย แต่ละหน้าผลลัพธ์มี cursorresearch.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 แล้วส่งให้เครื่องมือรายงานหรือคอมมิตลงรีโปเอกสาร เก็บลิงก์แหล่งไว้ข้างข้อความอ้าง — บรีฟมีค่าเท่ากับการอ้างอิงของมัน
รันตามกำหนด
ห่อ `answer()` ใน cron และเขียนบรีฟแต่ละชุดลงไฟล์ที่ลงวันที่ LiveDoc เดียวกันสะสมแหล่ง สัปดาห์ที่สี่ตอบด้วยหลักฐานสามสัปดาห์แรก
ข้าม LiveDoc
ถ้ามีฐานข้อมูลอยู่แล้ว เก็บคำตอบแชตและหน้าที่สกัดไว้ที่นั่น ขั้น LiveDoc มีไว้ค้น ไม่ใช่ที่เก็บเริ่มต้น
ไปต่อ
หน้าเอกสารอ้างอิงเบื้องหลังสูตรนี้และก้าวต่อไป