หัวข้อต้นฉบับ: "ทราบทุกเรื่องเกี่ยวกับโค้ด Claude ของ Anthropic: ทำไมมันดีกว่าคนอื่น?"
ผู้เขียนต้นฉบับ: Yuker, นักวิจัยด้าน AI
วันที่ 31 มีนาคม 2026, นักวิจัยด้านความปลอดภัย Chaofan Shou ค้นพบว่า Anthropic ได้โพสต์ Claude Code บน npm โดยไม่ได้แยกไฟล์ source map
นี่หมายความว่า: โค้ด Claude ทั้งหมดของ TypeScript, มี 512,000 บรรทัด, 1903 ไฟล์, ถูกเปิดเผยบนอินเทอร์เน็ต
ข้อคิดคร่าว ๆ ของผมคือ ผมไม่สามารถดูโค้ดมากมายในเวลาอันสั้นสิ้น เพราะฉะนั้น ผมตัดสินใจที่จะไปด้วยคำถามสามข้อนี้:
1. โค้ด Claude กับเครื่องมือเขียนโปรแกรม AI อื่น ๆ แตกต่างกันอย่างไร?
2. ทำไมการเขียนโค้ดด้วยมันดู "ดี" กว่าคนอื่น?
3. ใน 51 หมื่นบรรทัดโค้ดนี้ มีอะไรซ่อนอยู่?
หลังจากอ่านเสร็จ ความคิดแรกของผมคือ: นี่ไม่ใช่ตัวช่วยเขียนโปรแกรมด้วย AI, นี่คือระบบปฏิบัติการ
จินตนาการว่าคุณได้จ้างโปรแกรมเมอร์ระยะไกล และให้สิทธิ์เข้าถึงคอมพิวเตอร์ของคุณ
คุณจะทำอย่างไร?
หากคุณทำตามวิธีของ Cursor: คุณกล่าวให้เขานั่งข้างๆ คุณ, ทุกครั้งที่เขาต้องพิมพ์คำสั่งคุณจะมองไป แล้วคลิก "อนุญาต". แน่นอนแล้ว, แต่คุณต้องมองอยู่เสมอ
หากคุณทำตาม GitHub Copilot Agent: คุณให้เขาเครื่องเสมือนใหม่, ให้เขาเล่นได้อย่างไร้ขีด จนเสร็จสิ้นแล้วส่งโค้ดกลับมาให้คุณตรวจสอบก่อนรวมกัน. ปลอดภัยกว่า, แต่เขาจะไม่เห็นสภาพแวดล้อมของคุณในท้องถิ่น
หากคุณทำตามวิธีของ Claude Code:
คุณให้เขาใช้คอมพิวเตอร์ของคุณโดยตรง—แต่คุณให้เขาระบบตรวจสอบความปลอดภัยที่ละเอียดอ่อนมาก. เขาสามารถทำอะไรบ้าง, ไม่สามารถทำอะไรบ้าง, การกระทำไหนต้องขออนุมัติจากคุณ, การกระทำไหนเขาทำได้เอง, แม้แต่การใช้คำสั่ง rm -rf ก็ต้องผ่านการตรวจสอบ 9 ชั้นก่อนที่จะดำเนินการ
นี่คือสามแนวคิดด้านความปลอดภัยที่แตกต่างอย่างสิ้นเชิง:

ทำไม Anthropic ถึงเลือกเส้นทางที่ยากที่สุด?
เพราะเพียงเท่านั้นที่ AI จะสามารถทำงานโดยใช้เทอร์มินัลของคุณ แวดล้อมของคุณ และการกำหนดค่าของคุณ—นี่คือ「การช่วยเขียนโค้ดจริงๆ」 ไม่ใช่「การเขียนโค้ดให้คุณในห้องสะอาดแล้วค่อยคัดลอกมา」
แต่ต้องจ่ายราคาอะไรบ้าง? พวกเขาเขียนโค้ดไป 51,000 บรรทัดเพื่อสิ่งนั้น
ส่วนมากของคนคิดว่าเครื่องมือเขียนโค้ดด้วย AI ทำงานแบบนี้:
ผู้ใช้ป้อนข้อมูล → เรียกใช้ LLM API → ได้ผลลัพธ์กลับ → แสดงให้ผู้ใช้เห็น
Claude Code ทำงานจริงๆ แบบนี้:
ผู้ใช้ป้อนข้อมูล
→ ประกอบเพื่อให้ได้คำแนะนำระบบ 7 ชั้น
→ ฝังเข้า Git สถานะ ข้อตกลงโครงการ หน่วยความจำประวัติ
→ 42 เครื่องมือแต่ละเครื่องมือมาพร้อมคู่มือการใช้งาน
→ LLM ตัดสินใจใช้เครื่องมือชิ้นใด
→ ตรวจสอบความปลอดภัย 9 ชั้น (การวิเคราะห์โค้ด AST คลาสซิฟายเออร์ ML เช็คเซ็นเดร็คโค้ด...)
→ แก้ปัญหาการแข่งขันสิทธิ์ (คีย์บอร์ดท้องถิ่น / IDE / การฝังตะกวาจอด / โมเดลสรรพคุณ AI แข่งกันพร้อม)
→ หน่วยเลื่อนการโต้คลื่นป้องกันการกดจอไม่วงใจ 200ms
→ ใช้เครื่องมือ
→ ได้ผลลัพธ์ดูกันไป
→ ความใกล้ชิดของข้อความใกล้ที่เกี่ยวข้อง? สารมาตราการบีบอัดชั้นลดขนาด (บีบอัดขนาดเล็ก → บีบอัดอัตโนมัติ → บีบอัดทั้งหมด)
→ จำเป็นต้อง ขนาน? → สร้างฝูงต้นกำเนิดตัวแทนย่วน
→ วนพร้อมรอภายจนงานเสร็จ
คงมีคนอยากรู้ว่าด้านบนหมายถึงอะไร อย่าเพิ่งรีบ มาเรียงดูทีละอย่างบ้าง
เปิด src/constants/prompts.ts คุณจะเห็นฟังก์ชันนี้:

เห็น SYSTEM_PROMPT_DYNAMIC_BOUNDARY ที่นับได้มั้ย?
นี่คือเส้นขอบแคช ส่วนที่อยู่ด้านบนของเส้นขอบเป็นส่วนที่เป็นค่าคงที่ ซึ่ง Claude API สามารถเก็บข้อมูลค่าคงที่เหล่านั้นเพื่อประหยัดค่า token ได้ เส้นขอบด้านล่างเป็นส่วนที่เป็นค่าเปลี่ยนแปลง—เช่น branch Git ปัจจุบันของคุณ การกำหนดค่าโปรเจกต์ CLAUDE.md ของคุณ ความจำความพอใจของคุณที่คุณได้บอกไว้ก่อนหน้านี้… ทุกครั้งที่สนทนากันมันจะไม่เหมือนกัน
นี่หมายถึงอะไร?
Anthropic มองคำใบ้เหมือนเอาไว้ออกแบบเพื่อให้ระบบ stack optimization. ส่วนที่เป็นค่าคงที่คือ「binary หลังคอมไพล์」 ส่วนที่เป็นค่าเปลี่ยนแปลงคือ「runtime arguments」 การทำแบบนี้มีประโยชน์เนื่องจาก:
1. ประหยัดเงิน: ส่วนที่เป็นค่าคงที่จะใช้แคช เหมือนเป็นตัวเลือกที่ไม่คิดเงินหรือเช่นกัน
2. รวดเร็ว: การติดแคชเมื่อถูกเรียกใช้จะข้ามกระบวนการดำเนินการกับ token เหล่านั้น
3. ยืดหยุ่ ส่วนที่เป็นค่าเปลี่ยนแปลงทำให้ทุกครั้งที่สนทนากันที่เกิดขึ้นสามารถรับรู้สภาพแวดล้อมปัจจุบันได้
ทุกเครื่องมี「คู่มือการใช้」แยกต่างหาก
สิ่งที่ทำให้ฉันประหลาดใจมากขึ้น คือ: ทุกโฉมมีไฟล์ prompt.ts อยู่ใต้ไดเรกทอรีของเครื่อง—นี่คือคู่มือการใช้ที่เขียนมาเฉพาะสำหรับ LLM
ดูที่ไฟล์ของ BashTool (src/tools/BashTool/prompt.ts, ประมาณ 370 บรรทัด):

นี้ไม่ใช่เอกสารสำหรับมนุษย์ เป็น「rich guidelines for AI behaviors」 ทุกครั้งที่ Claude Code เริ่มต้น กฎกติกาเหล่านี้จะถูกนำเข้าไปยังคำใบ้ระบบ
นี่คือเหตุผลว่าทำไม Claude Code ไม่ได้ทำการ git push --force ด้วยตนเอง ในขณะที่มีเครื่องมากแค่ไหนก็เช่นกัน—ไม่ใช่เพราะ model ฉลาดขึ้น แต่เพราะกฎเหล่านั้นอยู่ในคำใบ้อยู่แล้ว
อีกทั้ง Anthropic เวอร์ชันภายในและที่คุณใช้ไม่เหมือนกัน
โค้ดมีการควบคุมแบบนี้มากมาย:

ant คือ พนักงานภายในของ Anthropic เวอร์ชันของพวกเขามีการคำแนนรีวิวรายละเอียดกว่า (「อย่าเขียนคำอธิบาย นอกเว้นได้เหตุผลที่ชัดเจน」) เส้นทางผลลัพธ์ที่รุนแรงขึ้น (「วิธีการเขียนแบบพีระมิดแบบกลับ」) และรวมถึงฟีเจอร์ทดลองบางประการ (Verification Agent ผู้สอบถามและที่ให้ยืนรุ่น) ที่ยังอยู่ในการทดสอบ A/B
นี่เป็นบทความที่กล่าวถึงว่า Anthropic เองคือผู้ใช้ที่สำคัญของ Claude Code ที่สุด เขาเป็นคนใช้ผลิตภัณฑ์ของตนเองในการพัฒนาผลิตภัณฑ์ของตนเอง
Open src/tools.ts, you will see the Tool Registry:

42 tools, but most of them you have never seen directly. Because many tools are lazy-loaded - they are only injected on demand through the ToolSearchTool when LLM needs them.
Why is this done?
Because with each additional tool, the system prompts need an additional description, and the token needs to spend more money. If you just want Claude Code to help you change one line of code, it does not need to load the "cron job scheduler" and the "team collaboration manager".
There is also a smarter design:

Set CLAUDE_CODE_SIMPLE=true, and Claude Code will have only three tools: Bash, Read File, Edit File. This is a backdoor for minimalists.

Pay attention to those default values: isConcurrencySafe defaults to false, isReadOnly defaults to false.
This is called fail-closed design - if a tool's author forgets to declare the security attributes, the system assumes it is "unsafe and writable". It is better to be overly cautious than to miss a risk.

The FileEditTool will check if you have already read the file with the FileReadTool. If not, it will throw an error directly and not allow the edit.
นี่คือเหตุผลที่ Claude Code ไม่ทำเหมือนเครื่องมือบางตัวที่「เขียนโค้ดทับไฟล์ของคุณอย่างไม่มีที่มา」 —— มันถูกบังคับให้เข้าใจก่อนแก้ไข
คนที่ใช้ Claude Code มีความรู้สึกหนึ่งอย่าง:มันเหมือนจริงๆ รู้จักคุณ
คุณบอกมันว่า「อย่า mock database ในการทดสอบ」 ครั้งต่อไปที่คุยกับมัน มันก็จะไม่ mock อีกต่อไป คุณบอกมันว่า「ฉันเป็นวิศวกรที่เชี่ยวชาญด้านหลังเว็บ แต่เริ่มต้นใช้ React」 มันจะใช้การเปรียบเทียบของด้านหลังเมื่อต้องอธิบายโค้ดด้านหน้า
เบื้องหลังนี้คือระบบหน่วยความจำที่สมบูรณ์

Claude Code ใช้ AI อีกตัว (Claude Sonnet) เพื่อตัดสินใจ「ความสัมพันธ์ของความจำกับการสนทนาปัจจุบัน」
ไม่ใช่การจับคู่คีย์เวิร์ด ไม่ใช่การค้นหาเวกเตอร์ —— มันให้โมเดลเล็กๆ แสกนเอกสารความจำทั้งหมดเพื่อเลือกสูงสุด 5 รายการที่เกี่ยวข้องที่สุด แล้วฉีกโต๊ะข้อมูลทั้งหมดให้อยู่ในบริบทของสนทนาปัจจุบัน
ยุทธศาสตร์คือ「ความแม่นยำมาก่อนความสามารถในการดึงข้อมูล」 —— พร้อมจะสูญหายความจำที่มีประโยชน์ได้ กว่าที่จะให้ความจำที่ไม่เกี่ยวข้องเข้ามาสร้างความสับสน
โหมด KAIROS: การ「ฝัน」ในช่วงค่ำคืน
นี่คือส่วนที่ทำให้ฉันรู้สึกเหมือนอยู่ในนิยายวิทยาศาสตร์
ในโค้ดมีคุณสมบัติที่เรียกว่า KAIROS ในโหมดนี้ ความจำจากสนทนายาวๆ ไม่ได้อยู่ในไฟล์โครงสร้าง แต่อยู่ในบันทึกประจำวันที่ถูกเพิ่มเติม จากนั้น มีทักความฝัน จะรันในช่วง「ค่ำคืน」 (ช่วงที่มีความเคลื่อนไหวต่ำ) เพื่อนำข้อมูลเหล่านั้นจากบันทึกรุ่นต้นมาเรียบร้อยในไฟล์หลัก

AI จะจัดการระเบียบความจำในขณะที่「หลับหลับ」 มันไม่ใช่การเขียนโค้ด มันคือการจำลองชีวภาพ
เมื่อคุณให้ Claude Code ทำงานที่ซับซ้อน เช่นนั้น มันอาจทำอย่างลับๆ เช่นนี้:

มันสร้าง ตัวแทนย่อย ขึ้นมา
และตัวแทนย่อยนั้นมีการฝัง «ความตั้งใจตนเอง» อย่างเข้มงวดซึ่งป้องกันไม่ให้มันสร้างตัวแทนย่อยต่อไป:

โค้ดช่วงนี้กำลังพูดว่า: «คุณเป็นลูกจ้างธรรมดา ไม่ใช่ผู้จัดการ อย่าคิดว่าจะจ้างคนเข้ามาร่วมงาน ทำเองเถอะ»
โหมด Coordinator: โหมดผู้จัดการ
ในโหมดคออร์ดิเนเตอร์ โค้ดของ Claude เปลี่ยนเป็นผู้วางแผนงานเท่านั้น ไม่ทำงานเอง:

หลักการหลักเขียนไว้ในความเห็นโค้ด:
「การขั้นบันไดเป็นพลังสมองของคุณ」 งานค้นคว้าแบบอ่านอย่างเดียว: ทำงานพร้อมกัน งานเขียนแฟ้ม: ทำงานตามกลุ่มแฟ้มละเทพแบบต่อเนื่อง (หลีกเลี่ยงการชนกัน)
การปรับปรุง Prompt Cache อย่าง極致
เพื่อเพิ่มอัตราชนะสำหรับการตรวจจับ cache ของตัวแทนย่อยมากที่สุด ผลลัพธ์ของเครื่องมือที่ fork ตัวแทนลูกทั้งหมดใช้ข้อความตัวยึดตำแหน่งเดียวกัน:
「เริ่ม Fork—ดำเนินการในพื้นหลัง」
ทำไม? เพราะ Cache ของ API ของ Claude พิจารณาการจับคู่สำหรับ bytes ที่หนึ่งตามหัวข้อ ถ้า bytes หนึ่งของตัวแทนลูก 10 ตัวต่อไปเหมือนกันอย่างทั้งหมด มีเพียงแค่ตัวแรกที่ต้องการ «การเริ่มต้นเยือน» พวกที่เหลือ 9 ตัวจะตรงเข้ากับ cache โดยตรง
นี้คือการปรับปรุงที่ช่วยประหยัดค่าใช้จ่ายเล็กน้อยในแต่ละครั้ง แต่เมื่อใช้ในมาตราการที่ใหญ่ขนาดจำนวน จะช่วยประหยัดค่าใช้จ่ายเป็นจำนวนมาก
LLM ทุกรา่น มีเงื่อนไขหน้าต่างบนล่าง สนทนายาวขึ้น ข้อความประวัติมากขึ้น ในที่สุดจะเกินเขต
Claude Code จึงออกแบบการบีบอัดเป็นสามชั้น:

การมีโกระยะเล็กนั้นเพียงแค่การเปลี่ยนผลการเรียกใช้เครื่องมือเก่าเท่านั้น — เช่น การเปลี่ยน "เนื้อหาของไฟล์ 500 บรรทัดที่อ่านไป 10 นาทีที่ผ่านมา" เป็น [เนื้อหาผลลัพธ์เครื่องมือเก่าล้างแล้ว]。
คำใบ้และหัวข้อการสนทนาถูกเก็บไว้โดยสมบูรณ์
เมื่อโทเค็นใช้ไปใกล้กับ 87% ของหน้าต่างบริบท (ขนาดหน้าต่าง - 13,000 บัฟเฟอร์) การไซเรนจะเป็นอัตโนมัติ มีเทอร์เมินเจอร์ป้องกัน: หยุดพยุงหลังจากการมีการมีสัญญาณการบีบอัดล้มเหลว 3 ครั้งติดต่อเพื่อหลีกเลี่อท่าทางวนเวียน.
ให้ AI สร้างข้อความสรุปสำหรับส่วนของข้อความนั้นและแทนที่ด้วยข้อความสรุปทั้งหมด history messages. คำประกาศคตีค่อนหน้านี้ที่เข้มกล่าวแล้วก็มี:

ทำไมถึงเข้มเช่นนี้? เพราะหากในขั้นวสรุป AI ไปใช้เครื่องมืออีกครั้ง ก็จะมีการใช้โทเคนมากขึ้น เสี่ยงทำให้การเข้ามากแทรกแทรงยิ่งขึ้น. ข้อความคำใบ้ส่วนนี้ก็หมายถึง: "งานของคุณคือการสรุป อย่าทำงานอื่น".
งบโทเค่ที่ถูกบีบอัดหลัง:
· การกู้ฟังไฟล์: 50,000 โทเคน
· ทุนรวมต่อไฟล์: 5,000 โทเคน
· สมอที่รอด: 25,000 โทเคน
ตัวเลขเหล่านี้ไม่ใช่มาจากสมอสมอ — สภาของเสาหลักที่ว่า "กำกับให้เรามีพื้นที่นำทำงานติดต่อ" และ "ปล่อยพื้นที่ให้รองรับข้อความใหม่"
ในบางคอด 51,000 รหัส ที่มีหมาย 64%, ความเป็นจริงของการเรียกใช้ LLM API นี้เป็นได้รับน้อยที่สุด 5% เท่านั้น. จำนวนที่เหลือทั้งหมด 95% คืออะไร:
· การตรวจสอบความปลอดภัย (18 ไฟล์สำหรับ BashTool โดยเฉพาะ)
· ระบบสิทธิพิจารณา (การตัดสิ่งทำไป/ปฏิเสธ/ถาม/ให้ไปผ่าน)
· การจัดการบริบท (การบีบอัดเจ้าเดิม 3 ชั้น + AI ค้นหาคำจำกัดที่ระลอเกี)
· ฟังก์ชันการกู้คืนข้อผิดพลาด (Fuse, การหลุดออกจากดัชนี, Transcript ถาวร)
· การประสานงานหลายเอเจนต์ (Swarm Orchestration + การสื่อสารผ่านอีเมล)
· อินเตอร์เฟซผู้ใช้ (140 React Component + IDE Bridge)
· การปรับปรุงประสิทธิภาพ (ความเสถียรของแคช prompt + การดึงข้อมูลพร้อมกันในขณะเริ่มต้น)
หากคุณกำลังพัฒนาผลิตภัณฑ์ AI Agent นี่คือปัญหาที่คุณจริงจังต้องการแก้ไข ไม่ใช่ว่าโมเดลฉลาดพอหรือไม่ แต่คุณสร้างโครงสร้างหรือไอ้ตลอดพอหรือไม่
ไม่ใช่การเขียน prompt สวยๆ ก็เป็นอย่างเดียว Claude Code จะมีคำให้การดังนี้:
· การประกอบเครื่องต้นรวม 7 ชั้น
· มีคู่มือการใช้งานแต่ละเครื่อง
· แยกพื้นที่แคชอย่างแม่นยำ
· ที่เวอร์ชั่นภายในและภายนอกมีชุดคำสั่งต่างกัน
· การเรียงลำดับเครื่องมือเอาไว้ให้คงที่เพื่อรักษาความเสถียรของแคช
นี้คือการจัดการคำให้การด้วยวิศวกรรม ไม่ใช่งานฝีมือ
ทุกๆ ความจำเป็นภายนอก จะมียุทธวิธีในการจัดการความล้มเหลว:

42 เครื่องมือ = การเรียกใช้ระบบ ระบบการอนุญาต = การจัดการสิทธิผู้ใช้ ระบบทักษะ = ร้านค้าแอป MCP Protocol = ไดรเวอร์อุปกรณ์ การจัดเรียงเอเจนต์ = การจัดการกระบวนการ บีบอัดบริบท = การจัดการหน่วยความจำ Transcript ถาวร = ระบบไฟล์
นี่ไม่ใช่ "หุ่นยนต์สนทนาบ้าบอ" นี่คือระบบปฏิบัติการที่มี LLM เป็นเวณิค
51,000 บรรทัดโค้ด 1,903 ไฟล์ 18 ไฟล์ความปลอดภัยสำหรับเครื่องมือ Bash เพียงอย่างเดียว
ปริซึม 9 ชั้น เพียงเพื่อให้ AI ช่วยคุณรันคำสั่งได้อย่างปลอดภัย
นี่คือคำตอบของ Anthropic: เพื่อที่จะทำให้ AI มีประโยชน์จริง คุณต้องไม่หวุดหวิดไว้กับบ้าง และไม่สามารถปล่อยไว้คลาดเคลื่อนได้ คุณต้องสร้างระบบเชื่อมั่นที่สมบูรณ์แบบ
แต่ความเชื่อนี้มาพร้อมกับค่าใช้จ่าย 51,000 บรรทัดของโค้ด
ยินดีต้อนรับสู่ชุมชนทางการของ BlockBeats:
กลุ่ม Telegram สมัครสมาชิก: https://t.me/theblockbeats
กลุ่ม Telegram พูดคุย: https://t.me/BlockBeats_App
บัญชี Twitter ทางการ: https://twitter.com/BlockBeatsAsia