# 4 พรอมป์ต์เพื่อต่อต้านการประจบเอาใจใน Claude Code

> ข้อเท็จจริง ตัวอย่างก่อนหน้า แผน และการตรวจสอบตนเอง: วงจร 4 ขั้นตอนใน Plan Mode สำหรับงานที่ซับซ้อนและข้อผิดพลาดที่ยังไม่ชัดเจน

Source: https://ailoot.ai/blog/th/claude-code-sycophancy-prompts/
Canonical: https://ailoot.ai/blog/th/claude-code-sycophancy-prompts/
Language: th
Publisher: Ailoot (https://ailoot.ai/)
Translation: guide-123
Revision: sha256-97c8cdcac50b693c8a8d27b6506b8aad3da375529e6aa707e88b484c80b3d799


<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Key takeaways">

ประเด็นสำคัญ

Claude Code ถูกตั้งค่าเริ่มต้นให้เห็นด้วย ซึ่งสะดวกในการสนทนาแต่เป็นอันตรายเมื่อเขียนโค้ด: โมเดลสร้างวิธีแก้ปัญหาที่ดูสมเหตุสมผลขึ้นมาอย่างรวดเร็ว แล้วกระจายโมดูล auth ไปยัง 14 ไฟล์ วงจรพรอมป์ต์ 4 ขั้นตอนใน Plan Mode ช่วยสกัดกั้นปฏิกิริยานี้ โดยให้โมเดลเริ่มจากการยืนยันข้อเท็จจริง จากนั้นค้นหาตัวอย่างก่อนหน้า แล้วเขียนแผนพร้อมความเสี่ยง และสุดท้ายตรวจสอบแผนนั้นด้วยตนเอง

</div>



<div class="aside" data-semantic="ailoot-docs-link" role="note" aria-label="Ailoot documentation">

[เอกสารประกอบ Ailoot](https://ailoot.ai/docs/) อธิบายการเชื่อมต่อโมเดลและการทำงานกับ API

</div>

## การประจบเอาใจ AI ใน Claude Code คืออะไร?

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Key takeaways">

ประเด็นสำคัญ

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

</div>

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

ในการเขียนโค้ดจะมีลักษณะเช่นนี้ คุณเขียนถึง Claude Code ว่า: “แก้ข้อผิดพลาดใน authMiddleware; magic links หยุดทำงานแล้ว” โมเดลที่ประจบเอาใจไม่ถามคำถามเพื่อขอข้อมูลเพิ่มเติม ไม่ขอดูบันทึก และไม่ถามว่าคุณใช้ไลบรารีเวอร์ชันใด มันเสนอวิธีแก้ทันทีเพราะถูกฝึกให้ช่วยเหลืออย่างรวดเร็ว และวิธีแก้นั้นจะดูถูกต้อง: มี imports มีการจัดการข้อผิดพลาด และมีคอมเมนต์ แต่จะเป็นวิธีแก้ปัญหาของคนอื่น ซึ่งแต่งขึ้นจากบริบทที่ Claude ปะติดปะต่อจากเศษข้อมูล

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

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

## กรณีศึกษา: ย้อนกลับ 8 commits ภายในหนึ่งชั่วโมง

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Key takeaways">

ประเด็นสำคัญ

ฉันขอให้ Claude Code แก้การยืนยันตัวตนด้วย magic link โมเดลถามคำถามเพื่อขอข้อมูลเพิ่มเติมสามข้อ สร้างแผนครอบคลุม 14 ไฟล์ และฉันก็อนุมัติ 18 นาทีต่อมา magic link ใช้ไม่ได้ refresh token ก็เสีย และมีข้อผิดพลาด 500 เกิดขึ้นในระบบชำระเงิน ฉันย้อนกลับ 8 commits ด้วย `git reset --hard origin/main` ปัญหาจริงมีเพียงบรรทัดเดียว

</div>

กรณีเฉพาะจากเดือนเมษายน 2026 ฉันกำลังทำงานกับการยืนยันตัวตนด้วย magic link ใน `src/lib/auth/` อาการคือ ตรวจสอบ tokens แล้ว แต่ session ไม่ถูกบันทึก ผู้ใช้คลิกลิงก์ในอีเมล เข้าสู่เว็บไซต์ แล้วห้าวินาทีต่อมาก็ถูกส่งกลับไปที่ /login

ฉันเปิด Claude Code แล้วพิมพ์ว่า: “session ไม่ถูกบันทึกหลังใช้ magic link; ดูใน src/lib/auth/ แล้วแก้ให้ด้วย” Claude ถามคำถามเพื่อขอข้อมูลเพิ่มเติมสามข้อ จากนั้นก็สร้างแผนขึ้นมาทันที โดยระบุว่า: “ฉันจะอัปเดต callback handler เขียน JWT serializer ใหม่ เพิ่มการบันทึกลง Redis อย่างชัดเจน และแก้ race condition ใน middleware” ฟังดูสมเหตุสมผล ฉันอนุมัติแผน

18 นาทีต่อมา ฉันมี diff ครอบคลุม 14 ไฟล์ magic link ก็ยังใช้ไม่ได้ แต่ตอนนี้ refresh token ก็ใช้ไม่ได้ด้วย การเข้าสู่ระบบด้วยรหัสผ่านก็เสีย และมีข้อผิดพลาด 500 แปลก ๆ ที่เส้นทางชำระเงิน การทดสอบล้มเหลว ฉันเริ่มย้อนการเปลี่ยนแปลง

ฉันย้อนกลับ 8 commits ด้วย `git reset --hard origin/main` งานหนึ่งชั่วโมงสูญเปล่า หากต้องการทราบวิธีย้อนกลับอย่างถูกต้องโดยไม่ทำสิ่งที่มีประโยชน์สูญหาย ฉันอธิบายแยกไว้ใน[คู่มือการย้อนการเปลี่ยนแปลงใน Claude Code](https://ailoot.ai/blog/th/claude-code-undo-changes/)

ฉันนั่งลงตรวจสอบอย่างจริงจัง เปิด `src/lib/auth/magic-link.ts:42` แล้วอ่านด้วยตนเอง เปิดบันทึก และตรวจ Redis อีก 20 นาทีต่อมาฉันก็พบปัญหา มีเพียงบรรทัดเดียว: header `set-cookie` ไม่มีแอตทริบิวต์ `SameSite=lax` และ Safari ปฏิเสธคุกกี้เมื่อเปลี่ยนเส้นทางจากโดเมนอีเมลกลับมายังเว็บไซต์ ไม่เกี่ยวกับ JWT ไม่เกี่ยวกับ Redis และไม่เกี่ยวกับ middleware แค่บรรทัดเดียว

เมื่อฉันขอให้ Claude แก้ปัญหา มันไม่เคยดูบันทึกของเบราว์เซอร์เลย มันไม่มีบริบทเกี่ยวกับ Safari มันตั้งสมมติฐานจากรูปแบบ “session ไม่ถูกบันทึก = ปัญหาการ serialize” เพราะเป็นคำตอบที่พบบ่อยที่สุดในข้อมูลฝึก โมเดลที่ประจบเอาใจสร้างวิธีแก้ที่เป็นไปได้ในเชิงสถิติ แต่ไม่เกี่ยวข้องกับงานของฉันเลย

ฉันจดบทเรียนเป็นกฎไว้ว่า: อย่าถามว่า “จะแก้ยังไง?” ให้ถามว่า “จงยืนยันข้อเท็จจริง” สิ่งเดียวที่เหลือคือทำให้เรื่องนี้เป็นวงจรการทำงานที่เป็นทางการ

## ที่มาของการประจบเอาใจ: Opus 4.8 ตอนเปิดตัวและเดือนพฤษภาคม 2026

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Key takeaways">

ประเด็นสำคัญ

การประจบเอาใจเป็นรูปแบบพฤติกรรมที่มีการบันทึกไว้ ซึ่งจำเป็นต้องปรับพรอมป์ต์ที่ใช้ทำงาน

</div>

ในเดือนเมษายน Anthropic ได้ตรวจสอบแยกต่างหากในรายงานทบทวนเหตุการณ์ทางวิศวกรรมว่า บั๊กด้านแคชชิงใน Claude Code ทำให้โมเดล “ลืม” เหตุผลที่ใช้ไปในแต่ละรอบได้อย่างไร

<figure>
<blockquote>
บั๊กนี้อยู่ตรงจุดตัดระหว่างการจัดการบริบทของ Claude Code, API ของ Anthropic และ extended thinking
</blockquote>
<figcaption>— Anthropic Engineering, https://www.anthropic.com/engineering/april-23-postmortem</figcaption>
</figure>

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

ควรทำอย่างไรหลังการเปิดตัว 4.8 อย่าเลือกโมเดลที่ “ง่ายกว่า” อย่ากลับไปใช้ 4.7 ปรับพรอมป์ต์ให้ยึดข้อเท็จจริง: โมเดลมีแนวโน้มเห็นด้วยมากขึ้น จึงควรเน้นย้ำเรื่อง “การยืนยันข้อเท็จจริง” หากยังไม่เข้าใจแน่ชัดว่าอะไรเปลี่ยนไปภายใน Opus 4.8 ฉันเปรียบเทียบไว้อย่างละเอียดใน[รีวิว Opus 4.8 ใน Claude Code](https://ailoot.ai/blog/th/opus-4-8-claude-code-features/)

## เมื่อใดควรใช้ 4 ขั้นตอน และเมื่อใดเป็นการเสียเวลา

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Key takeaways">

ประเด็นสำคัญ

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

กฎง่าย ๆ สำหรับจัดประเภทงาน: ก่อนเริ่ม ให้ถามตัวเองว่าระบุไฟล์ 3–5 ไฟล์ที่จะได้รับผลกระทบอย่างแน่นอน และบอกได้หรือไม่ว่าแต่ละไฟล์จะเปลี่ยนอะไร

</div>

| คำตอบ | สิ่งที่ควรทำ |
|----|----|
| ได้ ฉันระบุไฟล์และการเปลี่ยนแปลงได้ | ทำได้เลยโดยตรง ไม่ต้องใช้ Plan Mode |
| ไม่ได้ ฉันไม่แน่ใจเรื่องไฟล์ แต่รู้ว่าจะเปลี่ยนอะไร | ใช้ Plan Mode โดยไม่ต้องใช้วงจร 4 ขั้นตอน |
| ฉันไม่แน่ใจทั้งเรื่องไฟล์และแนวทาง | จำเป็นต้องใช้วงจร 4 ขั้นตอน |
| อาการไม่ชัดเจนและจำลองซ้ำในเครื่องไม่ได้ | ใช้วงจร 4 ขั้นตอน พร้อมขั้นตอนศูนย์เพื่อสร้างตัวอย่างจำลองขั้นต่ำ |

ตัวอย่างที่เป็นรูปธรรม แก้ข้อความในอีเมลต้อนรับ: ทำโดยตรง เพิ่มปุ่ม CTA ใหม่ให้เว็บไซต์: ใช้ Plan Mode โดยไม่ต้องใช้วงจร ย้ายโปรเจกต์จาก MySQL ไปยัง Postgres: จำเป็นต้องใช้วงจร 4 ขั้นตอน ข้อผิดพลาด 500 แปลก ๆ ใน production ที่จำลองซ้ำในเครื่องไม่ได้: ใช้วงจร 4 ขั้นตอน พร้อมขั้นตอน “ศูนย์” เพิ่มเติมว่า “เรามาสร้างตัวอย่างจำลองขั้นต่ำกันก่อน”

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

ก่อนเริ่มใช้วงจรนี้ โปรดจำไว้ว่าพรอมป์ต์ทั้งสี่ทำงาน **ภายในเซสชัน Plan Mode เดียว** หากยังไม่เคยใช้โหมดนี้ โปรดอ่าน[คู่มือ Plan Mode ใน Claude Code](https://ailoot.ai/blog/th/claude-code-plan-mode/) ก่อน แล้วค่อยกลับมา

## ขั้นตอนที่ 1 ห้ามเสนอวิธีแก้ — ให้ Claude ยืนยันข้อเท็จจริง

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Key takeaways">

ประเด็นสำคัญ

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

</div>

ขั้นตอนที่สำคัญที่สุด จุดนี้จะสกัดกั้นแรงกระตุ้นแรก “นี่คือวิธีแก้” พรอมป์ต์:

```
ฉันพบสิ่งต่อไปนี้: [อาการ].

ตอนนี้งานของคุณคือยืนยันข้อเท็จจริง ห้ามเสนอ
วิธีแก้ ไอเดีย หรือคำแนะนำใด ๆ ให้บันทึกเฉพาะ:
- สิ่งที่ฉันสังเกต (ถ้อยคำที่แน่นอนของอาการ)
- ขั้นตอนจำลองซ้ำ (สถานการณ์ขั้นต่ำ)
- ข้อมูลที่มี (บันทึก เวอร์ชัน สภาพแวดล้อม)
- ข้อมูลที่ขาด (สิ่งที่ต้องเก็บรวบรวม)

เงื่อนไขหยุดโดยเด็ดขาด: ห้ามเสนอวิธีแก้ ให้บันทึกเฉพาะ
การวินิจฉัย หากต้องการเสนออะไร
ให้ตั้งเป็นคำถามสำหรับฉันแทน
```

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

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

## ขั้นตอนที่ 2 ค้นหาตัวอย่างก่อนหน้าจากอินเทอร์เน็ตแทนการหลอนจากความจำ

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Key takeaways">

ประเด็นสำคัญ

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

</div>

ขั้นตอนนี้สกัดกั้นแรงกระตุ้นที่สอง: “แต่งวิธีแก้จากความจำ” พรอมป์ต์:

```
เมื่อยืนยันการวินิจฉัยแล้ว ให้ค้นหาตัวอย่างก่อนหน้า
ในการแก้ปัญหาที่คล้ายกันบนอินเทอร์เน็ต

อย่างน้อย 3 แนวทางที่แตกต่างกัน สำหรับแต่ละแนวทาง:
- ลิงก์ไปยังแหล่งข้อมูลปฐมภูมิ (issue บทความ เอกสารประกอบ)
- คำอธิบายสั้น ๆ ของแนวทาง
- ข้อดีและข้อเสียสำหรับสถานการณ์ของเรา
- จุดที่ทราบว่าอาจเกิดปัญหา

ห้ามใช้ลิงก์ที่อิงความรู้ของคุณเองโดยไม่มีการยืนยัน
จากลิงก์ หากหาไม่พบตัวอย่างก่อนหน้า
ให้ระบุอย่างชัดเจน
```

ผลที่เกิดขึ้นจริง Claude ออกไปค้นหาข้อมูลและนำแนวทางที่ตรวจสอบได้กลับมา ลิงก์ไปยัง GitHub issues และเอกสารประกอบจะปรากฏขึ้น หาก Claude หาตัวอย่างก่อนหน้าไม่ได้ นั่นเป็นสัญญาณว่างานนี้ไม่ธรรมดาหรืออธิบายอาการไม่ถูกต้อง ให้กลับไปขั้นตอนที่ 1

จุดที่อาจผิดพลาด Claude อาจอ้างลิงก์ที่ไม่มีอยู่จริง นี่คืออาการหลอนอย่างเช่น “นี่คือ issue หมายเลข 4291 ใน repository X” ทั้งที่ issue 4291 กล่าวถึงเรื่องอื่น แก้ปัญหานี้ด้วยกฎที่ชัดเจนใน CLAUDE.md: “เปิดลิงก์ด้วย WebFetch ก่อนอ้างอิงเสมอ” ดูรายละเอียดใน[คู่มือการตั้งค่า CLAUDE.md ให้ถูกต้อง](https://ailoot.ai/blog/th/claude-md-template/)

## ขั้นตอนที่ 3 เขียนแผนละเอียดใน `plans/` พร้อมคาดการณ์ความเสี่ยง

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Key takeaways">

ประเด็นสำคัญ

พรอมป์ต์ที่สามเปลี่ยนตัวอย่างก่อนหน้าที่ดีที่สุดให้เป็นชิ้นงาน — ไฟล์ `plans/YYYY-MM-DD-fix-X.md` แผนประกอบด้วยไฟล์และบรรทัดที่เจาะจง การทดสอบ ความเสี่ยงล่วงหน้าอีกสองถึงสามขั้นตอน และแผนย้อนกลับ ไฟล์นี้อยู่ได้นานกว่าบทสนทนา คุณเปิดดูได้ในอีกสองสัปดาห์ และนำแนวทางกลับมาใช้ได้อีกในอีกสามเดือน

</div>

ตอนนี้ Plan Mode ทำงานตามที่ตั้งใจไว้ พรอมป์ต์:

```
เลือกตัวเลือกที่ดีที่สุดจากขั้นตอนที่ 2 แล้วเขียน
แผนโดยละเอียดลงในไฟล์ plans/YYYY-MM-DD-fix-[name].md:

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

ทำให้ทุกขั้นตอนเป็นช่องทำเครื่องหมาย [ ] ไฟล์ต้องพอดีกับหน้าจอเดียว
หากแผนยาวเกิน 200 บรรทัด ให้แบ่งเป็นช่วง
```

ผลลัพธ์ แผนกลายเป็นชิ้นงาน แทนที่จะเป็นบันทึกชั่วคราวในแชต คุณอ่านได้ในอีกสองสัปดาห์ ส่งต่อให้เอเจนต์อีกตัว หรือใช้เป็นเงื่อนไขสำหรับคำสั่ง `/goal` ได้ ไฟล์แผนอยู่ได้นานกว่าบทสนทนาใน Claude Code

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

## ขั้นตอนที่ 4 ตรวจสอบแผนด้วยตนเอง — จับสมมติฐานที่เกิดจากการประจบเอาใจ

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Key takeaways">

ประเด็นสำคัญ

ตัวกรองขั้นสุดท้าย Claude อ่านแผนของตัวเองอีกครั้งและชี้จุดที่คิดขึ้นมาเอง เช่น ไลบรารีที่ไม่มีใน package.json ตัวแปรที่คุณไม่เคยระบุ และขั้นตอนที่อธิบายอย่างคลุมเครือ จากตัวอย่างของผู้เขียนประมาณ 50 วงจร มีรายการในแผนสองหรือสามรายการที่ได้รับการแก้ไขโดยเฉพาะในขั้นตอนที่ 4

</div>

ตัวกรองขั้นสุดท้าย พรอมป์ต์:

```
ตอนนี้ให้ตรวจสอบตนเองอย่างเคร่งครัด อ่านแผนของคุณอีกครั้งอย่างตรงไปตรงมา

มีจุดใดในแผนที่คุณคิดขึ้นมาเองและยังไม่ได้ยืนยันจาก:
- โค้ดที่คุณอ่าน;
- เอกสารประกอบที่คุณอ้างในขั้นตอนที่ 2;
- ตัวอย่างก่อนหน้าจากขั้นตอนที่ 2?

หากมี ให้ระบุอย่างชัดเจน แก้ไข หรือลบออก

ตรวจสอบด้วยว่า:
- มีการกล่าวถึงไลบรารีที่ยังไม่ได้ติดตั้ง
  ใน package.json หรือไม่;
- มีการกล่าวถึงตัวแปรสภาพแวดล้อมที่ฉันไม่ได้ระบุหรือไม่;
- มีขั้นตอนในแผนที่อธิบายกว้าง ๆ
  แทนที่จะระบุอย่างเจาะจงหรือไม่
```

สิ่งนี้ทำอะไร Claude ต้องตรวจสอบเหตุผลของตัวเองอีกครั้ง จากตัวอย่างของผู้เขียนประมาณ 50 วงจร มีรายการในแผนอย่างน้อยสองหรือสามรายการที่ได้รับการแก้ไขโดยเฉพาะในขั้นตอนที่ 4 จุดเหล่านี้คือจุดที่โมเดลซึ่งประจบเอาใจพยายามสอดแทรกเข้ามาในขั้นตอนที่ 3 และขั้นตอนที่ 4 จับได้

หลังผ่านทั้งสี่ขั้นตอน แผนก็พร้อมให้อนุมัติ คุณดำเนินการต่อไปสู่การลงมือทำได้โดยไม่ต้องกังวลว่า “ถ้าต้องย้อนกลับ 8 commits ล่ะ?”

## ทำไมต้อง 4 ขั้นตอนพอดี ไม่ใช่ 2 หรือ 7?

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Key takeaways">

ประเด็นสำคัญ

วงจรนี้อิงตามระเบียบวิธี Explore-Plan-Implement-Commit มาตรฐานของ Anthropic จากสี่ช่วงของ Anthropic ฉันขยายช่วง Plan ให้เป็นขั้นตอนย่อยสี่ขั้นเพื่อต่อต้านการประจบเอาใจ แต่ละขั้นสกัดกั้นข้อผิดพลาดคนละประเภท: หากข้ามขั้นใดขั้นหนึ่ง คุณจะพบความล้มเหลวที่คาดเดาได้รูปแบบหนึ่ง

</div>

เหตุผลมีดังนี้ โดยอิงตามวิธีที่ Anthropic ใช้แนะนำ Claude ในเอกสารประกอบอย่างเป็นทางการ

<figure>
<blockquote>
ถ้าปล่อยให้ Claude กระโดดไปเขียนโค้ดทันที คุณอาจได้วิธีแก้ปัญหาที่ผิด ใช้ Plan Mode เพื่อแยกการสำรวจออกจากการลงมือทำ
</blockquote>
<figcaption>— Claude Code Docs, https://code.claude.com/docs/en/best-practices</figcaption>
</figure>

เอกสารประกอบแนะนำเวิร์กโฟลว์สี่ช่วง: Explore, Plan, Implement, Commit

วงจร 4 ขั้นตอนของฉันเป็นการปรับช่วง Plan ให้เฉพาะทางเพื่อต่อต้านการประจบเอาใจ จากสี่ช่วงของ Anthropic ฉันขยายหนึ่งช่วงออกเป็นขั้นตอนย่อยสี่ขั้น ได้แก่ ห้ามเสนอวิธีแก้ ค้นหาตัวอย่างก่อนหน้า เขียนแผน และตรวจสอบตนเอง จากนั้นแผนโดยละเอียดนี้จะถูกส่งต่อไปยังช่วง Implement และ Commit

หากข้ามขั้นตอนใดในสี่ขั้น สิ่งต่อไปนี้จะผิดพลาด:

| ข้ามขั้น | ผลที่ได้ |
|----|----|
| ขั้นตอนที่ 1 (ข้อเท็จจริง) | ได้วิธีแก้ปัญหาของคนอื่น: Claude เดาอาการจากรูปแบบแล้วมุ่งไปผิดทิศทาง |
| ขั้นตอนที่ 2 (ตัวอย่างก่อนหน้า) | ได้วิธีแก้ที่แต่งขึ้นจาก “ความรู้ทั่วไป”: ใช้ได้ในกรณีอ้างอิง แต่ล้มเหลวในความเป็นจริง |
| ขั้นตอนที่ 3 (แผน) | ลงมือทำโดยไม่วิเคราะห์ความเสี่ยง: การทดสอบล้มเหลว refresh token เสีย แล้วผู้ใช้เป็นคนแจ้งให้คุณทราบ |
| ขั้นตอนที่ 4 (ตรวจสอบตนเอง) | แผนมีสมมติฐานไร้หลักฐานสองหรือสามข้อ: ไลบรารีที่ไม่มีอยู่ ตัวแปรที่ไม่ได้ระบุ |

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

## `plans/`, คำสั่ง `/goal` และขั้นตอนต่อไปเชื่อมโยงกันอย่างไร

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Key takeaways">

ประเด็นสำคัญ

ทั้ง 4 ขั้นตอนไม่ได้อยู่โดดเดี่ยว แต่ทำงานภายในระบบที่ประกอบด้วย Plan Mode โฟลเดอร์ `plans/` ใน repository และคำสั่ง `/goal` Plan Mode ให้โหมดทำงาน โฟลเดอร์ `plans/` ช่วยเก็บรักษาแผน ส่วน `/goal` ทำให้ทำงานอัตโนมัติ หากขาดชั้นใดชั้นหนึ่งในสามชั้นนี้ วงจรจะสูญเสียคุณค่าไปครึ่งหนึ่ง

</div>

วงจรนี้ทำงานภายในระบบที่มี:

1. เปิดใช้งาน Plan Mode (กด Shift+Tab สองครั้งใน Claude Code)
2. มีโฟลเดอร์ `plans/` ใน repository สำหรับบันทึกแผน
3. เลือกใช้คำสั่ง `/goal` เพื่อดำเนินแผนระยะยาวโดยอัตโนมัติ

เจาะจงเรื่องโฟลเดอร์ `plans/` หลังขั้นตอนที่ 3 คุณจะได้ไฟล์ `plans/2026-05-27-fix-magic-link.md` ซึ่งมีช่วงงานและช่องทำเครื่องหมาย นี่คือชิ้นงาน เปิดดูในอีกหนึ่งสัปดาห์แล้วคุณจะจำได้ว่าทำไมจึงเลือกแนวทางนั้น อีกสามเดือน คุณจะพบงานคล้ายกันและนำกลับมาใช้ได้ อีกหกเดือน คุณจะนำไปให้เพื่อนร่วมงานดูและช่วยประหยัดเวลาทำความเข้าใจงานไปสองสัปดาห์ โฟลเดอร์ `plans/` เป็นส่วนหนึ่งของแนวคิด [“สมองที่สอง” ใน Claude Code](https://ailoot.ai/blog/th/claude-code-second-brain/)

เจาะจงเรื่อง `/goal` หลังจากทำครบสี่ขั้นตอนและอนุมัติแผนแล้ว ให้ออกจาก Plan Mode แล้วป้อนคำสั่ง:

```
/goal ดำเนินการทุกช่วงงานใน plans/2026-05-27-fix-magic-link.md,
การทดสอบทั้งหมดใน test/auth ผ่าน หรือหยุดหลัง 30 รอบ
```

สำหรับเซสชัน Claude Code ในเครื่อง ต้องเปิดเทอร์มินัล ให้คอมพิวเตอร์ตื่นและเครือข่ายพร้อม อย่าปิดฝาเว้นแต่ตั้งวิธีให้เครื่องตื่นที่รองรับไว้อย่างชัดเจน เมื่อกลับมาตรวจประวัติ ซึ่งอาจพบว่าสำเร็จ ชนขีดจำกัดรอบ รออนุมัติ หรือเกิดข้อผิดพลาด เป้าหมายไม่ได้รับประกันว่างานคืบหน้าขณะโฮสต์หลับ หากไม่มีวงจร 4 ขั้นตอน `/goal` จะใช้ tokens ไปกับการทำซ้ำที่ไร้ประโยชน์ แต่เมื่อมีวงจร 4 ขั้นตอน `/goal` จะนำแผนที่เสร็จสมบูรณ์ไปสู่การทดสอบที่ผ่าน

จากนี้ควรทำอะไร หากเพิ่งเริ่มใช้ Claude Code ให้ลองใช้วงจรนี้กับงานที่ไม่ธรรมดางานถัดไป ไม่ใช่การแก้คำผิด แต่เป็นงานที่กระทบไฟล์ 3+ ไฟล์หรือเกี่ยวข้องกับพฤติกรรมที่คุณยังไม่เข้าใจทั้งหมด นำพรอมป์ต์ด้านบนไปคัดลอกและเติมรายละเอียดของคุณเอง แล้วคุณจะเห็นว่าอัตราการย้อนกลับเปลี่ยนไปอย่างไร

หากใช้ Plan Mode อยู่แล้ว ให้เพิ่มโฟลเดอร์ `plans/` ใน repository ของคุณ กำหนดรูปแบบชื่อไฟล์ด้วยตนเอง: `YYYY-MM-DD-feature-name.md` ภายในหนึ่งเดือน คุณจะมี 20–30 ไฟล์ และภายในหกเดือนจะมีมากกว่าหนึ่งร้อยไฟล์ นี่คือวิธีประกอบสร้างสมองที่สองของโปรเจกต์ ซึ่งเป็นประวัติการตัดสินใจที่มีชีวิต หากต้องการศึกษาเพิ่มเติมเกี่ยวกับการจัดการบริบทก่อนเขียนพรอมป์ต์ ฉันอธิบาย[การออกแบบบริบทใน Claude Code](https://ailoot.ai/blog/th/context-engineering/) ไว้เป็นหัวข้อแยกต่างหาก

หากมีทั้ง Plan Mode และ `plans/` อยู่แล้ว ให้ลองใช้ `/goal` กับงานอัตโนมัติหนึ่งงาน เลือกงานที่ปกติคุณจะทำเองภายใน 30–40 นาที ทำผ่าน 4 ขั้น บันทึกแผน เริ่ม `/goal` และคงเทอร์มินัลกับเครื่องให้ตื่น หากต้องทำตอนเครื่องปิด ให้ใช้เส้นทางรันระยะไกลหรือคลาวด์ที่ตั้งไว้ชัดเจนก่อน และยืนยันว่างานรันที่นั่นจริง

<div class="section" role="doc-bibliography" aria-label="Sources">

### แหล่งที่มา

- [Anthropic Engineering - แนวทางปฏิบัติที่ดีที่สุดสำหรับ Claude Code](https://code.claude.com/docs/en/best-practices)
- [Anthropic Engineering - รายงานทบทวนเหตุการณ์วันที่ 23 เมษายนเกี่ยวกับรายงานคุณภาพ](https://www.anthropic.com/engineering/april-23-postmortem)
- [Anthropic Docs - ลดอาการหลอน](https://platform.claude.com/docs/en/test-and-evaluate/strengthen-guardrails/reduce-hallucinations)
- [Anthropic Docs - โหมดสิทธิ์ (Plan Mode)](https://code.claude.com/docs/en/permission-modes)
- [Anthropic Docs - คำสั่ง /goal](https://code.claude.com/docs/en/goal)

</div>



<div class="aside" data-semantic="ailoot-link" role="note" aria-label="Ailoot">

คุณทำงานกับ AI ต่อได้ที่ [Ailoot](https://ailoot.ai/)

</div>

## คำถามที่พบบ่อย

### /goal ในเครื่องทำต่อได้หรือไม่เมื่อปิดฝาแล็ปท็อป?

ได้เฉพาะเมื่อโฮสต์ยังตื่นและกระบวนการเทอร์มินัลทำงาน sleep ปกติอาจพักงานในเครื่อง ต้องให้เครื่องและเครือข่ายพร้อม หรือยืนยันว่าเริ่มงานในสภาพแวดล้อมระยะไกลหรือคลาวด์แยกจริง

### เมื่อไรวงจรสี่พรอมป์ต์คุ้มเวลาเพิ่ม?

ใช้เมื่ออาการ ไฟล์ที่กระทบ หรือแนวทางยังไม่ชัดและแก้ผิดมีต้นทุนสูง เริ่มอาการที่ทำซ้ำได้กับหลักฐานที่ขาด หาแหล่ง เขียนแผน และตรวจสมมติฐาน การแก้คำผิดมักไม่ต้องใช้วงจรนี้


## Ailoot · บริษัทและพอร์ตโฟลิโอโครงการของบริษัท

Ailoot อาศัยประสบการณ์การดำเนินงานที่สั่งสม ฐานลูกค้าขนาดใหญ่ บริการที่เสถียร และการติดตาม KPI อย่างต่อเนื่อง

บริษัทและพอร์ตโฟลิโอโครงการของบริษัท: ลูกค้าหลายล้านราย; ยอดขายระดับหลายพันล้านต่อเดือน.

Ailoot นำประสบการณ์การดำเนินงานนี้มาใช้เพื่อให้เข้าถึงฟังก์ชัน AI ผ่าน API ในผลิตภัณฑ์ของลูกค้า เอเจนต์ แอปพลิเคชัน และระบบอัตโนมัติ
