- เว็บไซต์ไม่ได้มีไว้เพื่อให้ข้อมูลแก่ผู้คนเท่านั้น แต่ยังถูกใช้เพื่อให้ข้อมูลแก่ LLM ด้วย
- LLM ถูกใช้เพื่อปรับปรุงสภาพแวดล้อมการพัฒนาที่โปรแกรมเมอร์ใช้งาน รวมถึงตัวเลือกในการรวบรวมข้อมูลเกี่ยวกับไลบรารีโปรแกรมและ API จากเอกสารบนเว็บไซต์
- การให้ข้อมูลสำหรับ LLM แตกต่างจากการให้ข้อมูลสำหรับมนุษย์เล็กน้อย แต่ก็มีหลายส่วนที่ทับซ้อนกัน
- โดยทั่วไปมักชอบข้อมูลในรูปแบบที่กระชับมากกว่า
- สามารถรวบรวมข้อมูลจำนวนมากได้อย่างรวดเร็ว จึงมีประโยชน์หากรวมข้อมูลสำคัญทั้งหมดไว้ในที่เดียว
- context window ของ LLM เล็กเกินกว่าจะประมวลผลทั้งเว็บไซต์ได้ทั้งหมด และการแปลงหน้า HTML ที่ซับซ้อนให้เป็นเอกสารข้อความล้วนที่เป็นมิตรกับ LLM ก็ทำได้ยาก
- ดังนั้นจึงจำเป็นต้องมีวิธีระบุข้อมูลที่สำคัญที่สุดสำหรับส่งมอบให้ผู้ช่วย AI และนำเสนอในรูปแบบที่เหมาะสมที่สุด
Proposal
- มีข้อเสนอให้ผู้ที่ต้องการจัดเตรียมคอนเทนต์ที่เป็นมิตรกับ LLM เพิ่มไฟล์
/llms.txt ลงในเว็บไซต์
- นี่คือไฟล์ Markdown ที่ให้ข้อมูลพื้นหลังและคำแนะนำแบบง่าย ๆ พร้อมลิงก์ไปยังไฟล์ Markdown ที่ให้ข้อมูลอย่างละเอียดมากขึ้น
- สามารถใช้เพื่อให้ข้อมูลที่จำเป็นต่อการใช้งานไลบรารี หรือเป็นส่วนหนึ่งของงานวิจัยเพื่อเรียนรู้เกี่ยวกับบุคคลหรือองค์กร
- Markdown ของ llms.txt สามารถอ่านได้ทั้งโดยมนุษย์และ LLM แต่ก็ยังรองรับการประมวลผลตามรูปแบบที่ชัดเจน
- ไฟล์ llms.txt สามารถใช้งานได้ในหลายสถานการณ์
- ในกรณีของไลบรารีซอฟต์แวร์ สามารถให้ภาพรวมเชิงโครงสร้างของเอกสาร เพื่อให้ LLM หาแต่ละฟังก์ชันหรือกรณีใช้งานตัวอย่างได้ง่าย
- บนเว็บไซต์องค์กร สามารถสรุปโครงสร้างองค์กรและแหล่งข้อมูลสำคัญได้
- ข้อมูลเกี่ยวกับร่างกฎหมายใหม่ รวมถึงพื้นหลังและบริบทที่จำเป็น สามารถถูกคัดสรรไว้ในไฟล์
llms.txt เพื่อช่วยให้ผู้มีส่วนได้ส่วนเสียเข้าใจได้ดีขึ้น
- เว็บไซต์พอร์ตโฟลิโอส่วนตัวหรือ CV สามารถช่วยตอบคำถามเกี่ยวกับบุคคลนั้นได้
- ในอีคอมเมิร์ซ สามารถอธิบายหมวดหมู่สินค้าและนโยบายโดยสรุปได้
- สถาบันการศึกษาสามารถใช้เพื่อสรุปรายวิชาและทรัพยากรที่มีให้
รูปแบบไฟล์ llms.txt
- รูปแบบไฟล์
llms.txt จัดโครงสร้างข้อมูลโดยใช้ Markdown ที่โมเดลภาษาเข้าใจได้ง่าย
- ไฟล์นี้ใช้ Markdown แทนรูปแบบเชิงโครงสร้างแบบดั้งเดิม (เช่น XML) เพราะผู้อ่านหลักของไฟล์คือโมเดลภาษาและเอเจนต์
- ไฟล์
llms.txt สามารถอ่านได้ผ่านเครื่องมือโปรแกรมมาตรฐาน และจัดตามรูปแบบเฉพาะดังนี้
- ส่วนหัว H1: มีชื่อโปรเจกต์หรือเว็บไซต์ และเป็นส่วนเดียวที่จำเป็นต้องมี
- บล็อกคำอ้างอิง: มีสรุปสั้น ๆ ของโปรเจกต์ และให้ข้อมูลหลักที่จำเป็นต่อการทำความเข้าใจส่วนที่เหลือของไฟล์
- ส่วน Markdown: ให้รายละเอียดเพิ่มเติม และอาจมีหลายรูปแบบ เช่น ย่อหน้า รายการ ฯลฯ แต่จะไม่มีหัวข้อเพิ่มเติม
- ส่วนรายการไฟล์ที่คั่นด้วยส่วนหัว H2: มีรายการ URL ที่ให้ข้อมูลเพิ่มเติม โดยแต่ละรายการเขียนในรูปแบบลิงก์ Markdown
[ชื่อ](URL) และอาจมีคำอธิบายเพิ่มเติมได้
- ตัวอย่างไฟล์
# ชื่อโปรเจกต์
> คำอธิบายเพิ่มเติมเกี่ยวกับโปรเจกต์อยู่ที่นี่
รายละเอียดเพิ่มเติมที่เป็นทางเลือกอยู่ที่นี่
## ชื่อส่วน
- [ชื่อลิงก์](https://링크_URL): คำอธิบายลิงก์เพิ่มเติมแบบทางเลือก
## Optional
- [ชื่อลิงก์](https://링크_URL)
- ส่วน "Optional": มีความหมายพิเศษ โดยหากต้องการบริบทสั้น ๆ URL ในส่วนนี้อาจถูกละไว้ได้ และมักมีข้อมูลรองที่สามารถข้ามได้บ่อย
การอยู่ร่วมกับมาตรฐานเดิม
llms.txt ถูกออกแบบมาให้ทำงานร่วมกับมาตรฐานเว็บที่มีอยู่แล้ว
- ในขณะที่ sitemap ใช้แสดงรายการทุกหน้าสำหรับ search engine นั้น
llms.txt จะให้ภาพรวมที่ผ่านการคัดสรรสำหรับ LLMs (large language models)
llms.txt มีความสัมพันธ์แบบเสริมกับ robots.txt และสามารถให้บริบทเกี่ยวกับคอนเทนต์ที่อนุญาตได้
- นอกจากนี้ยังสามารถอ้างอิง structured data markup ที่ใช้บนเว็บไซต์ เพื่อช่วยให้ LLM เข้าใจและตีความสิ่งเหล่านี้ได้
- ทำให้พาธของไฟล์เป็นมาตรฐานในลักษณะเดียวกับ
/robots.txt และ /sitemap.xml
- robots.txt และ llms.txt มีจุดประสงค์ต่างกัน
- robots.txt: ใช้เพื่อให้เครื่องมืออัตโนมัติ (เช่น บอตสร้างดัชนีค้นหา) เข้าใจขอบเขตการอนุญาตให้เข้าถึงเว็บไซต์
- llms.txt: ใช้เป็นหลักเมื่อผู้ใช้ร้องขอข้อมูลในหัวข้อเฉพาะอย่างชัดเจน ตัวอย่างเช่น มีประโยชน์เมื่อรวมเอกสารของไลบรารีโค้ดเข้าไว้ในโปรเจกต์ หรือเมื่อขอข้อมูลกับแชตบอตที่มีความสามารถด้านการค้นหา
- คาดว่า
llms.txt จะมีประโยชน์หลักกับ inference โดยจะถูกใช้ในช่วงเวลาที่ผู้ใช้ต้องการความช่วยเหลือ และคาดว่าจะไม่ถูกใช้เพื่อ training อย่างไรก็ตาม หากการใช้งาน llms.txt แพร่หลายมากขึ้น ก็อาจเป็นไปได้ว่าในอนาคตข้อมูลนี้จะถูกนำไปใช้ในกระบวนการฝึกด้วย
- ความแตกต่างจาก sitemap.xml
- sitemap.xml: แสดงรายการข้อมูลทั้งหมดที่มนุษย์อ่านได้และสามารถทำดัชนีได้ของเว็บไซต์
llms.txt ไม่ใช่สิ่งทดแทนของ sitemap.xml:
- อาจไม่มีเวอร์ชันของหน้าที่ LLM อ่านได้รวมอยู่ด้วย
- ไม่ได้รวม URL ของเว็บไซต์ภายนอกที่อาจเป็นประโยชน์ต่อการทำความเข้าใจข้อมูล
- โดยทั่วไปมักรวมเอกสารที่มีขนาดใหญ่เกินกว่าจะพอดีกับ context window ของ LLM และยังมีข้อมูลจำนวนมากที่ไม่จำเป็นต่อการทำความเข้าใจเว็บไซต์
llms.txt สามารถทำหน้าที่เป็นเครื่องมือที่เหมาะสมที่สุดสำหรับให้โมเดลภาษาเข้าถึงข้อมูลเฉพาะและเข้าใจบริบท
4 ความคิดเห็น
ดูเหมือนว่าน่าจะขยาย
robots.txtก็ได้อยู่แล้ว… จำเป็นต้องมอบสถานะพิเศษให้ crawler สำหรับ LLM หรือเปล่านะ?ถ้าเป็นไปได้ อยากให้จัดระเบียบ user-agent ของบรรดา LLM crawler มากกว่า… แต่ตัว user-agent เองก็ดูเหมือนจะใกล้หมดยุคอยู่แล้ว เลยค่อนข้างกำกวมเหมือนกัน
เกร็ด 1. ตั้งชื่อว่า Txt แล้วทำไมถึงเป็น Markdown ล่ะ? ถึงฉันเองก็ชอบ Markdown มากเหมือนกัน แต่ก็ไม่เห็นจำเป็นต้องใช้ขนาดนั้น…
ชื่อ
llmsทำให้ดูเหมือนเป็นอินเทอร์เฟซสำหรับเทคโนโลยีเฉพาะอย่าง เลยรู้สึกไม่ค่อยสบายใจเท่าไหร่...ก็จริงนะครับ/ค่ะ แทนที่จะสร้างมาตรฐานอีกอันที่ทั้งแปลกและมีความเป็นสากลต่ำมาก การใช้หรือขยายมาตรฐานที่มีอยู่แล้วอย่าง JSON-LD น่าจะดีกว่าไหม
ถ้าสิ่งนี้แพร่หลายขึ้นมา ก็คงจะสามารถใช้ไฟล์
llms.txtที่เหมาะสมเพื่อป้องกันไม่ให้ LLM ใช้งานเว็บไซต์ของฉันได้สินะเช่น ให้ข้อมูลที่ไม่เกี่ยวข้องโดยสิ้นเชิง หรือให้ข้อมูลขนาดใหญ่จนกินคอนเท็กซ์ของ LLM ไปทั้งหมด
ด้วยวิธีแบบนั้น