AI Agent กำลังทำอะไรกันแน่? การวิเคราะห์การรั่วไหลของโค้ด Claude Code 500,000 บรรทัด
- มุมมองหลัก: เหตุการณ์การรั่วไหลซอร์สโค้ดของเครื่องมือเขียนโค้ด AI Claude Code ของ Anthropic เผยให้เห็นว่าแกนกลางของประสิทธิภาพอันทรงพลังนั้นไม่ได้อยู่ที่โมเดล AI เอง แต่เป็นสถาปัตยกรรมทางวิศวกรรมขนาดใหญ่และซับซ้อนที่สร้างขึ้นรอบโมเดล ซึ่งอาจกลายเป็นกำแพงการแข่งขันที่สำคัญสำหรับผลิตภัณฑ์ AI ในอนาคต
- องค์ประกอบสำคัญ:
- ขนาดการรั่วไหลซอร์สโค้ดสูงถึง 512,000 บรรทัด แต่โค้ดอินเทอร์เฟซที่เรียกใช้โมเดล AI โดยตรงมีเพียง 1.6% ที่เหลือ 98.4% เป็นโค้ดสถาปัตยกรรมทางวิศวกรรม
- โมดูลวิศวกรรมหลัก ได้แก่ เครื่องมือค้นหา ระบบเครื่องมือ การควบคุมสิทธิ์ความปลอดภัย และระบบการประสานงานเอเจนต์หลายตัว ซึ่งประกอบกันเป็นสภาพแวดล้อมการทำงานที่สมบูรณ์โดยมี LLM เป็นแกนกลาง
- ออกแบบกลไกแคชที่ซับซ้อนเพื่อควบคุมต้นทุน ต้นทุนการเรียกใช้ API ระหว่างการเข้าถึงแคชและการไม่เข้าถึงแคชแตกต่างกันถึง 10 เท่า การจัดการแคชจึงเป็นกุญแจสำคัญในการควบคุมต้นทุน
- โค้ดที่รั่วไหลมีสวิตช์ฟังก์ชัน 44 รายการ ชี้ไปที่ระบบเอเจนต์อัตโนมัติชื่อ KAIROS ซึ่งสามารถปรับความกระตือรือร้นของ AI ตามไดนามิกของความสนใจของผู้ใช้
- ในโค้ดซ่อนระบบสัตว์เลี้ยงเสมือน (BUDDY) ที่สมบูรณ์ไว้ ประกอบด้วยสายพันธุ์ต่างๆ ระดับความหายาก และของตกแต่ง ซึ่งเดิมวางแผนจะเปิดตัวในฤดูใบไม้ผลิปี 2026
512,000 บรรทัดของโค้ด 1,906 ไฟล์ แผนที่ซอร์สขนาด 59.8 MB ในช่วงเช้ามืดของวันที่ 31 มีนาคม Chaofan Shou จาก Solayer Labs พบว่า Claude Code ซึ่งเป็นผลิตภัณฑ์หลักของ Anthropic ได้เปิดเผยซอร์สโค้ดเต็มในที่เก็บ npm สาธารณะ ภายในไม่กี่ชั่วโมง โค้ดถูกกระจายไปยัง GitHub โดยมีจำนวน fork เกิน 41,000
นี่ไม่ใช่ครั้งแรกที่ Anthropic ทำผิดพลาดแบบนี้ ในเดือนกุมภาพันธ์ 2025 เมื่อ Claude Code เปิดตัวครั้งแรก การรั่วไหลของแผนที่ซอร์สแบบเดียวกันก็เคยเกิดขึ้นมาแล้ว ครั้งนี้เป็นเวอร์ชัน v2.1.88 สาเหตุการรั่วไหลเหมือนกัน เครื่องมือสร้าง Bun สร้างแผนที่ซอร์สโดยค่าเริ่มต้น แต่ไฟล์นี้ถูกละเว้นใน .npmignore
รายงานส่วนใหญ่เน้นไปที่การรวบรวมอีสเตอร์เอ้กในการรั่วไหล เช่น มีระบบสัตว์เลี้ยงเสมือน มี "โหมดลับ" ที่ให้ Claude ส่งโค้ดไปยังโปรเจกต์โอเพ่นซอร์สโดยไม่ระบุตัวตน แต่คำถามที่ควรวิเคราะห์จริงๆ คือ ทำไมโมเดล Claude เดียวกัน ถึงมีประสิทธิภาพต่างกันมากระหว่างเวอร์ชันเว็บและ Claude Code? 512,000 บรรทัดของโค้ดกำลังทำอะไรกันแน่?
โมเดลเป็นเพียงยอดภูเขาน้ำแข็ง
คำตอบซ่อนอยู่ในโครงสร้างโค้ด จากการวิเคราะห์ย้อนกลับของชุมชน GitHub เกี่ยวกับซอร์สโค้ดที่รั่วไหล จาก 512,000 บรรทัดของ TypeScript มีโค้ดอินเทอร์เฟซที่รับผิดชอบโดยตรงในการเรียกใช้โมเดล AI เพียงประมาณ 8,000 บรรทัด คิดเป็น 1.6% ของปริมาณทั้งหมด

อีก 98.4% กำลังทำอะไร? สองโมดูลที่ใหญ่ที่สุดคือเครื่องมือค้นหา (46,000 บรรทัด) และระบบเครื่องมือ (29,000 บรรทัด) เครื่องมือค้นหาจัดการการเรียกใช้ LLM API, เอาต์พุตแบบสตรีมมิ่ง, การจัดการแคช และการจัดการบทสนทนาหลายรอบ ระบบเครื่องมือกำหนดเครื่องมือในตัวประมาณ 40 รายการและคำสั่ง slash 50 รายการ สร้างสถาปัตยกรรมคล้ายปลั๊กอิน โดยแต่ละเครื่องมือมีการควบคุมสิทธิ์เป็นของตัวเอง
นอกจากนี้ยังมีโค้ดเรนเดอร์ UI เทอร์มินัล 25,000 บรรทัด (หนึ่งในไฟล์ชื่อ print.ts ยาว 5,594 บรรทัด โดยฟังก์ชันเดียวข้าม 3,167 บรรทัด) การควบคุมความปลอดภัยและสิทธิ์ 20,000 บรรทัด (ประกอบด้วยการตรวจสอบความปลอดภัย Bash ที่มีหมายเลข 23 รายการและคำสั่งภายใน Zsh ที่ถูกบล็อก 18 รายการ) และระบบการประสานงานเอเจนต์ย่อย 18,000 บรรทัด
Sebastian Raschka นักวิจัยการเรียนรู้ของเครื่อง หลังจากวิเคราะห์โค้ดที่รั่วไหลแล้ว ชี้ให้เห็นว่า สาเหตุหลักที่ Claude Code แข็งแกร่งกว่าเวอร์ชันเว็บของโมเดลเดียวกัน ไม่ใช่ตัวโมเดลเอง แต่เป็นโครงสร้างซอฟต์แวร์ที่สร้างขึ้นรอบๆ โมเดล ซึ่งรวมถึงการโหลดบริบทที่เก็บ การจัดตารางเครื่องมือเฉพาะ การกลยุทธ์แคช และการทำงานร่วมกันของเอเจนต์ย่อย เขาเชื่อว่า หากนำสถาปัตยกรรมทางวิศวกรรมเดียวกันไปใช้กับโมเดลอื่น เช่น DeepSeek หรือ Kimi ก็สามารถได้รับประสิทธิภาพการเขียนโปรแกรมที่ใกล้เคียงกัน
การเปรียบเทียบที่เข้าใจง่ายสามารถช่วยให้เข้าใจช่องว่างนี้ได้ เมื่อคุณป้อนคำถามใน ChatGPT หรือ Claude เวอร์ชันเว็บ โมเดลประมวลผลแล้วส่งคำตอบกลับมา เมื่อบทสนทนาจบลง ไม่มีอะไรเหลืออยู่ แต่ Claude Code ทำต่างออกไปโดยสิ้นเชิง มันเริ่มต้นด้วยการอ่านไฟล์โปรเจกต์ของคุณ เข้าใจโครงสร้างฐานโค้ดของคุณ จำความชอบของคุณ เช่น "อย่า mock ฐานข้อมูลในการทดสอบ" มันสามารถรันคำสั่งในเทอร์มินัลของคุณ แก้ไขไฟล์ รันการทดสอบได้โดยตรง และเมื่อเจองานที่ซับซ้อน มันจะแบ่งออกเป็นหลายงานย่อยและมอบหมายให้เอเจนต์ย่อยต่างกันประมวลผลแบบขนาน กล่าวอีกนัยหนึ่ง AI เวอร์ชันเว็บคือหน้าต่างถามตอบ Claude Code คือผู้ร่วมงานที่อาศัยอยู่ในคอมพิวเตอร์ของคุณ
บางคนเปรียบเทียบสถาปัตยกรรมนี้กับระบบปฏิบัติการ: เครื่องมือในตัว 42 รายการเทียบเท่ากับการเรียกใช้ระบบ ระบบสิทธิ์เทียบเท่ากับการจัดการผู้ใช้ โปรโตคอล MCP เทียบเท่ากับไดรเวอร์อุปกรณ์ การประสานงานเอเจนต์ย่อยเทียบเท่ากับการจัดตารางกระบวนการ แต่ละเครื่องมือถูกทำเครื่องหมายโดยค่าเริ่มต้นว่า "ไม่ปลอดภัย, เขียนได้" เว้นแต่ผู้พัฒนาจะประกาศว่ามันปลอดภัย เครื่องมือแก้ไขไฟล์จะบังคับตรวจสอบว่าคุณได้อ่านไฟล์นี้ก่อนหรือไม่ ถ้ายังไม่อ่านก็ไม่อนุญาตให้แก้ไข นี่ไม่ใช่แชทบอทที่ติดตั้งเครื่องมือเพิ่มสองสามอย่าง แต่เป็นสภาพแวดล้อมรันไทม์ที่มีกลไกความปลอดภัยครบถ้วน โดยมี LLM เป็นเคอร์เนล
นี่หมายถึงสิ่งหนึ่ง: กำแพงการแข่งขันของผลิตภัณฑ์ AI อาจไม่ได้อยู่ที่ชั้นโมเดล แต่อยู่ที่ชั้นวิศวกรรม
ทุกครั้งที่แคชถูกทำลาย ต้นทุนเพิ่ม 10 เท่า
ในโค้ดที่รั่วไหล มีไฟล์ชื่อ promptCacheBreakDetection.ts ซึ่งติดตามเวกเตอร์ 14 ประเภทที่อาจทำให้แคชพรอมต์ล้มเหลว ทำไมวิศวกรของ Anthropic ต้องใช้ความพยายามมากมายเพื่อป้องกันการทำลายแคช?
ดูราคาอย่างเป็นทางการของ Anthropic ก็เข้าใจแล้ว ตัวอย่างเช่น Claude Opus 4.6 ราคาอินพุตมาตรฐานคือ 5 ดอลลาร์ต่อล้านโทเคน แต่หากเข้าถึงแคชได้ ราคาการอ่านเพียง 0.5 ดอลลาร์ ถูกกว่า 90% ในทางกลับกัน ทุกครั้งที่แคชถูกทำลาย ต้นทุนการอนุมานจะเพิ่ม 10 เท่า

นี่อธิบายการตัดสินใจทางสถาปัตยกรรมจำนวนมากในโค้ดที่รั่วไหลซึ่งดูเหมือน "ออกแบบเกินจำเป็น" เมื่อ Claude Code เริ่มทำงาน มันจะโหลด branch git ปัจจุบัน บันทึก commit ล่าสุด และไฟล์ CLAUDE.md เป็นบริบท เนื้อหาคงที่เหล่านี้ถูกแคชทั่วโลก โดยใช้เครื่องหมายขอบเขตแยกเนื้อหาแบบไดนามิก เพื่อให้แน่ใจว่าบทสนทนาแต่ละครั้งจะไม่ประมวลผลบริบทที่มีอยู่ซ้ำ โค้ดยังมีกลไกที่เรียกว่า sticky latches เพื่อป้องกันไม่ให้การสลับโหมดทำลายแคชที่สร้างขึ้นแล้ว เอเจนต์ย่อยถูกออกแบบมาให้ใช้แคชของกระบวนการหลักซ้ำ แทนที่จะสร้างหน้าต่างบริบทของตัวเองขึ้นใหม่
มีรายละเอียดที่น่าสนใจหนึ่งประการ ผู้ที่ใช้เครื่องมือเขียนโปรแกรม AI รู้ดีว่ายิ่งบทสนทนายาวขึ้น การตอบกลับของ AI ก็ยิ่งช้าลง เพราะแต่ละรอบบทสนทนาต้องส่งประวัติก่อนหน้าทั้งหมดให้โมเดลอีกครั้ง วิธีปกติคือลบข้อความเก่าเพื่อปล่อยพื้นที่ แต่ปัญหาคือ การลบข้อความใดๆ ก็ตามจะทำลายความต่อเนื่องของแคช ทำให้ต้องประมวลผลประวัติบทสนทนาทั้งหมดใหม่ ความล่าช้าและค่าใช้จ่ายพุ่งสูงขึ้นพร้อมกัน
ในโค้ดที่รั่วไหลมีกลไกที่เรียกว่า cache_edits วิธีการคือไม่ลบข้อความจริง แต่ทำเครื่องหมายข้อความเก่าว่า "ข้าม" ที่ชั้น API โมเดลมองไม่เห็นข้อความเหล่านี้แล้ว แต่ความต่อเนื่องของแคชไม่ถูกทำลาย นี่หมายความว่าสำหรับบทสนทนายาวที่ดำเนินต่อเนื่องหลายชั่วโมง หลังจากล้างข้อความเก่าหลายร้อยข้อความแล้ว ความเร็วในการตอบสนองของรอบถัดไปจะเกือบเร็วเท่ารอบแรก สำหรับผู้ใช้ทั่วไป นี่คือคำตอบพื้นฐานสำหรับ "ทำไม Claude Code จึงสนับสนุนบทสนทนายาวไม่จำกัดโดยไม่ช้าลง"

จากข้อมูลการตรวจสอบภายในที่รั่วไหล (จากความคิดเห็นในโค้ดของ autoCompact.ts วันที่ระบุ 10 มีนาคม 2026) ก่อนที่จะมีการแนะนำขีดจำกัดความล้มเหลวในการบีบอัดอัตโนมัติ Claude Code สูญเสียการเรียกใช้ API ประมาณ 250,000 ครั้งต่อวัน มีเซสชันผู้ใช้ 1,279 รายการที่เกิดความล้มเหลวในการบีบอัดต่อเนื่องมากกว่า 50 ครั้ง เซสชันที่รุนแรงที่สุดล้มเหลวต่อเนื่อง 3,272 ครั้ง วิธีการแก้ไขคือเพิ่มข้อจำกัดเพียงหนึ่งบรรทัด: MAX_CONSECUTIVE_AUTOCOMPACT_FAILURES = 3
ดังนั้น สำหรับผลิตภัณฑ์ AI ต้นทุนการอนุมานของโมเดลอาจไม่ใช่ชั้นที่แพงที่สุด การจัดการแคชที่ล้มเหลวต่างหากที่เป็น
44 สวิตช์ ชี้ไปในทิศทางเดียวกัน
ในโค้ดที่รั่วไหลซ่อน feature flags 44 รายการ — สวิตช์ฟีเจอร์ที่คอมไพล์แล้ว แต่ยังไม่ได้เผยแพร่สู่สาธารณะ จากการวิเคราะห์ของชุมชน flags เหล่านี้แบ่งตามโดเมนฟังก์ชันเป็นห้าประเภท โดยที่หนาแน่นที่สุดคือประเภท "เอเจนต์อิสระ" (12 รายการ) ซึ่งชี้ไปที่ระบบชื่อ KAIROS
KAIROS ถูกอ้างอิงในซอร์สโค้ดมากกว่า 150 ครั้ง มันเป็นโหมดเดมอนแบ็กกราวด์ที่ทำงานอยู่ตลอดเวลา Claude Code ไม่ใช่แค่เครื่องมือที่ตอบสนองเมื่อคุณเรียกใช้เท่านั้น แต่เป็นเอเจนต์ที่ทำงานอยู่เบื้องหลังตลอดเวลา คอยสังเกต บันทึก และดำเนินการอย่างแข็งขันเมื่อถึงเวลาที่เหมาะสม เงื่อนไขคือไม่ขัดจังหวะผู้ใช้ การดำเนินการใดๆ ที่อาจบล็อกผู้ใช้เกิน 15 วินาทีจะถูกเลื่อนการดำเนินการ

KAIROS ยังมีการรับรู้โฟกัสเทอร์มินัลในตัว โค้ดมีฟิลด์ terminalFocus ซึ่งตรวจจับแบบเรียลไทม์ว่าผู้ใช้กำลังดูหน้าต่างเทอร์มินัลอยู่หรือไม่ เมื่อคุณเปลี่ยนไปใช้เบราว์เซอร์หรือแอปอื่น เอเจนต์ตัดสินว่าคุณ "ไม่อยู่" จะเปลี่ยนเป็นโหมดอิสระ ดำเนินการงานโดยตรง ส่งโค้ดโดยตรง โดยไม่รอการยืนยันจากคุณ เมื่อคุณกลับมาที่เทอร์มินัล เอเจนต์จะกลับสู่โหมดการทำงานร่วมกันทันที: รายงานสิ่งที่ทำไปก่อน แล้วขอความคิดเห็นของคุณ ระดับความเป็นอิสระไม่คงที่ แต่ลอยตัวตามความสนใจของคุณแบบเรียลไทม์ นี่แก้ปัญหาที่อึดอัดมายาวนานของเครื่องมือ AI: AI ที่เป็นอิสระโดยสมบูรณ์ทำให้ผู้ใช้ไม่มั่นใจ แต่ AI ที่เป็น passive โดยสมบูรณ์ก็ไม่มีประสิทธิภาพ ทางเลือกของ KAIROS คือให้ความเป็นเชิงรุกของ AI ปรับตามความสนใจของผู้ใช้แบบไดนามิก คุณจ้องมองมันก็ทำงานตามปกติ คุณเดินออกไปมันก็ทำงานเอง
ระบบย่อยอีกระบบของ KAIROS เรียกว่า autoDream ทุกๆ ที่สะสม 5 เซสชันหรือทุกๆ 24 ชั่วโมง เอเจนต์จะเริ่มกระบวนการ "สะท้อนคิด" ในแบ็กกราวด์ แบ่งเป็นสี่ขั้นตอน ก่อนอื่นสแกนความทรงจำที่มีอยู่ เพื่อเข้าใจว่าตนเองรู้อะไรในปัจจุบัน จากนั้นดึงความรู้ใหม่จากบันทึกบทสนทนา จากนั้นรวมความรู้เก่าและใหม่ แก้ไขความขัดแย้ง ลบส่วนที่ซ้ำซ้อน สุดท้ายลดทอนดัชนี ลบรายการที่ล้าสมัย การออกแบบนี้ดัดแปลงมาจากทฤษฎีการรวบรวมความทรงจำในวิทยาศาสตร์การรับรู้ ในขณะที่มนุษย์จัดระเบียบความทรงจำในเวลากลางวันระหว่างนอนหลับ KAIROS จัดระเบียบบริบทโปรเจกต์ในขณะที่ผู้ใช้ไม่อยู่ สำหรับผู้ใช้ทั่วไป นี่หมายความว่ายิ่งคุณใช้ Claude Code นานเท่าไร มันก็จะเข้าใจโปรเจกต์ของคุณได้แม่นยำมากขึ้น ไม่ใช่แค่ "จำสิ่งที่คุณพูด"
ประเภทที่สองใหญ่คือ "การป้องกันการกลั่นย้อนกลับและความปลอดภัย" (8 flags) ที่น่าสนใจที่สุดคือกลไก fake_tools เมื่อตรงตามเงื่อนไข 4 ประการพร้อมกัน (เปิด flag เวลา compile, เปิดใช้งานทางเข้า CLI, ใช้ API ภาคแรก, สวิตช์ระยะไกล GrowthBook เป็น true) Claude Code จะฉีดคำจำกัดความเครื่องมือปลอมในการร้องขอ API โดยมีจุดประสงค์เพื่อปนเปื้อนชุดข้อมูลที่อาจกำลังบันทึกการรับส่งข้อมูล API เพื่อฝึกโมเดลคู่แข่ง นี่คือรูปแบบการป้องกันใหม่ในการแข่งขันอาวุธ AI ไม่ใช่การหยุดคุณจากการลอก แต่ทำให้คุณลอกสิ่งที่ผิด
นอกจากนี้ ในโค้ดยังปรากฏรหัสโมเดล Capybara (แบ่งเป็นสามระดับ: มาตรฐาน, เวอร์ชัน fast และเวอร์ชันหน้าต่างบริบทล้านโทเคน) ซึ่งชุมชนคาดการณ์กันอย่างกว้างขวางว่าเป็นรหัสภายในของซีรีส์ Claude 5
อีสเตอร์เอ้ก: ใน 512,000 บรรทัดของโค้ดซ่อนสัตว์เลี้ยงอิเล็กทรอนิกส์หนึ่งตัว
ท่ามกลางสถาปัตยกรรมทางวิศวกรรมและกลไกความปลอดภัยที่จริงจังทั้งหมด วิศวกรของ Anthropic ยังสร้างระบบสัตว์เลี้ยงเสมือนที่สมบูรณ์อย่างเงียบๆ อีกด้วย โดยมีรหัสภายในว่า BUDDY
จากโค้ดที่รั่วไหลและการวิเคราะห์ของชุมชน BUDDY เป็นสัตว์เลี้ยงเทอร์มินัลที่เลียนแบบสิ่งมีชีวิต จะปรากฏข้างช่องป้อนข้อมูลของผู้ใช้ในรูปแบบกรอบพูดคุย ASCII มันมี 18 สปีชีส์ (รวมถึงคาปิบารา, ซาลาแมนเดอร์, เห็ด, ผี, มังกร และสิ่งมีชีวิตดั้งเดิมหลายชนิด เช่น Pebblecrab, Dustbunny, Mossfrog) แบ่งตามความหายากเป็นห้าระดับ: ปกติ (60%), หายาก (25%), หายากมาก (10%), ตำนาน (4%) และในตำนาน (1%) แต่ละสปีชีส์ยังมี "รูปแบบแวววาว" โดย Shiny Legendary Nebulynx ที่หายากที่สุดมีโอกาสปรากฏเพียงหนึ่งในหมื่น
แต่ละ BUDDY มีคุณสมบัติห้าประการ: DEBUGGING (การดีบัก), PATIENCE (ความอดทน), CHAOS (ความวุ่นวาย), WISDOM (ปัญญา) และ SNARK (คำพูดเสียดสี) พวกมันยังสามารถสวมหมวกได้ ตัวเลือกรวมถึงมงกุฎ, หมวกทรงสูง, หมวกใบพัด, รัศมี, หมวกพ่อมด และแม้แต่นกเป็ดน้ำตัวเล็ก ค่าแฮชของ ID ผู้ใช้กำหนดว่าคุณจะฟักสัตว์เลี้ยงตัวไหนออกมา Claude จะสร้างชื่อและบุคลิกให้มัน
ตามแผนการเปิดตัวที่รั่วไหล BUDDY เดิมกำหนด


