บล็อก

เว็บไซต์ที่พร้อมสำหรับเอเจนต์ AI ต้องมีอะไรบ้าง: บันทึกจากการสร้าง dardo.studio

เราทำให้ dardo.studio ให้เอเจนต์ AI อ่านและเรียกใช้งานได้ ทีละเลเยอร์ บทความนี้อธิบายว่าแต่ละเลเยอร์ทำอะไร ใครระบุไว้ว่าอ่านมันบ้าง และเลเยอร์ไหนที่เราจะสร้างอีก

โดย Nicolás Cerón ·

หุ่นยนต์ล้อเล็ก ๆ ตามเส้นนำทางสีแดงเข้มข้ามห้องแสดงงานในพิพิธภัณฑ์ยามค่ำคืน ไปยังประติมากรรมที่ส่องไฟอยู่

คำตอบสั้น ๆ

เว็บไซต์ที่พร้อมสำหรับเอเจนต์ AI ทำได้สามอย่าง คือ เอเจนต์ AI เข้าถึงได้ อ่านได้โดยไม่ต้องฝ่าเมนู แบนเนอร์ และสคริปต์ และในจุดที่เหมาะสม เรียกใช้เครื่องมือที่ประกาศไว้ไม่กี่อย่างได้ แทนที่จะต้องเดาว่าควรกดปุ่มไหน

เราใส่ทั้งสามอย่างไว้ใน dardo.studio ช่วงต้นเดือนตุลาคม 2026 ต่อไปนี้คือสิ่งที่เราทำ และแพลตฟอร์ม AI รายใหญ่ระบุไว้ว่าใช้งานมันมากแค่ไหน โดยตรวจกับเว็บไซต์จริงเมื่อวันที่ 8 ตุลาคม 2026

บทสรุปน่าตื่นเต้นน้อยกว่าเช็กลิสต์ "AI-ready" ส่วนใหญ่ เลเยอร์ที่เก่าแก่ที่สุดสำคัญที่สุด คือการให้ crawler เข้าถึงได้ และ HTML เชิงความหมายที่สะอาด ส่วนสำเนา Markdown และ llms.txt เป็นของอำนวยความสะดวกที่ต้นทุนต่ำ MCP, A2A และ WebMCP เป็นโปรโตคอลจริงที่มีไคลเอนต์ใช้งานได้ แต่เอกสารเกี่ยวกับ crawler ของ OpenAI, Anthropic, Perplexity และ Google ที่เราอ้างอิง ไม่มีฉบับใดระบุว่าผู้ช่วยของเขาค้นพบเครื่องมือของเว็บไซต์ได้เอง

เริ่มจากการเข้าถึง: robots.txt และชั้น edge

ไฟล์ robots.txt ของเรากำหนดกลุ่มกฎเดียวกันซ้ำ สำหรับเอเจนต์เริ่มต้น (*) และสำหรับ AI search crawler และ user fetcher แต่ละตัวที่เราระบุชื่อ:

User-agent: OAI-SearchBot
Allow: /
Disallow: /api/
Content-Signal: search=yes, ai-input=yes

กฎเดียวกันนี้ใช้กับ ChatGPT-User, PerplexityBot, Perplexity-User, Claude-SearchBot, Claude-User และ Bingbot โดยปิดเฉพาะ /api/

Search crawler กับ training crawler แยกจากกัน

ปัจจุบันบริษัทใหญ่ ๆ ระบุโทเค็นแยกกันสำหรับการค้นหาและการเทรนโมเดล:

  • OpenAI OAI-SearchBot ทำให้เว็บไซต์ปรากฏใน ChatGPT search เว็บไซต์ที่บล็อกมันจะไม่อยู่ในคำตอบของ ChatGPT search แต่ยังอาจแสดงเป็นลิงก์นำทางธรรมดาได้ ส่วน GPTBot เก็บข้อมูลสำหรับเทรนโมเดล (OpenAI crawlers)
  • Anthropic Claude-SearchBot สร้างดัชนีเพื่อการค้นหา ClaudeBot เก็บข้อมูลสำหรับเทรนโมเดล และ Claude-User ดึงหน้าเว็บเมื่อมีคนถามอะไรบางอย่างกับ Claude (Anthropic crawlers)
  • Perplexity PerplexityBot ทำให้เว็บไซต์ปรากฏและมีลิงก์ในผลลัพธ์ของ Perplexity และไม่ได้ใช้เทรนโมเดลพื้นฐาน (Perplexity crawlers)
  • Google Google-Extended เป็นโทเค็นควบคุมการเทรนและ grounding ของ Gemini ในผลิตภัณฑ์อื่นของ Google และไม่มีผลต่อการรวมอยู่ใน Google Search หรืออันดับ (Google common crawlers)

User-triggered fetcher นั้นต่างออกไป OpenAI ระบุว่า robots.txt อาจใช้กับ ChatGPT-User ไม่ได้ เพราะคำขอเหล่านั้นเริ่มโดยผู้ใช้ ส่วน Perplexity-User และ user-triggered fetchers ของ Google โดยทั่วไปจะไม่สนใจไฟล์นี้ fetcher เหล่านี้ทำงานแทนคนคนเดียวแบบเรียลไทม์ และเมื่อการบล็อกได้ผล ส่วนใหญ่ก็แค่ทำให้ผู้ช่วยของคนนั้นอ่านหน้าเว็บของคุณไม่ได้

ไฟล์ของเราไม่ได้ระบุชื่อ training crawler จึงอยู่ภายใต้ * และได้รับอนุญาต นี่เป็นการตัดสินใจทางธุรกิจ และผู้ให้บริการก็ระบุว่าเป็นการควบคุมแยกต่างหาก การบล็อก GPTBot หรือ ClaudeBot ไม่เหมือนกับการออกจากดัชนีค้นหาของพวกเขา

Content Signals: บรรทัดเดียว ไม่มีข้อผูกมัด

บรรทัด Content-Signal มาจาก Content Signals Policy ของ Cloudflare ซึ่งระบุการใช้งานสามแบบ คือ search, ai-input (ป้อนเนื้อหาให้โมเดลตอนตอบคำถาม) และ ai-train เราเว้น ai-train ไว้ ซึ่งตามนโยบายนั้นไม่ได้ทั้งอนุญาตและจำกัดการใช้งานดังกล่าว Cloudflare ระบุว่าสัญญาณเหล่านี้แสดงความต้องการ ไม่ได้บล็อกอะไร และอาจถูกเมินได้ ไม่มีหน้า crawler ใดที่เราอ้างอิงไว้ที่นี่กล่าวถึงมันเลย ใช้แค่บรรทัดเดียว แต่อย่าเพิ่งคาดหวังอะไร

ตรวจชั้น edge ไม่ใช่แค่ไฟล์

robots.txt เป็นเพียงการประกาศนโยบาย แต่ CDN ของคุณต่างหากที่ตัดสินว่าเกิดอะไรขึ้น ตอนที่เราทดสอบเมื่อวันที่ 2 ตุลาคม Browser Integrity Check ของ Cloudflare ตอบ 403 ให้ HTTP client เริ่มต้นของ Python (Python-urllib) และ libwww-perl ทั้งที่ robots.txt อนุญาตทุกอย่าง สคริปต์ที่เอเจนต์เขียนโค้ดสร้างขึ้นมักใช้ไลบรารีมาตรฐานของ Python โดยไม่ปรับแต่ง

เราเพิ่มกฎ configuration ของ Cloudflare ที่ยกเว้นคำขอ GET และ HEAD สำหรับเนื้อหาสาธารณะ ส่วน /api/ ยังตอบ 403 การตรวจสอบครั้งเดียวกันยังพบว่าไฟล์ .txt ของเราไม่ได้ระบุ charset ทำให้ไคลเอนต์บางตัวอ่าน "Bogotá" เป็น "Bogotá" วิธีแก้คือเพิ่ม header เดียว: charset=utf-8

ทดสอบด้วยคำขอจริงภายใต้ user agent แต่ละตัว วิธีนี้แสดงว่าไม่มีอะไรบล็อกชื่อนั้น แต่ไม่ได้พิสูจน์ว่า crawler ตัวจริงเข้ามาแล้ว

HTML เชิงความหมายแบบเรียบง่าย: เลเยอร์ที่เอเจนต์ทุกตัวพึ่งพา

AI optimization guide ของ Google อธิบายถึง browser agent ที่วิเคราะห์ภาพหน้าจอ ตรวจสอบ DOM และตีความ accessibility tree และแนะนำให้เจ้าของเว็บไซต์ดูagent-friendly guidanceของ web.dev ซึ่งส่วนใหญ่คืองานด้านการเข้าถึง เช่น ใช้ <button> และ <a> แทน <div> ที่ตกแต่งให้ดูเป็นปุ่ม เชื่อมทุก label เข้ากับ input ของมัน และไม่ให้เลย์เอาต์ขยับใต้ภาพหน้าจอ

บน dardo.studio ทุกหน้ามี <main> หนึ่งตัว และมี landmark <nav> ที่ติดป้ายกำกับ ปุ่มสลับเมนูและธีมเป็นปุ่มจริงที่แจ้งสถานะด้วย aria-expanded และ aria-pressed และเมนูที่ปิดอยู่เป็น inert ทุกช่องในฟอร์มติดต่ออยู่ใน <label> ของมัน ซึ่งทำให้มีชื่อที่เข้าถึงได้ web.dev แนะนำแอตทริบิวต์ for แต่การครอบ input ไว้ก็ทำหน้าที่เดียวกัน

สิ่งนี้ช่วยผู้ใช้โปรแกรมอ่านหน้าจอได้ตั้งแต่วันนี้ ซึ่งก็เป็นเหตุผลที่เพียงพอแล้ว

สำเนา Markdown ที่สะอาดของทุกหน้า

เอเจนต์ต้องจ่ายค่าโทเค็นทุกตัวที่อ่าน และหน้าที่เรนเดอร์แล้วมีทั้งเมนูนำทาง แบนเนอร์คุกกี้ สคริปต์ และกราฟิกตกแต่ง ก่อนที่เราจะทำงานนี้ การขอหน้าเว็บของเราด้วย Accept: text/markdown จะได้ทั้งหมดนั้นกลับมาเป็น HTML

ตอนนี้ขั้นตอนการ build จะสร้างไฟล์ index.md ไว้ข้างทุกหน้าที่ให้ดัชนีได้ โดยขึ้นต้นด้วย front matter (ชื่อเรื่อง คำอธิบาย canonical URL ภาษา เวอร์ชันภาษาอื่น และวันที่อัปเดต) ตามด้วยเนื้อหาใน <main> ของหน้านั้น โดยไม่มีสคริปต์ ปุ่ม รูปภาพตกแต่ง หรือสารบัญในหน้า คำตอบในส่วนคำถามที่พบบ่อยยังอยู่ครบ ส่วนแบบฟอร์มจะกลายเป็นรายการช่องกรอกและตัวเลือก เอเจนต์จึงบอกผู้ใช้ได้ว่าแบบฟอร์มติดต่อของเราถามอะไรบ้าง โดยไม่ต้องไปแตะแบบฟอร์มเลย

มี 3 วิธีในการเรียกใช้สำเนานี้:

  • ส่ง Accept: text/markdown ไปยัง URL ปกติ การตอบกลับเหล่านี้จะมี Vary: Accept เพื่อให้แคชแยกเก็บแต่ละเวอร์ชัน
  • ขอไฟล์โดยตรง: /en/services/seo/index.md
  • ต่อท้ายพาธของหน้าด้วย .md (/en/services/seo.md) สำหรับ URL ที่ลงท้ายด้วยเครื่องหมายสแลช ข้อเสนอ llms.txt ใช้ index.md ตามรูปแบบข้างต้น

หน้า HTML ทุกหน้ายังชี้ไปยังสำเนาของตัวเองด้วย <link rel="alternate" type="text/markdown">

ชี้เสิร์ชเอนจินกลับมาที่ HTML

คู่มือของ Google ระบุว่า Google สามารถcrawl และทำดัชนีไฟล์ได้หลายประเภทนอกจาก HTML โดยไม่ได้ปฏิบัติต่อไฟล์เหล่านั้นเป็นพิเศษ สำเนา markdown อาจแข่งกับหน้าต้นฉบับของมันเอง เราจึงให้ทุกการตอบกลับแบบ markdown ระบุหน้า HTML เป็น canonical:

$ curl -sI https://dardo.studio/en/services/seo/index.md
content-type: text/markdown; charset=utf-8
link: <https://dardo.studio/en/services/seo/>; rel="canonical", ...

ใครอ่านสำเนาเหล่านี้บ้าง? Cloudflare สร้าง Markdown for Agents เพื่อแปลง HTML ที่ edge สำหรับคำขอที่ต้องการ markdown ซึ่งบ่งชี้ว่ามีเอเจนต์ขอจริง แต่ไม่ได้ระบุว่าไคลเอนต์ใดส่งเฮดเดอร์นี้ และเราเองก็ไม่มีรายชื่อที่ยืนยันแล้วเช่นกัน หากคุณใช้ฟีเจอร์ของ Cloudflare ระบบจะเพิ่ม Content-Signal: ai-train=yes, search=yes, ai-input=yes เว้นแต่ origin ของคุณจะกำหนดค่าเอง ส่วนเราสร้างสำเนาตอน build เพื่อให้ตรงกับหน้าเว็บทุกประการ

llms.txt: ดัชนีที่มีประโยชน์ แต่ไม่ส่งผลต่อการค้นหา

llms.txt คือข้อเสนอของ Jeremy Howard เผยแพร่ครั้งแรกในเดือนกันยายน 2024 และยังเปิดรับความคิดเห็นจากชุมชน เป็นไฟล์ markdown ที่ /llms.txt ซึ่งมีชื่อเว็บไซต์ สรุปสั้น ๆ และรายการลิงก์ที่เอเจนต์อาจต้องการ

ไฟล์ของเราที่ /llms.txt และ /es/llms.txt สร้างจากข้อมูลชุดเดียวกับหน้าเว็บ จึงไม่คลาดเคลื่อน ไฟล์ระบุข้อมูลของสตูดิโอ (โบโกตา ก่อตั้งปี 2026 ทีมสามคน วิธีคิดราคาโปรเจกต์ ช่องทางติดต่อ) รายการบริการและผลงาน และอธิบายวิธีดึงสำเนา markdown ส่วน llms-full.txt เก็บข้อความฉบับเต็มของหน้าสตูดิโอ บริการ ผลงาน และติดต่อ

มีหนึ่งบรรทัดที่ระบุธุรกิจชื่อคล้ายกันซึ่งไม่ใช่เรา ตอนที่เราตรวจเมื่อวันที่ 2 ตุลาคม ธุรกิจเหล่านั้นอยู่อันดับต้น ๆ ในผลการค้นหาคำว่า "dardo studio" บรรทัดนั้นอาจเป็นบรรทัดที่มีประโยชน์ที่สุดในไฟล์

สถานะตอนนี้ พูดตรง ๆ:

  • Google ระบุว่าคุณไม่จำเป็นต้องมี llms.txt เพื่อให้ปรากฏใน Search หรือฟีเจอร์ AI ของ Google Search ไม่สนใจไฟล์นี้ และการมีไฟล์ไม่ได้ช่วยหรือเสียหายอะไร
  • OpenAI, Anthropic และ Perplexity ไม่ได้ระบุในเอกสารเกี่ยวกับครอว์เลอร์ว่าบอตของตนอ่าน llms.txt ของเว็บไซต์อื่น แต่เว็บไซต์เอกสารของ OpenAI, Anthropic และ Perplexity เองก็เผยแพร่ไฟล์นี้ไว้ สำหรับเอเจนต์ที่อ่านเอกสารของพวกเขา

ควรมีไว้หากสร้างอัตโนมัติและถูกต้อง ไฟล์นี้ช่วยเอเจนต์เขียนโค้ดและเครื่องมือที่มองหามัน แต่ไม่ใช่เครื่องมือเพิ่มการมองเห็น

เครื่องมือที่เอเจนต์เรียกใช้ได้: MCP, A2A และ API catalog

เราเผยแพร่เครื่องมือแบบอ่านอย่างเดียวสองตัว:

  • list_services ส่งคืนบริการที่เราเผยแพร่ ขอบเขตงาน สิ่งที่ส่งมอบ และ URL ต้นทาง เป็นภาษาอังกฤษหรือสเปน โดยกรองด้วยคีย์เวิร์ดได้ตามต้องการ
  • get_project_brief ส่งคืนคำถามที่ควรตอบก่อนติดต่อเรา และลิงก์ติดต่อตามภาษาสำหรับบริการนั้น

การทำงานชุดเดียวอยู่เบื้องหลังหลายจุดเข้าใช้งาน:

จุดเข้าใช้งานที่อยู่บน dardo.studioมาตรฐานและสถานะ
เซิร์ฟเวอร์ MCP/mcp และการ์ดที่ /.well-known/mcp/server-card.jsonMCP แบบ Streamable HTTP โดย server card เป็นข้อเสนอฉบับร่าง
เอเจนต์ A2A/a2a และการ์ดที่ /.well-known/agent-card.jsonA2A 1.0, JSON-RPC
JSON endpoint/agent/services.json อธิบายด้วย OpenAPIHTTP ธรรมดา
API catalog/.well-known/api-catalogRFC 9727 IETF Standards Track

ทุกการตอบกลับแบบ HTML และ markdown จะส่งเฮดเดอร์ Link ที่ชี้ไปยัง catalog ดัชนี agent skills และการ์ดทั้งสองใบ ดังนั้นจากหน้าไหนก็ไปถึงส่วนที่เหลือได้

หลักการออกแบบที่เราจะใช้อีก

  • อ่านอย่างเดียวและเปิดสาธารณะ เครื่องมือ MCP ประกาศ readOnlyHint: true และอ่านจาก catalog ที่เผยแพร่ชุดเดียวกับ HTML โดยไม่มีฐานข้อมูลอยู่เบื้องหลัง get_project_brief ไม่ส่งข้อมูล ไม่จอง และไม่เสนอราคา คนเป็นผู้ตรวจและส่งเอง
  • จำกัดข้อมูลนำเข้า เนื้อหาคำขอจำกัดที่ 8 KiB ตรวจเฮดเดอร์ Origin ของเบราว์เซอร์ (ข้อกำหนด MCP บังคับไว้) และการเรียกใช้มีขีดจำกัดอัตราของตัวเอง
  • ไม่เก็บสถานะ เอเจนต์ A2A ตอบทันที ไม่เก็บงาน ปิดการสตรีม และไม่ดึงไฟล์หรือ URL ที่ถูกส่งมา
  • เงื่อนไขชัดเจน /auth.md ระบุว่าไม่ต้องใช้ข้อมูลรับรองใด ๆ และการอ่านข้อมูลสาธารณะไม่ได้ให้สิทธิ์ในการส่งข้อความหรือชำระเงิน

เรายังเว้นบางอย่างไว้ด้วย เครื่องมือสแกนความพร้อมจะตรวจหาโปรโตคอลการค้าและ OAuth discovery เราไม่ได้ขายอะไรผ่านระบบชำระเงินและไม่มีทรัพยากรที่ต้องป้องกัน การเผยแพร่สิ่งเหล่านั้นจึงเท่ากับอธิบายความสามารถที่ไม่มีอยู่จริง

ปัจจุบันใครใช้เครื่องมือเหล่านี้: ไคลเอนต์ MCP ที่มีคนเชื่อมต่อกับ /mcp และไคลเอนต์ A2A ที่ได้รับการ์ดของเรา สำหรับสตูดิโอ คุณค่าอยู่ในระดับพอประมาณ คือคำตอบที่แม่นยำต่อคำถามว่า "Dardo ทำอะไร และควรส่งอะไรให้พวกเขา" กรณีนี้เหมาะกับเว็บไซต์ที่มีข้อมูลสดซึ่งผู้คนมักถาม เช่น สต็อก ความพร้อมให้บริการ หรือเอกสารผลิตภัณฑ์ เอเจนต์ที่เขียนข้อมูลต้องมีการยืนยันตัวตนและขั้นตอนตรวจสอบ ซึ่งเป็นงานระบบอัตโนมัติด้วย AI

WebMCP: เครื่องมือชุดเดียวกันภายในเบราว์เซอร์

WebMCP ให้หน้าเว็บลงทะเบียนเครื่องมือที่เอเจนต์ AI ในเบราว์เซอร์เรียกใช้ได้ เป็น Draft Community Group Report ของ W3C Web Machine Learning Community Group และระบุว่าไม่ใช่มาตรฐาน W3C web.dev ระบุว่ากำลังพัฒนาอยู่ อาจมีการเปลี่ยนแปลง และลองใช้ใน Chrome ได้ผ่าน origin trial

หน้าเว็บของเราลงทะเบียนเครื่องมือชุดเดียวกันสองตัวผ่าน document.modelContext (หรือ navigator.modelContext ในพรีวิวรุ่นเก่า) หากไม่มี API เบราว์เซอร์ก็ไม่ได้รันอะไรเพิ่ม เพราะเครื่องมือเหล่านี้มีอยู่แล้ว งานนี้จึงใช้โค้ดราว 40 บรรทัด ถือว่าเป็นการทดลอง

ทุกเลเยอร์ และคุ้มค่าที่จะทำหรือไม่

เลเยอร์คืออะไรใครอ่านในปัจจุบันคุ้มไหม
HTML เชิงความหมายและฟอร์มที่มีป้ายกำกับปุ่ม ลิงก์ landmark และป้ายกำกับที่ใช้งานได้จริงเบราว์เซอร์ เทคโนโลยีช่วยเหลือ และเอเจนต์บนเบราว์เซอร์คุ้ม ควรทำเป็นอันดับแรก
robots.txt สำหรับการค้นหาและ user agentกฎรายครอว์เลอร์ที่แยกการค้นหาออกจากการเทรนโมเดลOpenAI, Anthropic, Perplexity และ Google เปิดเผยโทเคนของตนไว้ในเอกสารคุ้ม จากนั้นทดสอบที่ CDN
Content Signalsค่ากำหนด search, ai-input, ai-train ใน robots.txtบริษัท AI ที่เราตรวจสอบไม่มีรายใดระบุในเอกสารว่าปฏิบัติตามใส่บรรทัดเดียว อย่าคาดหวังผลใดๆ
สำเนา Markdown พร้อม canonical headerเวอร์ชันข้อความล้วนที่สะอาดของแต่ละหน้าเอเจนต์ที่ร้องขอ Markdown ยังไม่มีรายชื่อที่เผยแพร่ว่ามีตัวไหนบ้างคุ้ม หากใส่ canonical header
llms.txt และ llms-full.txtดัชนีที่คัดสรรแล้วและข้อความฉบับเต็มสำหรับเอเจนต์Google Search ไม่สนใจไฟล์นี้ และเอกสารของครอว์เลอร์ไม่มีรายใดระบุว่าอ่านเก็บไว้ได้หากสร้างอัตโนมัติ แต่ไม่ใช่ตัวเร่งการมองเห็น
เซิร์ฟเวอร์ MCP (อ่านอย่างเดียว)เครื่องมือที่ประกาศไว้ให้เอเจนต์เรียกใช้ไคลเอนต์ MCP ที่ผู้ใช้เชื่อมต่อเองเฉพาะเมื่อมีข้อมูลหรือการดำเนินการที่คุ้มค่าแก่การเรียกใช้
A2A agent cardคำอธิบายเอเจนต์ในรูปแบบที่เครื่องอ่านได้ไคลเอนต์ A2A ที่ชี้มาที่ไฟล์นี้เป็นการคาดการณ์สำหรับเว็บไซต์ส่วนใหญ่
API catalog (RFC 9727)รายการ well-known เดียวที่รวม API สาธารณะของคุณเครื่องมือที่ค้นหาไฟล์นี้ต้นทุนต่ำ หากคุณมี API อยู่แล้ว
WebMCPเครื่องมือที่หน้าเว็บลงทะเบียนไว้ในเบราว์เซอร์Chrome ผ่าน origin trialการทดลอง

สิ่งที่เราจะกลับมาสร้างอีก

ตามลำดับ: HTML เชิงความหมาย การเข้าถึงของครอว์เลอร์ที่ผ่านการทดสอบ สำเนา Markdown พร้อม canonical header, llms.txt ที่สร้างอัตโนมัติ และเครื่องมือเมื่อมีสิ่งที่คุ้มค่าแก่การเรียกใช้เท่านั้น จากนั้นจึงวัดผล บันทึกของเซิร์ฟเวอร์จะบอกว่าเอเจนต์ตัวไหนดึงสำเนา Markdown หรือเรียก /mcp การดึงข้อมูลไม่เท่ากับการอ้างอิง และสิ่งเหล่านี้ไม่ได้รับประกันว่าระบบ AI จะพูดถึงคุณ

ความพร้อมสำหรับเอเจนต์เป็นส่วนหนึ่งของงานการปรับแต่งเพื่อการค้นหาด้วย AI ของเรา ควบคู่ไปกับเนื้อหาและการวัดผลที่เป็นตัวตัดสินว่าคำตอบของ AI จะอ้างอิงคุณหรือไม่ หากต้องการสร้างสิ่งนี้ลงในเว็บไซต์ของคุณ เล่าโปรเจกต์ของคุณให้เราฟัง