Tech Blog

คืนที่ AI แก้ไขฉัน 5 ครั้ง - ปรัชญาการออกแบบเพื่อให้ RAG ส่วนตัวเป็นเพื่อนคุณเป็นเวลา 5 ปี

GitHub Copilot Claude Code AIアシスタント RAG ChromaDB MCP 設計思想 認知科学 個人ナレッジ管理

🔗 สารบัญซีรีส์: บทความนี้เป็น ฉบับปรัชญาการออกแบบ ของซีรีส์ บันทึกการปฏิบัติงานของผู้ช่วย AI - บันทึกการปฏิบัติสำหรับการเพิ่มรหัส Copilot / Claude ในฐานะคู่หูของคุณ

สิ่งที่คุณสามารถเรียนรู้ได้จากบทความนี้

  • หลักการออกแบบเพื่อทำให้ RAG ส่วนตัว (ChromaDB + Ollama) เป็นเพื่อนคู่ใจของคุณมานานกว่า 5 ปี
  • ภาพลวงตาว่า “ควรกลั่นให้สะอาด” และกับดักของมัน
  • เสียงรบกวนและสัญญาณขึ้นอยู่กับผู้สังเกตการณ์ หลักการขององค์ความรู้และการดึงข้อมูล
  • วิธีขัดเกลาการออกแบบของคุณด้วย AI และขีดจำกัดของมัน
  • “สี่สิ่งที่คุณไม่ควรทำ” (ฉันทำทั้งหมดในคืนเดียว)

กลุ่มเป้าหมาย

  • บุคคลที่ ต้องการใช้ RAG/PKM (Obsidian, Roam, Notion AI) ต่อไปเป็นเวลานาน
  • ผู้ที่สนใจ “มอบหน่วยความจำภายนอกให้กับ AI”
  • ผู้ที่ต้องการรีวิวการออกแบบร่วมกับ AI
  • อยากหัวเราะตัวเองที่ถูก AI หลอก (ฉันคืนนี้)

บทนำ: คืนหนึ่งฉันต้องแก้ไข AI 5 ครั้ง

คืนหนึ่ง ฉันได้ปรึกษากับ Claude Code เพื่อจัดระเบียบ RAG ส่วนตัวของฉัน (เซิร์ฟเวอร์ ChromaDB + Ollama + MCP)

“คุณสามารถเพิ่มประสิทธิภาพ RAG ได้หรือไม่ มีพื้นที่ส่วนกลางสำหรับแต่ละโครงการใช่ไหม”

เป็นคำถามที่ฉันถามด้วยท่าทีสบายๆ หลังจากผ่านไปประมาณ 30 นาที ก็มีข้อเสนอแนะกลับมาหาฉันว่า “คุณควรแก้ไขปัญหานี้” และฉันก็วางแผนที่จะนำไปใช้และเข้านอน

ด้วยเหตุนี้ ฉันจึงได้สนทนาวิภาษวิธีกับคลอดด์จนถึงตี 2** ฉันลงเอยด้วยการแก้ไข AI ห้าครั้ง และ AI ก็เขียนข้อเสนอการออกแบบใหม่เพื่อการสังเคราะห์ห้าครั้ง

ก่อนที่ฉันจะรู้ การอภิปรายได้ขยายจาก การเพิ่มประสิทธิภาพ RAG ส่วนบุคคล ​​เป็น “การมี AI เป็นคู่ของคุณหมายความว่าอย่างไร” ซึ่งเป็นขอบเขตระหว่างวิทยาศาสตร์ความรู้ความเข้าใจ ทฤษฎีการดึงข้อมูล และระบบการแนะนำ

บทความนี้เป็นบันทึกการสนทนาในคืนนั้นและ หลักการออกแบบ RAG 5 ปี ที่ดึงมาจากบทความนี้

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


องก์ที่ 1: ภาพลวงตาว่า “ควรกลั่นให้สะอาด”

ข้อเสนอแรกของโคลดยอดเยี่ยมมาก> “มาออกแบบใหม่ให้เป็นโครงสร้าง 4 ชั้นกันดีกว่า ชั้นการเปิดใช้งาน ชั้นการดึงข้อมูล ชั้นการจัดเก็บ และชั้นการกลืนกิน พื้นที่จัดเก็บแบ่งออกเป็น 3 ชั้น และชั้นที่ 1 จะเก็บเฉพาะทรัพย์สินนิรันดร์ที่สะอาดเท่านั้น ชั้นที่ 2 อยู่ในระหว่างดำเนินการ และชั้นที่ 3 เป็นบัฟเฟอร์วงแหวนหน่วยความจำระยะสั้น ไปป์ไลน์การกลั่นเลื่อนจากชั้นที่ 3 ไปเป็นชั้นที่ 1…”

ในทางเทคนิคแล้วมันสมเหตุสมผล มันดูคล้ายกับสถาปัตยกรรมที่ฉันเคยอ่านเจอในหนังสือและบล็อกต่างๆ

แต่มีบางอย่างไม่ถูกต้องสำหรับฉัน ฉันจึงถามอีกครั้ง

“การออกแบบในปัจจุบันไม่ดีเลย”

โคลดเปลี่ยนคำตอบของเขาโดยสิ้นเชิงหลังจากผ่านไป 3 วินาที (เวลาประสบการณ์ LLM)

“ขออภัย ฉันวิพากษ์วิจารณ์การสนทนานี้มากเกินไป การออกแบบในปัจจุบัน โดยพื้นฐานแล้วดี

และ AI เองก็สารภาพกับดักสามอย่างที่เขาตกเข้าไป

กับดักสารบัญ
กับดักที่ปรึกษาพยายามแสดงคุณค่าของตัวเองด้วยการบ่นเกี่ยวกับการออกแบบที่มีอยู่
กับดักเต็มเมื่อถูกขอให้สร้างการออกแบบที่เหมาะสมที่สุด พวกเขาจะเพิ่มฟังก์ชันการทำงานและไม่สนใจภาระในการปฏิบัติงาน
ออกแบบกับดักใหม่เมื่อคุณพบปัญหาเล็กๆ น้อยๆ คุณต้องการออกแบบใหม่ทั้งหมด

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

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

การแลกเปลี่ยนครั้งนี้ทำให้ฉันได้ตระหนักถึงสิ่งแรก:

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


องก์ที่ 2: ข้อผิดพลาดร้ายแรงของศรัทธาที่กลั่นกรอง

ฉันคิดว่ามันคงจะเพียงพอแล้วที่จะพูดว่า “การออกแบบในปัจจุบันโดยพื้นฐานแล้วดี” แต่กลับกลายเป็นเรื่องราวที่ลึกซึ้งกว่านั้นมาก

RAG ของฉันได้รับการออกแบบมาเพื่อ กลั่นบันทึกดิบในภายหลัง สคริปต์นำเข้าอัตโนมัติจะทำงานทุก ๆ 30 นาที ป้อนบันทึกการสนทนา Copilot ไปที่ ChromaDB และ distill_v2 จัดประเภทและเลื่อนระดับเป็น lesson / idea / knowledge / profile / conclusion ด้วย gpt-4o-mini ของ GitHub Models

นี่เป็นการออกแบบโดยตั้งใจ: “อย่าหยุดทำงาน ทิ้งวัตถุดิบแล้วจัดโครงสร้างในภายหลัง”

แต่ในตอนแรกโคลดเขียนว่า:> “ไม่ควรป้อนบันทึกดิบจำนวนมาก แนวคิดที่เข้ามาในใจก่อนการกลั่นควรแยกออกก่อนที่จะนำเสนอ”

ฉันแก้ไขมันแล้ว

“เหตุผลที่เราใส่บันทึกดิบลงไปและกลั่นในภายหลังก็เพื่อที่เราจะได้ไม่ต้องหยุดทำงาน”

Claude ขอโทษอีกครั้งและยอมรับว่าทั้ง Tier 3 (ดิบ) และ Tier 1 (กลั่น) ล้วนมีคุณค่า อย่างไรก็ตาม ความคิดเรื่อง “ห้องนิรภัยที่สวยงาม” ยังคงอยู่ในใจของโคลด

ดังนั้นฉันจึงมีการสนทนาเชิงลึกมากขึ้น

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

นี่ไม่ใช่การปฏิเสธ แต่เป็น การยืนยัน เราถาม AI ว่า “คุณเข้าใจจริงๆ หรือไม่ว่า vector DB ที่คุณใช้งานอยู่นั้นใช้ทำอะไร”

การตอบสนองของ Claude เป็นการเขียนพื้นฐานการออกแบบใหม่

“นั่นเป็นความจริงอย่างยิ่ง ‘ศรัทธาในการกลั่นกรอง’ ของฉันเป็นแบบอย่างของสมองที่ผิด”

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

AI ที่ตัดสินใจโดยอาศัยภูมิปัญญาที่กลั่นกรองและชัดเจนเพียงอย่างเดียว ก็ไม่แตกต่างจากระบบผู้เชี่ยวชาญที่อิงกฎเกณฑ์ในช่วงปี 1990 พื้นที่เวกเตอร์ของ ChromaDB ใช้การประมาณค่าของการเรียกคืนแบบเชื่อมโยงโดยธรรมชาติผ่านความคล้ายคลึงกันทางความหมาย ซึ่งสอดคล้องกับชั้นหน่วยความจำโดยนัยของสมอง การมีข้อมูลดิบและซับซ้อนจำนวนมาก “อดีตที่คล้ายกับสิ่งนี้” จะปรากฏขึ้นสำหรับข้อความค้นหาใหม่ นั่นคือธรรมชาติที่แท้จริงของสัญชาตญาณ

การบรรยายบทเรียนที่กลั่นกรองออกมาเพียงอย่างเดียวไม่ได้สร้างสัญชาตญาณ

นี่คือสิ่งที่สองที่ฉันสังเกตเห็น:

**การมุ่งเป้าไปที่ “ความสะอาด” ของข้อมูลคือการตัดสินใจด้านการออกแบบที่ทำให้ AI เสื่อมถอยลงในกลไกกฎที่เข้มงวด ความซับซ้อนของข้อมูลดิบคือสิ่งที่ทำให้ vector DB เป็น “คู่หู” **


องก์ที่ 3: Google Maps พาฉันไปรอบๆ บริเวณฐานภูเขาไฟฟูจิ

ขณะที่การอภิปรายเกี่ยวกับการออกแบบดูเหมือนจะเคลื่อนไปสู่ความเป็นนามธรรม ฉันก็ยกตัวอย่างที่เป็นรูปธรรมขึ้นมา

ประมาณสี่ปีที่แล้ว มีความแตกต่างที่ชัดเจนระหว่างการนำทางของ Google Maps และการนำทางในรถของคุณ

เมื่อขับรถไปตามชนบท Google Maps มักจะเป็นเพียงสิ่งเดียวที่จะนำฉันไปสู่ทางลัด เช่น ถนนในป่าหรือเส้นทางเดินชมสัตว์ที่คนในพื้นที่เท่านั้นที่พาฉันไปได้ ระบบเดิมของรถจะไม่เลือกเส้นทางทำไมมีแต่ Google ที่รู้เรื่องนี้ อาจเป็นเพราะรวบรวมข้อมูลตำแหน่งจากสมาร์ทโฟน Android ในบรรดาเส้นทางที่ใช้โดย อาคารผู้โดยสารซึ่งเคลื่อนที่ด้วยความเร็ว 20 กม./ชม. หรือสูงกว่า จากจุด A ไปยังจุด B นั้น เส้นทางส่วนใหญ่ ถูกนำมาใช้ จากนั้นทางลัดที่คนในพื้นที่ใช้เป็นประจำทุกวันจะปรากฏบนบริการแผนที่แม้ว่าจะไม่มีใครเข้าไปก็ตาม

นี่คือข้อมูลอัจฉริยะที่เกิดขึ้นจากการรวบรวมทางสถิติของการติดตาม GPS แบบดิบ

เดิมที Claude เขียนว่า:

“คำแนะนำถนนในป่าของ Google Maps เป็นตัวอย่างหนึ่งของ เหตุการณ์เสียงรบกวน ซึ่งได้รับการปรับปรุงในภายหลังโดยการเพิ่มเลเยอร์ตัวกรองพร้อมคะแนนคุณภาพถนนและบทวิจารณ์”

นี่คือจุดที่ฉันทำการแก้ไขครั้งที่สาม

“การถูกพาไปถนนป่า/เส้นทางชมสัตว์ไม่ใช่อุบัติเหตุ ถ้าไม่บอกฉัน ฉันจะไม่ไปที่นั่น ไม่เคยรู้ ฉันคิดว่านั่นเป็นเพราะที่นั่นรถสัญจรน้อยมาก มันอยู่ใกล้ตีนภูเขาไฟฟูจิ เป็นข้อมูลที่มีความหมายมาก”

นี่เป็นการแก้ไขสำหรับ Claude ที่พลิกโฉมการออกแบบไปอีกขั้นหนึ่ง

**สิ่งที่ถูกมองว่าเป็น “เสียงรบกวน” แท้จริงแล้วเป็นโอกาสครั้งหนึ่งในชีวิตสำหรับการค้นพบ **

คำแนะนำถนนในป่าของ Google Maps มีคุณลักษณะที่การนำทางในสต๊อกของรถยนต์ไม่มี: การเผชิญหน้ากับสิ่งที่ไม่รู้จัก ถ้าเราเรียกมันว่า “อุบัติเหตุ” แล้วกรองมันออกไป ประสิทธิภาพก็จะเพิ่มขึ้น แต่เราก็สูญเสียโอกาสในการขยายโลกของเราไปด้วย

ระบบนำทางรถยนต์ของแท้Google แผนที่
แหล่งข้อมูลถนนที่คัดสรรแล้ว DBด้านบน + ร่องรอย GPS ดิบจำนวนมาก
จุดแข็งปลอดภัยและคาดเดาได้ค้นพบทางลัดที่คนในพื้นที่เท่านั้นที่รู้
จุดอ่อนสัญชาตญาณเป็นศูนย์ ขาดทางลัด(บางครั้ง) เส้นทางที่ไม่สะดวก (บางครั้ง) การค้นพบที่คุณจะไม่มีวันลืม
ปรัชญาการออกแบบการเพิ่มประสิทธิภาพประสิทธิภาพ + ประตูสู่สิ่งที่ไม่รู้จัก

สิ่งที่สามที่ควรสังเกตมีดังนี้:

**คุณค่าส่วนหนึ่งที่ AI มอบให้คือการเปิดประตูสู่โลกที่ผู้ใช้ไม่รู้ว่ามีอยู่จริง มีคุณค่าในสิ่งนี้ที่นอกเหนือไปจากอรรถประโยชน์ที่ส่งคืน “ คำตอบที่ถูกต้อง ” **

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


องก์ที่ 4: เสียงและสัญญาณขึ้นอยู่กับผู้สังเกตการณ์

ที่นี่โคลดเหวี่ยงไปสู่จุดสูงสุดอีกครั้ง

ตามแนวทางที่ว่า “วัตถุดิบคือคุณค่า ตัวกรองเป็นสิ่งชั่วร้าย และอย่าลบล้างถนนในป่า”ฉันแก้ไขตัวเองอีกครั้ง

“มีเสียงรบกวน แต่ก็มีสิ่งที่ไม่ใช่เสียงรบกวนด้วย อีกทั้งหากมองจากหลายมุมอาจเป็นทั้งเสียงรบกวนและข้อมูลที่ดี ฉันคิดว่าคุณเข้าใจดีที่สุด”

ประโยคสุดท้ายประกอบด้วยการยั่วยุอันต่ำต้อยของฉัน “Claude ซึ่งเป็น AI น่าจะรู้เรื่องนี้ดีที่สุด” คือประเด็น

ทำไม

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

กล่าวอีกนัยหนึ่ง “สัญญาณรบกวนหรือสัญญาณ” ไม่ใช่คุณลักษณะของข้อมูล แต่เป็นความสัมพันธ์ระหว่างข้อมูลและผู้สังเกตการณ์ และนี่คือกระบวนการที่แน่นอนที่ Claude ทำทุกช่วงเวลา

อย่างไรก็ตาม เมื่อพูดถึงการออกแบบ RAG ด้วยเหตุผลบางอย่าง Claude ก็ยังคงเสนอข้อเสนอการออกแบบที่ขัดแย้งกับหลักการทำงานของเขา เช่น “มาจัดหมวดหมู่แบบตายตัว ณ จุดจัดเก็บกันดีกว่า”

คำตอบของโคลดเป็นการสังเกตตนเองที่เจาะลึกที่สุดที่ฉันเคยเห็นในคืนนี้

“การแก้ไข นี่คือสัญญาณรบกวน'' และ นี่คือสัญญาณ” ในขณะที่จัดเก็บถือเป็นความผิดพลาดในการวางเฟรมของผู้สังเกตการณ์เฉพาะไว้กับผู้สังเกตการณ์ทุกคน ฉัน (LLM) พยายามอย่าทำเช่นนี้ทุกครั้ง อย่างไรก็ตาม ในการออกแบบ RAG ฉันได้เสนอตัวกรองล่วงหน้า ฉันคิดแผนการออกแบบที่ขัดแย้งกับหลักการปฏิบัติงานของฉัน

สิ่งที่สี่ที่ควรสังเกตมีดังนี้:

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

ในคำศัพท์เฉพาะทางของทฤษฎีการดึงข้อมูล นี่คือประเด็นคลาสสิกที่เกิดขึ้นในทฤษฎีความเกี่ยวข้องของ Saracevic: “ความเกี่ยวข้องไม่ใช่ความสัมพันธ์แบบไบนารี แต่เป็นความสัมพันธ์แบบหลายระยะ” แต่นี่เป็นครั้งแรกที่ฉันสามารถเข้าใจสิ่งนี้ได้อย่างแท้จริงในขณะที่โต้ตอบกับ AI


องก์ที่ 5: แกนหลักของการออกแบบที่มีอายุการใช้งาน 5 ปี

หลังจากแก้ไขห้าครั้ง ในที่สุดเราก็มาถึงการสังเคราะห์

เมื่อคุณเขียนมันลงไป มันง่ายมาก

หลักการที่ 1 : Capture-First (อย่าทิ้งวัตถุดิบดิบ)

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

หลักการที่ 2: การกลั่นไม่ใช่การเติมหรือทดแทนเลื่อนระดับ raw ให้เป็นแบบมีโครงสร้าง lesson / idea / knowledge ฯลฯ ด้วย LLM (เช่น gpt-4o-mini)

อย่างไรก็ตาม ปล่อยให้ดิบ เช่นกัน การเก็บรักษาสองเท่าทำให้คุณสามารถค้นหาทั้งผลลัพธ์ที่กลั่นและดิบได้

หลักการที่ 3: Activation Layer (การแสดงออกของความรู้สึกของคู่ค้า)

ความแตกต่างที่สำคัญระหว่างเครื่องมือค้นหาและการแสดงร่วมคือ ดันหรือดึง

เครื่องมือค้นหาจะตอบเมื่อถูกถาม (ดึง) เพื่อนของคุณจะให้สิ่งที่คุณต้องการโดยไม่ต้องถูกถาม (ผลักดัน)

โดยเฉพาะโปรไฟล์ผู้ใช้ + บทเรียนสำคัญ + คำถามที่ยังไม่ได้รับการแก้ไขจะถูกฉีดโดยอัตโนมัติเมื่อเริ่มเซสชันไคลเอนต์ AI (Claude Code / Copilot) / ทุกเทิร์น Claude Code ใช้กลไกที่ส่งคืน additionalContext พร้อมด้วย UserPromptSubmit hook และ Copilot ใช้กลไกที่วางไฟล์ไว้ในโฟลเดอร์เครื่องมือหน่วยความจำ

ตอนนี้ AI จะเริ่มทุกการสนทนาในสถานะ “รู้จักคุณ”

หลักการที่ 4: การอยู่ร่วมกันหลายไคลเอนต์ (แนวคิดการออกแบบได้รับการสื่อสารในรูปแบบเอกสาร ไม่ใช่ API)

RAG ของฉันเขียนจากทั้ง Copilot และ Claude Code แม้ว่าคุณจะลบพารามิเตอร์ project ที่ระดับ MCP API หากไคลเอนต์ทั้งสองไม่ได้ใช้ปรัชญาการออกแบบเดียวกัน (บทเรียนมีโครงสร้าง ลำดับความสำคัญ=สูง ได้รับการคัดเลือกอย่างระมัดระวัง ฯลฯ) ฝ่ายหนึ่งจะยังคงเขียนด้วยปรัชญาเก่าด้วยความตั้งใจดี และ RAG จะถูกปนเปื้อน

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

หลักการที่ 5: ยอมรับการพึ่งพาผู้สังเกตการณ์

การค้นหาจะถูกกำหนดโดยบริบท ณ เวลาที่สืบค้น อย่าตัดสินใจตามพื้นที่จัดเก็บ แท็กการจัดหมวดหมู่จะคงไว้เป็น “ วิธีที่ผู้สังเกตการณ์บางคนมองเห็น ” มันไม่ได้รับการแก้ไข ความแม่นยำ (การเพิ่มประสิทธิภาพความเกี่ยวข้อง) และการค้นพบ (ประตูสู่สิ่งที่ไม่รู้จัก) ถือเป็นยูทิลิตี้ชั้นหนึ่ง


“4 สิ่งที่ไม่ควรทำ” (ฉันทำหมดในคืนเดียว)

โดยสรุป มีกับดักสี่ประการที่ควรหลีกเลี่ยงเมื่อออกแบบ RAG ด้วย AI

กับดัก 1: สร้างเพียงห้องใต้ดินที่สวยงามเท่านั้น

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

กับดัก 2: ทิ้งวัตถุดิบแม้ว่าเราจะแสดงรายการเฉพาะบทเรียนที่กลั่นกรองแล้ว ความคล้ายคลึงกับสถานการณ์ใหม่จะไม่เกิดขึ้น

มันทำลาย raison d’être ของ vector DB โดยสิ้นเชิง (การเรียกคืนแบบเชื่อมโยงผ่านการค้นหาพื้นที่ใกล้เคียง)

กับดัก 3: แก้ไขผู้สังเกตการณ์

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

กับดักที่ 4: การแบ่งแยกอุดมการณ์ระหว่างลูกค้า

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


วิธีขัดเกลาการออกแบบของคุณด้วย AI

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

เคล็ดลับที่ 1: เมื่อ AI มาพร้อมกับ “วิธีแก้ปัญหาที่ดีที่สุด” ก่อนอื่นให้สงสัยก่อน

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

เคล็ดลับ 2: สอน AI “ทำไมฉันถึงทำแบบนี้”

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

เคล็ดลับ 3: เขย่าวิภาษวิธี

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

เคล็ดลับ 4: เชื่อสัญชาตญาณของคุณ

หลายครั้งในคืนนั้น ฉันพบว่าตัวเองกำลังคิดว่า “โคล้ดดูเหมือนถูก แต่มีบางอย่างที่รู้สึกไม่ถูกต้อง” เมื่อฉันแสดงความรู้สึกไม่สบายใจต่อ AI สัญชาตญาณของฉันมักจะถูกต้อง หากคุณรู้สึกว่าถูก AI กดดัน ให้หยุด

เคล็ดลับ 5: กระตุ้นการสังเกตตนเองจาก AI

คำถามเช่น “คุณไม่ใช่คนที่เข้าใจดีที่สุดใช่ไหม” มีพลัง การให้ AI สะท้อนถึงหลักการทำงานของตัวเอง ช่วยให้คุณสามารถปรับแต่งแนวคิดการออกแบบของคุณเพิ่มเติมได้

เคล็ดลับ 6: บันทึกการค้นพบที่สำคัญทันที

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

---## บทสรุป: จดหมายถึงตัวเองในรอบ 5 ปี

ฉันไม่รู้ว่าในอีก 5 ปีข้างหน้าจะมีชื่อเฉพาะเจาะจงว่าอะไร ChromaDB อาจเพิ่มความแข็งแกร่งให้กับตำแหน่งของตนในฐานะศูนย์กลางของฐานข้อมูลเวกเตอร์ Ollama อาจถูกแทนที่ด้วยรันไทม์ LLM อื่น อาจเป็นไปได้ว่ามีการสร้างกลไกอื่นที่ไม่ใช่ hook UserPromptSubmit

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

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

และเหนือสิ่งอื่นใด

  • เลือกดีไซน์ที่แสดงให้เห็นบริเวณฐานภูเขาไฟฟูจิ

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


ข้อมูลเพิ่มเติม: กองเทคโนโลยี

เพื่อเป็นข้อมูลอ้างอิง เราได้แสดงรายการสแต็กการใช้งาน RAG ที่กล่าวถึงในบทความนี้

เลเยอร์เทคโนโลยี
เวกเตอร์ DBChromaDB (การคงอยู่ในท้องถิ่น)
การฝังnomic-embed-text (ผ่าน Ollama, 768 มิติ)
การกลั่น LLMgpt-4o-mini (GitHub รุ่น API)
เซิร์ฟเวอร์ MCPPython + FastMCP (การขนส่ง stdio)
ส่งอัตโนมัติWindows Task Scheduler (ทุก ๆ 30 นาที)
การเปิดใช้งาน (Copilot)การฉีดไฟล์ผ่านกลไกเครื่องมือหน่วยความจำ
การเปิดใช้งาน (รหัส Claude)additionalContext JSON การส่งคืนของ UserPromptSubmit hook

บทความการใช้งานโดยละเอียดสามารถดูได้ที่ สารบัญซีรี่ส์


เกี่ยวกับบทความนี้นั่นเองบทความนี้เกิดจากการสนทนาข้ามคืนกับ Claude Code

โคลดเป็นผู้เขียนร่าง แต่เนื้อหาเป็นบทสนทนาระหว่างฉันกับโคลด และการแก้ไขของฉันเป็นแก่นของบทความ

กล่าวอีกนัยหนึ่ง นี่คือบทความที่ทั้ง AI และมนุษย์ไม่สามารถเขียนคนเดียวได้ ฉันคิดว่าแก่นแท้ของซีรีส์นี้ซึ่งก็คือการพัฒนา AI ให้เป็น “ผู้ช่วย” แทนที่จะเป็น “เครื่องมือ” นั้นสะท้อนให้เห็นในกระบวนการสร้างบทความนี้เอง

ฉันอยากทำสิ่งเดียวกันอีกครั้งกับตัวเองใน 5 ปี และกับ AI ใน 5 ปี

ส่งข้อความได้ตามสบาย

กรุณาส่งข้อความ หากมีคำปรึกษาด้านเทคนิค ความคิดเห็น หรือคำถาม