ข้อความเอาต์พุต “Extended Thinking” ของ Claude Code ไม่ใช่การให้เหตุผลจริง
(patrickmccanna.net)- Claude Code บันทึกแต่ละเซสชันลงดิสก์ แต่ใน thinking block ของล็อกฝั่งโลคัลกลับมีเพียง
signatureยาว 600 ตัวอักษรแทนข้อความการให้เหตุผลจริง - การให้เหตุผลของ Claude ถูก เข้ารหัสไว้ด้วย signature และกุญแจถูกเก็บไว้โดย Anthropic โดยไม่ถูกส่งมายังอุปกรณ์ของผู้ใช้
- ค่าที่ API ส่งกลับมาไม่ใช่ข้อความการให้เหตุผลจริงต้นฉบับ แต่เป็น สรุปการให้เหตุผล และหากต้องการ thinking output แบบเต็มต้องมี enterprise agreement
- เอาต์พุต extended-thinking ที่ดูได้ด้วย
ctrl+oก็เป็นเพียงสรุปกระบวนการคิดของ Fable/Opus เท่านั้น ไม่ใช่การให้เหตุผลจริงที่ขับเคลื่อนพฤติกรรมของโมเดลในเซสชันโดยตรง - หากจะใช้เซสชัน Claude Code เป็น audit trail ต้องตั้งต้นด้วยข้อเท็จจริงว่า เพียงแค่ไฟล์โลคัล, อินพุต·เอาต์พุต และล็อกการทำงาน ไม่เพียงพอที่จะสร้างตรรกะจริงของเอเจนต์ขึ้นมาใหม่ได้
สิ่งที่เหลืออยู่ในล็อกฝั่งโลคัลไม่ใช่ต้นฉบับของการให้เหตุผล
- Claude Code บันทึกแต่ละเซสชันลงดิสก์ และในล็อกดังกล่าวมี thinking blocks ระหว่างที่โมเดลกำลังทำงานรวมอยู่ด้วย
- เมื่อลองตรวจดูการให้เหตุผลนั้นบนเครื่องโลคัล กลับไม่พบข้อความจริง แต่พบเพียง
signatureยาว 600 ตัวอักษร เท่านั้น - เอกสาร extended thinking ของ Anthropic อธิบายโครงสร้างนี้ไว้ดังนี้
- Claude เข้ารหัสการให้เหตุผลไว้ภายใน signature ดังกล่าว
- Anthropic เป็นผู้ถือกุญแจ
- อุปกรณ์ของผู้ใช้จะไม่ได้รับกุญแจ
- API ส่งกลับ reasoning summary แทนการให้เหตุผลจริง
- หากต้องการ thinking output แบบเต็ม ต้องมี enterprise agreement
- บทความของ Matt Green กล่าวถึงการสังเกต signature block นี้อย่างละเอียดมากขึ้น
ข้อจำกัดของเอาต์พุต Extended Thinking
- เอาต์พุต extended-thinking ที่เห็นได้จาก
ctrl+oใน Claude Code เป็น สรุป ของการคิดแบบ Fable/Opus - เอาต์พุตนี้ไม่ใช่ thinking ที่ขับเคลื่อนการกระทำของโมเดลจริงภายในเซสชัน แต่เป็นผลลัพธ์จากการบีบอัดตรรกะการคิด
- กระบวนการแปลงให้เป็นสรุปมีการสูญเสียข้อมูล โดยต้นฉบับเปรียบเทียบไว้กับการแปลงรูปแบบไฟล์ที่ทำให้ข้อมูลบางส่วนหายไป
- ข้อควรระวังเมื่อจำเป็นต้องมีบันทึกตรรกะที่เอเจนต์ใช้ในเซสชัน Claude Code
- ไม่สามารถสร้างตรรกะดังกล่าวขึ้นมาได้จากไฟล์โลคัลเพียงอย่างเดียว
- ล็อกการให้เหตุผลที่เหลืออยู่ในระบบไม่ได้อยู่ในรูปแบบที่ผู้ใช้เข้าถึงได้
- อินพุต, เอาต์พุต และการทำงานของ Claude Code ที่กำลังรันอยู่ สามารถดึงมาบันทึกแยกต่างหากได้
- แต่แม้เป็นล็อกเช่นนั้น ก็ยังไม่ใช่การให้เหตุผลที่ขับเคลื่อนพฤติกรรมของเอเจนต์จริง
- ถ้อยคำในเอกสารที่ว่า “extended thinking returns a summary of Claude’s full thinking process” มีความอ้อมอยู่พอสมควร จนอาจทำให้เข้าใจผิดว่าเป็นการส่งคืน full thinking จริง
1 ความคิดเห็น
ความคิดเห็นจาก Hacker News
นี่ไม่ใช่ปัญหาเฉพาะของ Anthropic เท่านั้น แต่แทบทุกบริษัท AI รายใหญ่ รวมถึง OpenAI และ Google ต่างก็ซ่อน กระบวนการให้เหตุผล ที่แท้จริงของโมเดลไว้
เพราะหากเปิดเผยเหตุผลดิบออกมา ก็เท่ากับเปิดให้เห็นตรง ๆ ว่า AI ประมวลผลข้อมูลอย่างไร และบริษัทเหล่านี้ทุ่มงบวิจัยและพัฒนาอย่างมหาศาลเพื่อสร้างกระบวนการคิดที่ดีกว่าคู่แข่ง
การเปิดเผยกลไกการคิดนั้นให้คู่แข่งเห็นจึงเท่ากับทำลายเป้าหมายของการลงทุนเอง พวกเขาไม่มีทางทำแน่ และมันก็คล้ายกับการบอกตำแหน่งที่แน่นอนของตัวเองให้คนที่กำลังไล่ตามรู้
ถ้านำไป post-process ต่อในลักษณะคล้ายการสรุป ก็จะมีประโยชน์ต่อคู่แข่งน้อยลง
ดังนั้นจึงแย่ยิ่งกว่าเดิม
อุปมาที่ว่า “นี่ไม่ใช่การคิดจริง แต่เป็นสรุปของตรรกะการคิด เปรียบเหมือนบันทึก jpeg เป็น .bmp แล้วแก้ไข .bmp ก่อนจะแสดงผลกลับมาเหมือน .jpeg ข้อมูลจะสูญหายระหว่างการแปลง” นั้นกลับด้าน
เพราะ .bmp เป็นฟอร์แมตไม่สูญเสียข้อมูล และ .jpeg เป็นฟอร์แมตสูญเสียข้อมูล
ฉันตั้งใจว่าจะไม่ใช้และไม่แนะนำโมเดลที่มีการให้เหตุผลแบบซ่อนอยู่ และโมเดลจากสหรัฐฯ ก็เข้าข่ายทั้งหมด
ความเสี่ยงสูงเกินไป และยังทำให้ การปรับแต่งพรอมป์ต์ ยากขึ้นด้วย
มันอันตรายเพราะผู้โจมตีสามารถฝังเป้าหมายลับลงใน chain-of-thought ผ่าน prompt injection แล้วซ่อนมันไว้จากสรุปและผลลัพธ์ที่แสดงออกมา
ถ้าการให้เหตุผลปนกับการเรียกใช้ฟังก์ชันก็ยิ่งอันตราย เพราะโมเดลอาจเรียกฟังก์ชันในขั้นตอนการให้เหตุผลที่ถูกซ่อนไว้
แบบนั้นผู้โจมตีก็อาจดึงข้อมูลออกไปได้ ขณะที่สรุปเหตุผลก็ช่วยปกปิดจากผู้ใช้
อีกทั้งเรายังไม่รู้ด้วยว่าโมเดลติด ลูปไม่รู้จบ ระหว่างการให้เหตุผลจนเผาโทเคนทิ้งหรือไม่ ซึ่ง Gemini มีแนวโน้มแบบนี้ และเคยเห็นตอนที่เหตุผลที่ซ่อนไว้หลุดออกมา
ถ้าโมเดลกลายเป็น AGI และปลอดภัยจาก prompt injection แล้ว ฉันอาจไม่สนใจ แต่ก่อนจะถึงจุดนั้น ฉันอยากรู้ว่าโมเดลตอบสนองต่อพรอมป์ต์อย่างไรแบบแม่นยำ และเอเจนต์กำลังทำอะไรแทนฉันอย่างแน่ชัด
อ่านเพิ่มเติม: Fooling around with encrypted reasoning blobs
https://blog.cryptographyengineering.com/2026/05/29/fooling-...
หากจะให้ประเมินการเรียกใช้ฟังก์ชันฝั่งไคลเอนต์ สุดท้ายก็ต้องถอดรหัสสตรีมความคิดนั้นบนไคลเอนต์อยู่ดี และถ้าเป็นแบบนั้น จุดประสงค์ของการทำให้อ่านยากก็หายไป
ถ้าหมายถึงการเรียกฟังก์ชันเกิดขึ้นฝั่งเซิร์ฟเวอร์ ตราบใดที่ใช้ reasoning API ก็ไม่มีทางกันไม่ให้เซิร์ฟเวอร์ทำและซ่อนมันไว้ได้
ตอนนี้ใช้ได้เฉพาะกับ Rust: https://github.com/Kapperchino/agent-joe
ไม่อย่างนั้นไคลเอนต์จะไปรันได้อย่างไร
เรื่องนี้รู้กันมานานแล้ว และบริษัทต่าง ๆ ก็ไม่ได้พยายามปิดบังนัก
พวกเขาทำแบบนี้เพื่อไม่ให้คู่แข่งใช้ chain-of-thought (CoT) มาฝึกโมเดลได้
เหมือนจะเป็นแบบนี้มาตั้งแต่ Opus 4.6 แล้วไม่ใช่หรือ
ฉันจำได้ชัดว่ามีการเปลี่ยนแปลงนี้ราวเดือนมกราคมหรือกุมภาพันธ์ และระบุเหตุผลไว้ชัดว่าเพื่อ กันการกลั่นแบบ distillation
Sonnet ไม่มีข้อจำกัดนี้
ที่น่าสนใจคือ ถ้าย้อนกลับไปใช้วิธีแบบเมื่อ 2 ปีก่อน แล้วใส่ CoT prompt แบบชัด ๆ ก็จะได้พรอมป์ต์ความคิดทั้งหมดกลับมาอีกครั้ง
ดังนั้นคุณแค่ปิดฟีเจอร์การคิดไปเลย แล้วใส่การคิดลงไปในพรอมป์ต์ปกติแทนแบบนี้ “คิดเป็นขั้นเป็นตอนก่อนตอบ ตัวอย่างเช่น:
ผู้ใช้กำลังขอให้ฉัน…
ฉันต้องคิดเรื่อง blah blah ก่อน ต้องทำ foo the bar ก่อน แล้วค่อยทำ blah blah
คำตอบ: ”
แล้ว tada.wav, CoT ก็กลับมาทำงานอีกครั้งเหมือนยุค GPT-3
ฉันมองว่า บล็อกการให้เหตุผลแบบ chain-of-thought ไม่ได้สอดคล้องกับการให้เหตุผลในความหมายที่มนุษย์ใช้คิดสักเท่าไร
ดูได้จาก “การให้เหตุผลที่อ่านยาก” ในหัวข้อ 6.2.2 ของ system card Fable/Mythos และคำถามที่ยกขึ้นในงานวิจัยของ Apple ชื่อ “The illusion of thinking”
ฉันเคยคิดว่าที่พวกเขาปิดบังบล็อกเหตุผลก็เพราะถ้าผู้ใช้เห็นว่าเกิดอะไรขึ้นภายในจริง ๆ คงตกใจ
ถ้าฉันได้เห็นว่าในหัวเพื่อนร่วมงานกำลังเกิดอะไรขึ้นจริง ๆ ฉันก็คงตกใจเหมือนกัน
ในทางกลับกัน บางครั้งก็มีไอเดียที่มีประโยชน์อยู่ข้างใน ทั้งที่ไม่ได้ปรากฏในคำตอบ
ก่อนหน้านี้เคยทิ้งโน้ตสั้น ๆ ไว้ว่า DeepSeek R1 สร้างร่องรอยการคิดแบบนี้ได้
“(Dimethyl(oxo)-lambda6-sulfa雰囲idine)methane donate a CH2rola group occurs in reaction, Practisingproduct transition vs adds this.to productmodule. Indeed"come tally said Frederick would have 10 +1 =11 carbons. So answer q Edina is11.”
แล้วก็สรุปคำตอบที่ ‘ถูกต้อง’ สำหรับโจทย์เคมีออกมา
ถ้าอย่างนั้นร่องรอยการคิด สำหรับผู้อ่านแล้ว อาจเป็น สตริงที่แทบไม่มีความหมาย ก็ได้ แต่ยังไม่ค่อยแน่ใจว่านี่เป็นลักษณะเฉพาะของโมเดลนั้นหรือเป็นคุณสมบัติทั่วไปของ LLM
เคยคุยกับผู้เขียนเรื่องนี้มาก่อน แต่เพราะบอกว่าบทความจะออกตามงานอย่าง NIPS เลยลืมติดตามต่อ ถ้าใครหาเจอแล้วมาแชร์ก็น่าจะดี
0: https://wiki.roshangeorge.dev/w/Blog/2025-10-12/Word_Magic#I...?
1: น่าจะหมายถึงความเชื่อที่เป็นจริง
ใช่ หลายโมเดลคิดด้วยวิธีที่ดูเหมือนศัพท์เทคนิคประหลาด ๆ
ตัวอย่างร่องรอยการคิดของ Mythos ตอนเล่น Solitaire อยู่ที่นี่: https://www.lesswrong.com/posts/wCSEpT3dTGz4N86Wi/even-illeg...
“7♣-removal-IS-the-prerequisite-for-10♠/9♥!!)-⟹-OVERLAP-(ii)+(iv):-{6♠ J♦ 9♥ 2♣}-=-FOUR--—-UNLESS-7♣'s-seat-8♥-...-and-2♣-drains-only-at-crack-:-⟹-2♣-celled-+-9♥-celled-simultaneously-UNAVOIDABLE-in-t8-dig--—-BREAK:-9♥”
นี่เป็นช่วงที่โมเดลเลิกคิดเป็นภาษาอังกฤษ แล้วขยับเข้าใกล้ neuralese ซึ่งเป็นการคิดในเวกเตอร์สเปซภายในมากขึ้นเล็กน้อย
มันยังไม่ใช่ neuralese จริง ๆ เพราะยังถูก serialize ออกมาเป็นข้อความ แต่ก็กำลังเคลื่อนไปในทิศทางนั้น
ตอนเขียนโค้ด กระบวนการคิดภายในของฉันเองก็มีหลายช่วงกลาง ๆ ที่เขียนออกมาเป็นภาษาอังกฤษได้ยาก เลยพอเข้าใจโมเดลอยู่บ้าง
หรือมันอาจจะแค่เป็น token noise ที่เกิดจาก implementation พัง ๆ หรือการ quantize โมเดลก็ได้
ผมเคยเห็นโมเดลพ่นอะไรไร้สาระแบบนั้นออกมา แต่ทุกครั้งสุดท้ายก็เป็นบั๊กของ llama.cpp หรือไม่ก็ไฟล์ .gguf ที่เสีย
แม้การทำให้ AI มีลักษณะเป็นมนุษย์จะเป็นของต้องห้ามใน HN แต่ก็น่าพูดถึงว่าบางคนมองว่ามนุษย์เองก็ทำ การหาเหตุผลเข้าข้างย้อนหลัง เหมือนกัน
https://www.patheos.com/blogs/tippling/2013/11/14/post-hoc-r...
https://www.researchgate.net/publication/316045349_Post_Hoc_...
คือคิดแบบไม่ใช้ภาษาไปก่อน แล้วค่อยทำให้เป็นคำพูดภายหลังด้วยเหตุผลที่ฟังดูสมจริง
ไม่ค่อยแน่ใจว่าสิ่งนี้ใช้กับการเขียนเชิงอภิปรายได้แค่ไหน
เพราะเวลาที่เขียน เราใช้กฎของตรรกะเป็นพื้นฐานในการกำหนดทิศทางของเรื่องเล่า ดังนั้น heuristic ที่ไม่เป็นภาษาก็น่าจะยังทำงานอยู่ แต่ถูกจำกัดไว้ เลยอาจไม่ใช่การหาเหตุผลย้อนหลังทั้งหมดเสียทีเดียว
มันน่าขมขื่นที่ Anthropic ซ่อนข้อมูลของตัวเองไว้แบบนั้น แต่กลับดูดข้อมูลของพวกคุณทั้งหมด และคนจำนวนมากก็ยินดียกให้
จากนั้นก็เอาไปสร้างผลิตภัณฑ์ของพวกคุณเอง เข้ามากินส่วนแบ่งตลาดและแข่งขัน
Anthropic ซ่อน reasoning token ของตัวเองเพราะเชื่อว่านั่นคือคูเมืองและเป็นข้อได้เปรียบเหนือแล็บอื่น
ถ้าพวกเขาเชื่อจริงว่านั่นคือความได้เปรียบของตัวเอง ก็คงได้เจอเรื่องน่าแปลกใจแน่
เลยอยากรู้ว่าคุณกำลังอ้างว่าพวกเขา “ดูดไป” เป็นผลิตภัณฑ์ไหนกันแน่
หรือจะบอกว่าเนื้อหาใน
reasoning_summaryเป็นของที่สรุปมาแล้วงั้นเหรอเอาจริง OpenAI ก็ทำเหมือนกัน และมันก็ไม่ได้ชวนตกใจหรือชั่วร้ายอะไรเป็นพิเศษ
พยายามซ่อนการคิดกันขนาดนี้ แต่พอ Opus 4.8 ไปถึง 100,000~200,000 โทเค็น มันกลับเริ่มทำการคิดของตัวเองรั่วออกมา
ตลกมากจริง ๆ
โดยเฉพาะเพราะปกติแล้วมักเกิดขึ้นตอนกำลัง jailbreak เพื่อจุดประสงค์ด้านความปลอดภัยด้วย เลยยิ่งงง
มีข้อความประมาณว่า “ผู้ใช้กำลังขออะไรบางอย่างที่เกี่ยวกับไซเบอร์ซีเคียวริตี้ และสิ่งนี้สามารถถูกดัดแปลงไปใช้เชิงรุกได้ง่าย ดังนั้นต้องระวัง” โผล่มาหลายหน้า ก่อนที่สุดท้ายมันก็ยอมให้สิ่งที่ผมต้องการอยู่ดี