YouMind
ลงชื่อเข้าใช้

LLM Wiki = RAG ที่อัปเดตได้

@AndrewK404
อังกฤษ26 พ.ค. 2569
317K
88
5
0
67

TL;DR

บทความนี้เจาะลึกสถาปัตยกรรม LLM Wiki โดยอธิบายว่า AI agent สามารถดูแลรักษาและตรวจสอบกราฟความรู้ในรูปแบบ markdown ด้วยตนเองได้อย่างไร เพื่อป้องกันการสูญหายของข้อมูลในกระบวนการ RAG แบบมาตรฐาน

ในที่สุดก็ได้อ่าน gist ของ LLM Wiki ของ Karpathy สักที (ใช่ มาช้ากว่ากระแส XD)

และพูดตามตรง แนวคิดทั้งหมดก็เหลือแค่สิ่งง่ายๆ: "RAG ที่อัปเดตได้"

1. ปัญหา

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

RAG ช่วยได้บางส่วน (ในความหมายกว้าง – โฟลเดอร์ที่มีไฟล์ .md ก็คือ RAG เช่นกัน) แต่ไปป์ไลน์มาตรฐาน (ที่ทุกคนใช้) ไม่มีฟังก์ชันอัปเดต การกลั่น หรือการทำความสะอาดตัวเอง ความรู้จะถูกวางลงในดัชนีครั้งเดียวแล้วก็นอนนิ่งอยู่ตรงนั้น ช่องว่างนั้นคือสิ่งที่ LLM Wiki มาเติมเต็ม

การกลับมุมของ Karpathy: ระหว่างแหล่งข้อมูลดิบกับคุณ มี wiki แบบ markdown ที่เอเจนต์จะเขียนและดูแลอย่างค่อยเป็นค่อยไป คอมไพล์ครั้งเดียว แล้วก็อัปเดตอยู่เสมอ

2. สถาปัตยกรรม: 3 ชั้น

Andrew Kuncevich - inline image
  • raw/ – แหล่งข้อมูลดิบที่ไม่เปลี่ยนแปลง เอเจนต์ไม่เขียนลงไปที่นี่
  • wiki/ – หัวใจของระบบ หน้า markdown (เอนทิตี, แนวคิด) ที่ LLM เขียนและเชื่อมโยงกันเอง โดยพื้นฐานแล้วคือความรู้ที่มีโครงสร้างเป็นกราฟ
  • CLAUDE.md – คู่มือวิธีการรัน LLM Wiki เท่านั้น ประกอบด้วย: รูปแบบหน้า, ข้อตกลงในการเชื่อมโยง, วิธีการนำเข้า, กฎการตรวจสอบ สิ่งที่เปลี่ยน Claude จากแชทบอทเป็นผู้ดูแล wiki ที่มีวินัย

เพียงพอสำหรับหลายร้อยหน้าโดยไม่ต้องปรับแต่งเพิ่มเติม:

Andrew Kuncevich - inline image

3. การดำเนินการ

Andrew Kuncevich - inline image

สามการดำเนินการ – คุณอยากวาดเป็นฟังก์ชัน API ทันที:

  • Ingest -> add(source: file | list[file]) วางแหล่งข้อมูล -> เอเจนต์อ่าน -> คุยกับคุณ -> เขียนสรุป -> อัปเดตดัชนี -> แก้ไขหน้าเอนทิตีที่เกี่ยวข้อง -> เพิ่มใน log แหล่งข้อมูลหนึ่งแตะ 10-15 หน้า
  • Query -> search(prompt: str) การดำเนินการที่สำคัญที่สุด ตอบคำถามของคุณ + (จุดสำคัญ) จะบันทึกการสังเคราะห์กลับเข้าไปใน wiki โดยอัตโนมัติเป็นหน้าใหม่ การสำรวจจะทบต้นแทนที่จะหายไปในประวัติแชท เบื้องหลังมันคือ add(source=dialogue) โดยพื้นฐาน
  • Lint -> lint() ไม่มีอาร์กิวเมนต์ ตรวจสอบ wiki เป็นระยะ: ความขัดแย้ง, หน้าที่ไม่มีลิงก์, ข้อมูลที่ล้าสมัย, การอ้างอิงที่ขาดหาย เรียกเมื่อมีข้อความผู้ใช้ทุก N ข้อความ หรือเมื่อมีจำนวนบรรทัดที่เปลี่ยน ง่ายต่อการแนบกับ /schedule

ทำให้ผมนึกถึง Claude Dreaming – ผมคิดว่า Dreaming ได้แรงบันดาลใจบางส่วนจากรูปแบบนี้ (ถึงแม้ชุดฟังก์ชันจะต่างกันเล็กน้อย)

4. การทำดัชนี

Andrew Kuncevich - inline image

ไฟล์พิเศษสองไฟล์ทำให้ wiki สามารถนำทางได้:

  • index.md – สถานะปัจจุบัน แคตตาล็อกของทุกหน้าพร้อมคำอธิบายหนึ่งบรรทัด เอเจนต์จะอ่านมันก่อนทุกคำถาม – เป็นบริบทขั้นต่ำว่า "ใน wiki มีอะไรบ้าง"
  • log.md – บันทึกของทุกเหตุการณ์ ไม่มีรูปแบบตายตัว ไทม์ไลน์ที่เพิ่มอย่างเดียว ถ้าบรรทัดมีรูปแบบที่สอดคล้องกัน (เช่น \## [YYYY-MM-DD] ingest | title\) log จะ grep ได้อย่างสะอาดด้วยเครื่องมือ unix ทั่วไป – มีประโยชน์สำหรับการตรวจสอบ

index.md สามารถขยายขนาดได้อีก (ดัชนีเวกเตอร์, BM25, GraphDB, ...) – ผมจะพูดถึงในโพสต์แยก

5. สรุปประเด็นสำคัญ

นี่คือวิธีที่ผมจะมอง: มันไม่ใช่ทางเลือกระหว่าง RAG และ LLM Wiki – พวกมันคือสองจุดบนแกน "ความทรงจำที่ทบต้น" เส้นเดียวกัน

RAG ไม่จำเป็นต้องเป็น vector DB – โฟลเดอร์ของไฟล์ markdown ก็คือ RAG เช่นกัน

ดังนั้นคุณสามารถพูดใหม่ได้ว่า LLM Wiki คือ RAG ที่มีสามสิ่งเสริมด้านบน:

  1. ชั้นการสรุปความ
  2. การเขียนโครงสร้างในระดับสรุปความแบบกึ่งอิสระ (แทบไม่มีข้อจำกัด)
  3. การตรวจสอบโครงสร้างเป็นระยะ + การปรับปรุงตัวเอง (CRON)
บันทึกในคลิกเดียว

อ่านบทความไวรัลเชิงลึกด้วย AI ใน YouMind

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

สำรวจ YouMind
สำหรับครีเอเตอร์

เปลี่ยน Markdown ของคุณให้เป็นบทความ 𝕏 ที่สะอาดตา

เวลาคุณเผยแพร่งานเขียนยาวของตัวเอง การจัดรูปแบบรูปภาพ ตาราง และบล็อกโค้ดให้เข้ากับ 𝕏 นั้นน่าปวดหัว YouMind เปลี่ยนร่าง Markdown ทั้งฉบับให้เป็นบทความ 𝕏 ที่สะอาดตาและพร้อมโพสต์ทันที

ลอง Markdown เป็น 𝕏

แพตเทิร์นให้ถอดรหัสเพิ่มเติม

บทความไวรัลล่าสุด

สำรวจบทความไวรัลเพิ่มเติม