Context Engineering: ศิลปะการคุม AI ให้เขียนโค้ดระดับ Production (เลิกวัดดวง เลิกพึ่ง Vibes)

ในยุคที่ Developer ทุกคนมี AI Assistant (Cursor, Copilot, Claude) อยู่ในมือ ปัญหาที่พวกเราเริ่มเจอกันบ่อยขึ้นในระยะหลังไม่ใช่ "AI เขียนโค้ดไม่ได้" แต่คือ "AI เขียนโค้ดขยะ (Slop)" โค้ดขยะในที่นี้คือ: - โค้ดที่ดูเหมือนทำงานได้ (Looks correct) แต่ Logic ผิด - การสร้าง Function ใหม่ซ้ำซ้อน ทั้งที่มี Utility นั้นอยู่แล้วในโปรเจกต์ - การแก้บั๊กจุดหนึ่ง แล้วไปพังอีก 3 จุดโดยไม่รู้ตัว Dex Horthy จาก HumanLayer ได้นำเสนอแนวคิด Context Engineering เพื่อแก้ปัญหานี้ โดยเปลี่ยนวิธีคิดจากการ "คุยเล่น (Vibing)" เป็นการ "วิศวกรรมข้อมูล (Engineering)" ให้ AI เข้าใจงานจริงๆ นี่คือรายละเอียดเชิงลึกที่คุณนำไปใช้ได้ทันทีครับ
harness-engineering-youtube-summary-cover-image

เข้าใจข้อจำกัด: ทำไม AI ถึง "โง่ลง" เมื่อคุยนานๆ? (The Dumb Zone)

The Slop Problem
กราฟเปรียบเทียบระหว่าง "สิ่งที่ Ship ได้" vs "งาน Rework"

เรามักตื่นเต้นกับ Context Window ขนาดใหญ่ (เช่น 200k, 1M tokens) และคิดว่า "โยน Codebase ทั้งก้อนเข้าไปเลย เดี๋ยว AI มันรู้เอง" ... นี่คือความเชื่อที่ผิดมหันต์ครับ

ความจริงทางเทคนิค:

  • The Smart Zone (0-40%): ช่วงต้นของ Context Window คือช่วงที่ AI มีสมาธิสูงสุด จำแม่นสุด และทำตามคำสั่งได้ดีที่สุด
  • The Dumb Zone (40-100%): เมื่อ Context เริ่มยาวเกิน 40% ขึ้นไป ประสิทธิภาพการดึงข้อมูล (Retrieval) จะลดลงฮวบฮาบ AI จะเริ่ม หลอน ลืมเงื่อนไขเก่าๆ หรือเขียนโค้ดมั่ว
  • Needle in a Haystack: ยิ่งมี "Noise" (ไฟล์ที่ไม่เกี่ยวข้อง) เยอะเท่าไหร่ โอกาสที่ AI จะหา "Needle" (Logic ที่ถูกต้อง) เจอก็น้อยลงเท่านั้น

✅ ทางแก้ (Context Compaction): อย่าเสียดาย History แชท! ถ้าเริ่มรู้สึกว่า AI ออกทะเล หรือคุยกันยาวเกินไป ให้ทำตามนี้:

  1. สั่งให้ AI สรุปสิ่งที่ทำไปแล้ว (Summarize progress)
  2. เปิด Chat ใหม่ (New Session)
  3. แปะสรุปนั้นลงไป แล้วเริ่มงานต่อ นี่คือการรีเซ็ตให้ AI กลับมาอยู่ใน Smart Zone เสมอ

The Dumb Zone
กราฟ Context Window ที่มีเส้นขีดฆ่าที่ 40%

R.P.I. Framework: สูตรสำเร็จของการคุม AI

แทนที่จะโยน Prompt ก้อนเดียวว่า "Fix this bug", Dex แนะนำให้แตกงานเป็น 3 ขั้นตอนที่ขาดจากกันไม่ได้ (Atomic Steps):

Phase 1: Research (สืบค้น)

  • เป้าหมาย: ให้ AI ทำตัวเป็นนักสืบ อ่านโค้ดเพื่อทำความเข้าใจ ห้ามเขียนโค้ดเด็ดขาด
  • Prompt: "หาไฟล์ที่เกี่ยวข้องกับ Bug นี้ให้หน่อย อ่านแล้วอธิบายว่า Flow การทำงานปัจจุบันเป็นยังไง อย่าเพิ่งแก้โค้ด"
  • ผลลัพธ์: เราจะได้รายชื่อไฟล์ที่เกี่ยวข้องจริงๆ (ลด Noise) และได้เช็คว่า AI เข้าใจปัญหาถูกจุดหรือไม่ ถ้า AI เข้าใจผิดตั้งแต่ตรงนี้ เราจะได้แก้ทันก่อนมันจะเขียนโค้ดพังๆ ออกมา

Phase 2: Plan (วางแผน)
สำคัญที่สุด

  • เป้าหมาย: สร้าง "พิมพ์เขียว" (Blueprint) ของการแก้ไข
  • เทคนิค: ให้ AI เขียนแผนออกมาเป็น Pseudo-code หรือ Natural Language ที่ละเอียด
    • Bad Plan: "เดี๋ยวจะแก้ function login"
    • Good Plan: "ในไฟล์ auth.ts บรรทัดที่ 50 จะเพิ่มเงื่อนไข if (!token) และจะไปแก้ไฟล์ LoginScreen.tsx ให้แสดง Error modal..."
  • Human Review: จังหวะนี้ Dev (ตัวเรา) ต้องเข้ามาอ่านแผนครับ ถ้าแผนถูกต้อง 100% ค่อยไปต่อ ถ้าไม่ถูก ให้แก้ที่แผน อย่าเพิ่งไปแก้โค้ด

Phase 3: Implement (ลงมือทำ)

  • เป้าหมาย: เปลี่ยนแผนเป็นโค้ดจริง
  • Prompt: "Execute the plan" (ทำตามแผนซะ)
  • ผลลัพธ์: เนื่องจาก Context เราสะอาด (ผ่านการ Research มาแล้ว) และมี Instruction ชัดเจน (จาก Plan) AI จะเขียนโค้ดได้แม่นยำราวจับวาง แทบไม่ต้องแก้ Syntax เลย

R.P.I. Loop
วงจรการทำงาน 3 ขั้นตอน: Research -> Plan -> Implement

Mental Alignment: จูนสมองคนกับ AI ให้ตรงกัน

ปัญหาใหญ่ของทีม Dev ยุคนี้คือ Code Review Fatigue (เหนื่อยรีวิวโค้ด) เพราะ AI Gen โค้ดออกมาเร็วและเยอะมาก จน Senior ตามอ่านไม่ทัน

การใช้ R.P.I. Framework ช่วยเรื่องนี้ได้มหาศาล:

  • Review ที่ Plan แทน Review ที่ Code: ให้ Senior หรือ Tech Lead มาช่วยดูที่ขั้นตอน Plan (Phase 2) ว่า Logic ถูกไหม
  • ถ้า Plan ผ่าน -> การันตีได้ระดับนึงว่า Code ที่ออกมาจะถูกต้อง (หรือถ้าผิดก็แก้ไม่ยาก)
  • วิธีนี้ช่วยลดคอขวด (Bottleneck) ในทีม เพราะการอ่านแผนที่เป็นภาษาคน ใช้เวลาน้อยกว่าการไล่อ่าน Code ทุกบรรทัดถึง 3 เท่า

บทสรุป: คุณคือ Pilot, AI คือ Engine

สิ่งที่ Dex Horthy พยายามจะสื่อสารที่สุดคือ:

"AI cannot replace thinking. It can only amplify the thinking you have done." (AI แทนที่การคิดไม่ได้ มันทำได้แค่ขยายความคิดที่คุณคิดเสร็จแล้วให้ใหญ่ขึ้น)
  • ถ้าคุณป้อน ความคิดที่ยุ่งเหยิง (Bad Context) -> AI จะขยายมันเป็น ความหายนะ (Big Messy Code)
  • ถ้าคุณป้อน ความคิดที่ตกผลึกแล้ว (Clean Context & Plan) -> AI จะขยายมันเป็น ซอฟต์แวร์คุณภาพสูง

Next Step สำหรับคุณ: ลองเอา R.P.I. Loop ไปใช้จริงกับ Task ถัดไปของคุณดูครับ

  1. Research: ถาม AI ก่อนว่าระบบทำงานยังไง
  2. Plan: ให้ AI เสนอแผนแก้ไข แล้วคุณรีวิวแผนนั้น
  3. Implement: สั่งให้เขียนโค้ด

เชื่อผมเถอะว่า บั๊กจะน้อยลง และคุณจะกลับมาควบคุมโปรเจกต์ได้เต็มมืออีกครั้งครับ! 💪

Related posts

featured
sandwiched-developer-author
s
sirawich
·Dec 11, 2025

ONNX คืออะไร? เจาะลึกวิธีรัน AI บน Frontend แบบ "Local" ไม่ง้อ Cloud (ฉบับ Developer)

whats-new-in-lighthouse-13-cover-image
sandwiched-developer-author
s
sirawich
·Nov 14, 2025

Lighthouse 13 มีอะไรใหม่

summarize-why-are-software-engineers-quitting-microservices-cover-image
sandwiched-developer-author
s
sirawich
·Oct 25, 2025

สรุปวิดีโอ Why Are Software Engineers Quitting microservices ?

ai-pm-management-from-ai-product-playbook-cover-image
sandwiched-developer-author
s
sirawich
·Oct 12, 2025

AI กับ Product Management จากหนังสือ the AI product playbook

arktype-validator-cover-image
sandwiched-developer-author
s
sirawich
·Oct 11, 2025

ArkType: เมื่อ TypeScript พูดภาษาของมันเอง

sandwiched-developer-get-to-know-normal-ui-cover
sandwiched-developer-author
s
sirawich
·Sep 7, 2025

Normal UI – ทำให้เว็บแอปใช้ง่ายขึ้นโดยไม่ต้องเป็นดีไซเนอร์

mcp-lesson-one-what-why-mcp
sandwiched-developer-author
s
sirawich
·Jul 12, 2025

MCP (Model Context Protocol) คืออะไร

sandwiched-developer-go-ภาษาของผู้ไม่เร่งรีบ-แต่ไปถึงเส้นชัยก่อน
sandwiched-developer-author
s
sirawich
·Jun 3, 2025

🐢 Go: ภาษาของผู้ไม่เร่งรีบ แต่ไปถึงเส้นชัยก่อน

sandwiched-developer-ts-zoom-glasses
sandwiched-developer-author
s
sirawich
·May 31, 2025

TypeScript แว่นตาแห่งความชัดเจนในโลกที่พร่าเบลอ

golang-ภาษาแห่งความสงบ-ที่เกิดมาเพื่อรองรับความวุ่นวาย
sandwiched-developer-author
s
sirawich
·May 31, 2025

Golang ภาษาแห่งความสงบ ที่เกิดมาเพื่อรองรับความวุ่นวาย