เจาะกล่องดำ Claude Code: อ่าน System Prompt จริงของ AI Agent ระดับ Production

เจาะกล่องดำ Claude Code: อ่าน System Prompt จริงของ AI Agent ระดับ Production

 

90% ของ AI Products ที่คุณใช้อยู่ทุกวันนี้ซ่อน Logic ทั้งหมดไว้ฝั่ง Server — คุณเห็นแค่ Input และ Output แต่ไม่มีทางรู้ว่าข้างในทำงานอย่างไร Claude Code CLI ทำลายกฎนั้น เพราะมันถูก Ship มาในรูปแบบ JavaScript Bundle ที่แกะได้ ดักจับ Request ได้ และอ่าน System Prompt จริงได้ นี่คือโอกาสหายากมากที่นักพัฒนาจะได้มองเข้าไปใน “กล่องดำ” ของ AI Agent ระดับ Production และเห็นว่า Anthropic ออกแบบมันมาอย่างไรจริงๆ ตั้งแต่โครงสร้าง Workflow ไปจนถึงวิธีเขียน Prompt ที่ทำให้โมเดลทำงานได้อย่างสม่ำเสมอ

 

บทความนี้รวบรวมสิ่งที่ค้นพบจากการแกะ Bundle, การดักจับ HTTP Request ด้วย Proxy และการวิเคราะห์ System Prompt ของ Claude Code ตั้งแต่ต้นจนจบ คุณจะได้เห็นว่า Core Agent Workflow ถูกเขียนในรูปแบบภาษาธรรมชาติ ไม่ใช่โค้ด, ทำไม System Prompt ถึงย้ำคำสั่งเดิมซ้ำหลายรอบโดยตั้งใจ, Sub-agent ทำงานและรับ Request ในรูปแบบใด และทำไม Tool Definition ถึงยาวและละเอียดจนดูเกินจำเป็น — ทุกอย่างนี้คือบทเรียนตรงๆ จากระบบที่ใช้งานจริงในโลก Production

 

 

🎯 สรุปสั้นๆ

  • Claude Code ใช้เทคนิค Reiteration ย้ำคำสั่งสำคัญซ้ำหลายบริบทใน System Prompt พร้อม System Reminder Nudges ที่แทรกระหว่าง Conversation เพื่อดึงพฤติกรรมโมเดลให้อยู่ในแนวทางที่ต้องการอย่างสม่ำเสมอ
  • Agent Workflow ทั้งหมดถูกเขียนเป็นประโยคภาษาอังกฤษธรรมดา ไม่ใช่ Logic หรือ Code แบบแข็งทื่อ ทำให้ยืดหยุ่นและบำรุงรักษาได้ง่ายกว่าที่คิด
  • Sub-agents ทำงานแบบ Parallel และมีโครงสร้าง Request ที่แตกต่างจาก Main Agent อย่างชัดเจน เห็นได้ชัดเมื่อดูจาก Proxy
  • การออกแบบ Prompt ไม่มีสูตรสำเร็จ — Claude Code ใช้ Formatting และ Instruction Style ที่ Tune มาสำหรับ Claude โดยเฉพาะ ซึ่งอาจให้ผลต่างกันอย่างมากหากนำไปใช้กับโมเดลอื่น

 

 

INTRO:

 

ถ้าคุณเคยสงสัยว่า AI Agent ที่ทำงานได้อย่างน่าทึ่งในชีวิตจริงนั้น “ข้างในมันทำงานยังไงกันแน่?” — บทความนี้คือคำตอบที่คุณกำลังมองหา เราจะพาไปเปิดดูโครงสร้างภายในของ Claude Code CLI เครื่องมือ Coding Agent จาก Anthropic ที่กำลังได้รับความสนใจอย่างมากในวงการนักพัฒนา ไม่ใช่แค่การรีวิวว่าใช้งานได้ดีแค่ไหน แต่เป็นการ “ผ่าตัด” ดูว่ามันถูกออกแบบมาอย่างไรในระดับ Architecture จริงๆ

 

สิ่งที่ทำให้ Claude Code น่าศึกษาเป็นพิเศษ คือมันไม่ได้เป็นแค่ Chatbot ธรรมดาที่รับ-ส่งข้อความ แต่เป็น Agentic System ที่สามารถวางแผน ใช้ Tool อ่านไฟล์ รันคำสั่ง และแม้กระทั่งสร้าง Sub-agents ขึ้นมาทำงานแบบ Parallel ได้ด้วยตัวเอง การที่มันถูก Distribute ในรูปแบบ CLI Bundle ยังเปิดโอกาสให้เราสามารถ “แกะ” ดูโครงสร้างภายในได้โดยตรง — ซึ่งเป็นสิ่งที่หาได้ยากมากในโลกของ AI Products ที่ส่วนใหญ่ปิดซอร์สอย่างแน่นหนา

 

บทความนี้จะพาคุณผ่านการค้นพบที่น่าสนใจหลายชั้น ตั้งแต่การ ดักจับ HTTP Request ด้วย Proxy เพื่อดูว่า Claude Code ส่งข้อมูลอะไรไปหา API จริงๆ ไปจนถึงการเจาะลึกโครงสร้

 


 

 

KEY_TAKEAWAYS:

 

System Prompt ที่ “ย้ำซ้ำ” คือดีไซน์ ไม่ใช่ความผิดพลาด

 

สิ่งที่โดดเด่นที่สุดคือ Claude Code ใช้เทคนิค Reiteration หรือการย้ำคำสั่งเดิมซ้ำๆ ภายใน System Prompt อย่างจงใจ แทนที่จะเขียนกฎแต่ละข้อเพียงครั้งเดียว คำสั่งสำคัญจะถูกกล่าวถึงซ้ำในหลายบริบทและหลายรูปแบบ นอกจากนี้ยังมีกลไก System Reminder Nudges ที่แทรก Reminder เข้าไประหว่าง Conversation เพื่อดึงพฤติกรรมของโมเดลให้กลับมาอยู่ในแนวทางที่ต้องการ เทคนิคเหล่านี้สะท้อนให้เห็นว่าการทำให้โมเดลปฏิบัติตามคำสั่งอย่างสม่ำเสมอนั้นต้องการความพยายามในระดับ Prompt Engineering มากกว่าที่คิด

 

อีกหนึ่งข้อค้นพบที่น่าทึ่งคือ Workflow ของ Agent ทั้งหมดถ

 


 

 

SECTIONS:

 

บทความนี้เริ่มจากพื้นฐานที่สุด — การเปิดไฟล์ Bundle ของ Claude Code CLI เพื่อดูว่าข้างในมีอะไร จากนั้นขยับไปสู่การใช้เครื่องมืออย่าง Proxy Man เพื่อดักจับ Request จริงที่ Claude Code ส่งออกไปยัง API ซึ่งทำให้เห็นโครงสร้าง Payload, Headers และรูปแบบ System Prompt ที่ใช้จริงในการทำงาน

 

เมื่อได้ข้อมูลดิบมาแล้ว บทความจะวิเคราะห์ Core Agent Workflow และ System Prompt อย่างละเอียด ตั้งแต่เทคนิค Reiteration ที่ย้ำคำสั่งซ้ำหลายรอบ, การแทรก System Reminder Nudges ระหว่าง Conversation, ไปจนถึงการเขียน Workflow ในรูปแบบภาษาธรรมชาติแทนที่จะเป็น Logic แบบ Code

 

ส่วนท้ายของบทความจะเจาะลึกเรื่อง Sub-agent Architecture — วิธีที่ Main Agent สั่งงาน Sub-agent แบบ Parallel, โครงสร้าง Request ที่แตกต่างกันระหว่างทั้งสอง และความ Verbose

 


 

 

1. เปิดกล่อง Claude Code CLI Bundle

 

วิธีการแกะ Bundle เพื่อดูโครงสร้างภายใน

 

เมื่อติดตั้ง Claude Code ผ่าน `npm` ไฟล์ที่ได้มาจะอยู่ในรูปแบบ Minified JavaScript Bundle ขนาดใหญ่ การ “เปิดกล่อง” ในที่นี้หมายถึงการใช้เครื่องมือ Unminify หรือ Formatter เพื่อแปลงโค้ดที่อ่านไม่ออกให้กลับมาอยู่ในรูปแบบที่มนุษย์พอจะตามได้ จากนั้นจึงค้นหา String ที่เกี่ยวข้องกับ System Prompt, Tool Definition และ Agent Logic ที่ถูก Hardcode ไว้ภายใน Bundle นั้นโดยตรง วิธีนี้ไม่ต้องการการ Reverse Engineer ที่ซับซ้อน เพราะ Logic ส่วนใหญ่ถูกเก็บไว้ใน Plain Text ภายใน Bundle อยู่แล้ว

 


 

 

2. การดักจับ Request ด้วย Proxy Man

 

Proxy Man คืออะไร และทำงานอย่างไร

 

ก่อนที่เราจะเจาะลึกลงไปในโครงสร้างภายในของ Claude Code ได้ เราต้องมีวิธีดักจับ HTTP Request ที่ส่งออกจากตัวแอปพลิเคชันก่อน เครื่องมือที่ใช้ในที่นี้คือ Proxy Man ซึ่งเป็น macOS app ที่ทำหน้าที่เป็น HTTP/HTTPS Proxy ตัวกลาง ช่วยให้เราสามารถมองเห็น Traffic ทุกอย่างที่ไหลผ่านระหว่าง Claude Code CLI กับ Anthropic API ได้แบบ Real-time หลักการทำงานไม่ต่างจาก Burp Suite หรือ Charles Proxy นั่นคือแทรกตัวเองเข้าไประหว่าง Client กับ Server เพื่อบันทึกและแสดงผล Request/Response ทั้งหมด

 

ขั้นตอนการ Intercept HTTP Request

 

การตั้งค่าให้ Claude Code ส่ง Traffic ผ่าน Proxy Man ทำได้โดยการกำหนด Environment Variable ให้ชี้ไปที่ Local Proxy Port ที่ Proxy Man เปิดรอไว้ เมื่อรัน Claude Code ตามปกติ ทุก Request ที่ส่งออกไปหา Anthropic API จะถูกบันทึกไว้ใน Proxy Man พร้อม Payload และ Headers ครบถ้วน สิ่งที่น่าสนใจคือ Claude Code ไม่ได้มีการป้องกันพิเศษใดๆ ที่จะขัดขวางการ Intercept แบบนี้ ทำให้เราสามารถเห็นข้อมูลดิบได้อย่างตรงไปตรงมา

 

เมื่อเปิดดู Request จริงใน Proxy Man สิ่งที่ปรากฏออกมาคือ JSON Payload ขนาดใหญ่ที่ประกอบด้วยหลายส่ว

 


 

 

3. โครงสร้าง Core Agent Workflow

 

เมื่อเทียบกับ Framework ยอดนิยมในตลาด จะเห็นความแตกต่างที่ชัดเจนในแง่ของวิธีการควบคุม Logic การทำงาน

 

Feature Claude Code LangChain / LangGraph AutoGen
การกำหนด Workflow ภาษาธรรมชาติใน Prompt Python Code / Graph Python Code
การจัดการ Tool ผ่าน Tool Definition Tool Calling API Function Calling
Sub-agent Support Built-in Parallel ขึ้นอยู่กับ Config Built-in
ความยืดหยุ่น Prompt สูงมาก ปานกลาง ปานกลาง

 

สิ่งที่ต่างออกไปอย่างเห็นได้ชัดคือ Claude Code เลือกเขียน Agent Logic ในรูปแบบภาษาธรรมชาติ แทนที่จะเป็น Code หรือ Graph Structure แบบที่ Framework อื่นนิยมใช้ ซึ่งหมายความ

 


 

 

4. เจาะลึก System Prompt

 

หนึ่งในเทคนิคที่โดดเด่นที่สุดที่พบใน System Prompt ของ Claude Code คือ การย้ำคำสั่งซ้ำหลายครั้ง (Reiteration) กล่าวคือ คำสั่งหรือข้อห้ามบางอย่างจะถูกเขียนซ้ำในหลายจุดของ Prompt ด้วยถ้อยคำที่ต่างกันเล็กน้อย แทนที่จะระบุเพียงครั้งเดียว ตัวอย่างเช่น แนวทางเกี่ยวกับความปลอดภัยหรือการขอ Confirmation ก่อนดำเนินการบางอย่าง อาจปรากฏทั้งในส่วนนำ ส่วนกลาง และส่วนท้ายของ Prompt เหตุผลเบื้องหลังเทคนิคนี้คือโมเดลภาษาขนาดใหญ่มีแนวโน้มที่จะ “ลืม” หรือให้น้ำหนักน้อยลงกับคำสั่

 


 

 

5. Workflow ในรูปแบบภาษาธรรมชาติ

 

Agent Logic เป็นภาษามนุษย์

 

แนวคิดนี้ไม่ใช่เรื่องบังเอิญ โมเดลภาษาอย่าง Claude ถูกฝึกมาจากข้อความภาษาธรรมชาติจำนวนมหาศาล ดังนั้นการอธิบาย Workflow ด้วยภาษาที่โมเดล “คุ้นเคย” ที่สุดจึงให้ผลลัพธ์ที่แม่นยำกว่าการแปลงเป็น Syntax แบบ Formal ตัวอย่างที่พบใน System Prompt จริงจะมีลักษณะประมาณว่า “If the user asks you to perform a task that requires reading a file, first check whether the file exists before attempting to open it” หรือ “When you are unsure about the user’s intent, ask a clarifying question rather than making assumptions” ซึ่งล้วนเป็นประโยคที่อ่านแล้วเข้าใจได้ทันที โดยไม่ต้องแปลความ

 

การเขียน Workflow เป็นภาษาธรรมชาติ มี

 


 

 

6. ความสำคัญของ Prompt Formatting

 

Format ส่งผลต่อการตีความของโมเดลอย่างไร

 

โมเดลภาษาเรียนรู้จากข้อมูลที่มีโครงสร้าง ดังนั้นการใช้ Formatting ที่สอดคล้องกับรูปแบบที่โมเดลเคยเห็นในช่วง Training จึงช่วยให้โมเดล “เข้าใจ” ขอบเขตของแต่ละคำสั่งได้ดีขึ้น ใน Claude Code จะพบการใช้ XML Tags เช่น “ หรือ “ เพื่อห่อหุ้มข้อมูลเฉพาะส่วน ทำให้โมเดลสามารถแยกแยะได้ว่าข้อความชิ้นไหนคือ Instruction ชิ้นไหนคือ Context และชิ้นไหนคือ Example โดยไม่ปนเปกัน เทคนิคนี้ลดความคลุมเครือที่อาจเกิดขึ้นเมื่อ Prompt มีความยาวมากๆ ได้อย่างมีประสิทธิภาพ

 


 

 

7. โลกของ Sub-agents

 

ภาพรวม Sub-agent Architecture

 

หนึ่งในส่วนที่น่าสนใจที่สุดของ Claude Code คือการที่มันไม่ได้ทำงานเป็น Agent เดี่ยวๆ แต่สามารถแตก Task ออกเป็น Sub-agents ที่ทำงานแบบ Parallel ได้ แนวคิดนี้คือเมื่อ Main Agent ได้รับคำสั่งที่ซับซ้อน เช่น การวิเคราะห์โค้ดหลายไฟล์พร้อมกัน มันจะไม่รอทำทีละขั้นตอนตามลำดับ แต่จะสั่งให้ Sub-agents หลายตัวออกไปทำงานพร้อมกันแทน ผลลัพธ์คือความเร็วในการประมวลผลที่เพิ่มขึ้นอย่างมีนัยสำคัญ โดยเฉพาะกับ Task ที่แบ่งแยกออกจากกันได้ชัดเจน (Independent Tasks) Main Agent ทำหน้าที่เป็นเหมือน “ผู้จัดการ” ที่มอบหมายงาน ส่วน Sub-agents แต่ละตัวก็จะมี Context และ Tool Access ของตัวเองในการดำเนินการ

 

เมื่อดักจับ Request ผ่าน Proxy จะเห็นความแตกต่างที่ชัดเจนระหว่าง Request ของ Main Agent กับ Sub-agent ทันที สิ่งที่น่าสังเกตคือ Sub-agent แต่ละตัวจะได้รับ System Prompt ของตัวเอง ซึ่งถูก Inject มาพร้อมกับ Context เฉพาะของ Task ที่ได้รับมอบหมาย ไม่ใช่การส่ง System Prompt ชุดเดิมทั้งหมดจาก Main Agent มาซ้ำ นอกจากนี้ใน Payload ของ Sub-agent Request ยังมีการระบุ Task Boundary อย่างชัดเจนว่า Sub-agent ตัวนั้นรับ

 


 

 

8. Tool Definitions และความ Verbose

 

ทำไม Tool Definition ถึงยาวผิดปกติ?

 

หนึ่งในสิ่งที่โดดเด่นที่สุดเมื่อเปิดดู Payload ของ Claude Code คือ Tool Definition ที่มีความละเอียดและยาวมากกว่าที่นักพัฒนาทั่วไปคาดคิด แต่ละ Tool ไม่ได้มีแค่ชื่อและ Parameter ธรรมดา แต่มาพร้อมกับคำอธิบายที่ครอบคลุมทั้งวัตถุประสงค์ ขอบเขตการใช้งาน ข้อควรระวัง และตัวอย่างสถานการณ์ที่ควรหรือไม่ควรเรียกใช้ Tool นั้นๆ แนวทางนี้ไม่ใช่ความฟุ่มเฟือย แต่เป็นการออกแบบโดยเจตนา เพราะโมเดลภาษาจะตัดสินใจเลือก Tool โดยอ่านคำอธิบายเหล่านี้ ยิ่งคำอธิบายชัดเจนและครบถ้วนมากเท่าไหร่ โอกาสที่โมเดลจะเลือกใช้ Tool ผิดประเภทหรือเรียกใช้ในเวลาที่ไม่เหมาะสมก็ยิ่งลดลงเท่านั้น

 

Trade-off ระหว่าง Verbosity และ Performance

 

การใส่รายละเอียดมากขึ้นใน Tool Definition มาพร้อมกับ ต้นทุนที่จับต้องได้ นั่นคือจำนวน Token ที่เพิ่มขึ้นในทุก Request ซึ่งส่งผลโดยตรงต่อทั้งความเร็วและค่าใช้จ่าย อย่างไรก็ตาม Claude Code เลือกยืนอยู่ฝั่ง Verbosity เพราะมองว่าความแม่นยำในการเลือก Tool คือสิ่งที่มีมูลค่าสูงกว่า โดยเฉพาะ

 

 

ข้อดีและข้อเสีย

 

✅ ข้อดี ❌ ข้อเสีย
Architecture แบบ Agentic เต็มรูปแบบที่รองรับ Sub-agents และ Parallel Execution ทำให้จัดการงานซับซ้อนได้จริง System Prompt ที่ยาวและมีการย้ำซ้ำหลายรอบเพิ่ม Token Cost อย่างมีนัยสำคัญในทุก Request
การเขียน Workflow เป็นภาษาธรรมชาติช่วยให้ปรับเปลี่ยนพฤติกรรม Agent ได้โดยไม่ต้องแตะ Code Logic Tool Definition ที่ Verbose มากอาจทำให้ Context Window เต็มเร็วกว่าที่ควรในงานที่ซับซ้อน
การ Distribute ในรูปแบบ CLI Bundle ทำให้นักพัฒนาสามารถศึกษาและเรียนรู้จาก Architecture จริงได้โดยตรง เทคนิคที่ใช้ได้ผลกับ Claude อาจไม่ Transfer ไปยังโมเดลอื่นได้โดยตรง ต้องทดสอบและปรับใหม่ทั้งหมด
เทคนิค Reiteration และ Nudges ช่วยแก้ปัญหา Instruction Following ที่เป็นจุดอ่อนทั่วไปของ LLM ได้อย่างมีประสิทธิภาพ ความซับซ้อนของ Sub-agent Architecture ทำให้การ Debug พฤติกรรมที่ผิดพลาดทำได้ยากกว่า Single-agent System

 

 

สิ่งที่น่าสนใจที่สุดจากการแกะ Claude Code ไม่ใช่เทคโนโลยีล้ำๆ หรือ Algorithm ลึกลับ แต่คือความจริงที่ว่า AI Agent ระดับ Production ถูกสร้างขึ้นด้วยหลักการที่เข้าใจได้ — เขียน Workflow เป็นภาษามนุษย์, ย้ำสิ่งสำคัญซ้ำเพื่อให้โมเดลจำ, แทรก Reminder เมื่อ Conversation ยาวขึ้น และนิยาม Tool อย่างละเอียดเพื่อลด Ambiguity ทั้งหมดนี้ไม่ใช่เวทมนตร์ แต่เป็น Prompt Engineering ที่ทำอย่างพิถีพิถันและทดสอบมาอย่างดี

 

หากคุณกำลังสร้าง AI Agent ของตัวเอง บทเรียนที่นำไปใช้ได้ทันทีคือ อย่ากลัวที่จะย้ำคำสั่งสำคัญ อย่าพยายามย่อ System Prompt ให้สั้นจนเกินไปเพราะคิดว่า Token แพง และที่สำคัญที่สุด — ทดสอบ Prompt ของคุณกับโมเดลที่คุณจะใช้จริงเสมอ เพราะสิ่งที่ได้ผลกับ Claude อาจไม่ได้ผลกับ GPT-4 และในทางกลับกัน Architecture ที่ดีที่สุดคือ Architecture ที่ถูก Tune มาสำหรับโมเดลนั้นโดยเฉพาะ ไม่ใช่ Universal Template ที่คัดลอกมาจากที่อื่น

 

 

หากสนใจสินค้าหรือติดต่อสอบถามโดยตรง

Leave a Comment

Your email address will not be published. Required fields are marked *