โมเดลกับ effort level ใน Claude Code สองปุ่มที่ทำงานคนละอย่าง แต่คนมักปรับผิดปุ่ม
Claude Code มีปุ่มปรับอยู่สองปุ่มที่แยกกัน คือโมเดลที่กำหนดว่า AI เก่งแค่ไหน กับ effort level ที่กำหนดว่ามันทำงานละเอียดแค่ไหน พอแยกสองปุ่มนี้ออกได้ เวลา AI ตอบผิดจะรู้ทันทีว่าควรเปลี่ยนโมเดล หรือแค่สั่งให้มันตั้งใจกว่าเดิม

Claude Code (เครื่องมือ AI ที่ช่วยเขียนและแก้โค้ดผ่านหน้า terminal หรือหน้าจอพิมพ์คำสั่ง) มีปุ่มปรับอยู่สองปุ่มที่แยกจากกัน ไม่ใช่ปุ่มเดียวอย่างที่หลายคนเข้าใจ
ปุ่มแรกคือ โมเดล ที่กำหนดว่าจะให้สมองชุดไหนมาตอบ เก่งแค่ไหน รู้มากแค่ไหน อีกปุ่มคือ effort level หรือระดับความทุ่มเท ที่กำหนดว่าแต่ละคำสั่ง Claude จะลงแรงทำงานให้ละเอียดแค่ไหน เรามักนึกถึงแต่ปุ่มแรก พอ AI ตอบผิดก็รีบไปหาโมเดลที่แรงกว่า แต่เวลามันพลาด สาเหตุเป็นไปได้สองแบบ คือมัน รู้ไม่พอ หรือมัน พยายามไม่พอ และสองอาการนี้แก้กันคนละปุ่ม
โมเดลกำหนดเพดานว่าเก่งได้แค่ไหน
โมเดลคือชุด weights หรือค่าตัวเลขจำนวนมหาศาลที่กำหนดไว้ตอนเทรนโมเดล เป็นตัวเลขหลักพันล้านตัวที่เรียงอยู่ในตาราง ค่าพวกนี้ตายตัว อ่านได้อย่างเดียวแต่แก้ไม่ได้ ต่อให้พิมพ์อะไรลงใน prompt (คำสั่งที่เราพิมพ์ให้) ใส่อะไรใน CLAUDE.md (ไฟล์ที่บอก Claude ว่าโปรเจกต์นี้เป็นยังไง) หรือโยนโค้ดเข้าไปในบทสนทนามากแค่ไหน ค่าพวกนี้ก็ไม่ขยับ
เวลา Claude ทำงาน มันไม่ได้ "อ่าน" ข้อความแบบเรา แต่แตกข้อความออกเป็นชิ้นเล็กๆ ที่เรียกว่า token แล้วแปลงแต่ละชิ้นเป็นตัวเลขก่อน จากนั้นมันเดาทีละ token ว่าตัวถัดไปควรเป็นอะไร โดยให้ค่าความน่าจะเป็นกับทุกตัวเลือก เช่น พอเห็น const x = await ตัวถัดไปมีโอกาสสูงมากที่จะเป็น fetch และแทบเป็นศูนย์ที่จะเป็นคำว่า banana
มันทำแบบนี้ทีละ token จริงๆ คือเดาตัวหนึ่ง เติมลงไป แล้วคำนวณใหม่ทั้งหมดเพื่อเดาตัวถัดไป คำตอบยาว 200 token จึงเท่ากับการวนคำนวณผ่าน weights 200 รอบ นี่แหละคือที่มาของทั้งเวลาที่ต้องรอและต้นทุนของคำตอบ ส่วนสิ่งที่ตัดสินความน่าจะเป็นในทุกรอบคือ weights ที่ตายตัวนั่นเอง มันเก็บทุกอย่างที่โมเดล "รู้" ตั้งแต่ความรู้เรื่องการเขียนโปรแกรมทั่วไป ไปจนถึงความคุ้นเคยกับ framework (ชุดเครื่องมือสำเร็จรูปสำหรับเขียนโปรแกรม) ต่างๆ ณ ตอนที่เทรน
การเอาโค้ดจริงหรือเอกสารของ library (คลังโค้ดสำเร็จรูป) ตัวใหม่มาวางไว้ตรงหน้า ช่วย "ชี้ทาง" คำตอบรอบนั้นได้ก็จริง แต่ไม่ได้เพิ่มอะไรเข้าไปใน weights เลย มันมีผลแค่กับคำขอครั้งนั้น ไม่ได้สอนอะไรให้โมเดลจำแบบถาวร นี่คือเหตุผลว่าทำไม Claude ถึง hallucinate หรือแต่งข้อมูลที่ไม่มีจริงขึ้นมาอย่างมั่นใจ เช่นเรียกใช้ฟังก์ชันของ API (ช่องทางให้โปรแกรมคุยกัน) ที่ไม่เคยมีอยู่ มันไม่ได้ค้นหาแล้วหาไม่เจอ แต่มันปั้น token ที่ดู "เข้าท่า" ออกมาจากรูปแบบที่เคยเห็นตอนเทรน
เพราะฉะนั้นโมเดลตัวใหญ่จะรับมือกับความกำกวมได้ดีกว่า เพราะมันเคยเห็นอะไรมามากกว่า ส่วนโมเดลตัวเล็กจะทำงานได้ดีเมื่อเราสั่งแบบเจาะจงชัดเจน ยิ่งบอกละเอียดเท่าไร มันยิ่งทำได้ดีเท่านั้น สรุปคือปุ่มโมเดลเลือกว่าจะให้ weights ชุดไหนมาตอบ และแต่ละ token แพงแค่ไหน แต่มันไม่ได้ตัดสินว่าจะสร้าง token ออกมากี่ตัว เรื่องนั้นเป็นหน้าที่ของอีกปุ่ม
effort คือ Claude จะลงแรงกับงานแค่ไหน
หลายคนเข้าใจว่า effort level คือ "เวลาคิด" อย่างเดียว แต่จริงๆ มันคุมมากกว่านั้น มันกำหนดว่า Claude จะเปิดอ่านไฟล์กี่ไฟล์ จะตรวจทานงานตัวเองมากแค่ไหน และจะดันงานหลายขั้นตอนไปไกลแค่ไหนก่อนหันกลับมาถามเรา ถ้าตั้ง effort สูง Claude จะลงมือทำหลายอย่างก่อนส่งคำตอบ ทั้งเปิดไฟล์อ่าน รันเทสต์ (ทดสอบโค้ด) และตรวจซ้ำอีกรอบ ส่วน effort ต่ำ มันจะเลือกถามเราเพื่อขอบริบทเพิ่ม แทนที่จะกิน token ไปนั่งเดาเอาเองคนเดียว
ที่น่าสนใจคือ effort ไม่ใช่กลไกแยกที่เอามาครอบไว้อีกชั้น ระบบส่งค่า effort ไปให้โมเดลพร้อมกับ prompt ในคำขอเดียวกัน และโมเดลก็เรียนรู้มาตั้งแต่ตอนเทรนแล้วว่าต้องทำตัวต่างกันในแต่ละระดับ effort พฤติกรรมนี้ฝังอยู่ใน weights ที่ตายตัวนั่นแหละ ไม่ได้เป็นสวิตช์ที่มาติดทีหลัง
ผลของ effort เห็นชัดที่สุดจากปริมาณงานที่ Claude ทำ ถ้าใช้ prompt เดียวกันเป๊ะ แต่รันที่ effort สูง อาจสร้าง token ออกมามากกว่าเดิมราวเจ็ดเท่าเพื่อไปให้ถึงคำตอบที่มั่นใจกว่า (ตัวเลขนี้เป็นภาพประกอบให้เห็นสัดส่วนคร่าวๆ ไม่ใช่ตัวเลขทดสอบจริง) ตรงนี้ควรรู้ไว้ด้วยว่าทุกอย่างที่ Claude สร้างออกมา ไม่ว่าจะเป็นส่วนที่มันคิด (reasoning ที่แสดงออกมาให้เห็น) คำสั่งเรียกเครื่องมือ หรือข้อความที่พิมพ์ตอบเรา ล้วนนับเป็น token ที่คิดเงินในอัตราเดียวกันหมด effort ยิ่งสูงจึงยิ่งมีโอกาสใช้ token มากขึ้น
แต่ effort สูงไม่ได้แปลว่าจะกิน token เยอะขึ้นในทุกงานเสมอไป สมมติมันวางแผนตรวจสามจุดเพื่อไล่หาบั๊ก แล้วเจอตั้งแต่จุดแรก มันจะข้ามอีกสองจุดที่ไม่จำเป็น แล้วบอกตรงๆ ว่าเจอตั้งแต่จุดแรก ในหน้าจอ Claude Code เราจะเห็นมันปรับรายการงานกลางคันแบบนี้ได้จริง ซึ่ง Anthropic (บริษัทผู้พัฒนา Claude) ระบุว่าตั้งใจเทรนโมเดลมาไม่ให้ "คิดมากเกินจำเป็น" เพื่อไม่ให้การตั้ง effort สูงทำให้สิ้นเปลือง token เกินจำเป็นในงานง่ายๆ
ผู้เชี่ยวชาญ ผู้รู้จริง กับคนเก่งรอบด้าน

ถ้าอยากเห็นภาพสองปุ่มนี้พร้อมกัน ให้มองโมเดลเป็น "คน" คนละแบบ Sonnet คือคนเก่งรอบด้านที่ทำได้แทบทุกอย่าง Opus คือผู้เชี่ยวชาญตัวจริง ส่วน Fable คือผู้เชี่ยวชาญเฉพาะทางที่เคยผ่านโจทย์ยากๆ ที่แทบไม่มีใครเคยเจอ ส่วน effort level ก็คือ "เวลา" ที่เราให้แต่ละคนใช้กับงานของเรา
Opus ที่ effort ต่ำ จึงเหมือนได้คุยกับผู้เชี่ยวชาญห้านาที เขารู้ลึกรู้กับดักเยอะ แต่เพิ่งกวาดตาดูโค้ดผ่านๆ ยังไม่ได้อ่านละเอียด กลับกัน Sonnet ที่ effort สูง เหมือนให้คนเก่งรอบด้านทุ่มทั้งบ่ายไปกับงานชิ้นเดียว อ่านทุกอย่าง ลองรันจริง ตรวจซ้ำ และเข้าใจโค้ดตรงหน้าอย่างทะลุปรุโปร่ง แต่เขาไม่มีประสบการณ์แบบ "อ๋อ เคสนี้เคยเจอมาก่อน" ติดตัวมาเท่าผู้เชี่ยวชาญ ส่วน Fable แม้อยู่ที่ effort ต่ำ ก็เหมือนผู้เชี่ยวชาญเฉพาะทางที่ชำเลืองมองโจทย์ที่คนอื่นติดกันทั้งวง แล้วมองออกในสิ่งที่ไม่มีใครมองเห็น ความสามารถระดับนั้นแลกมาด้วยราคาที่แพงที่สุด เลยควรเก็บไว้ใช้กับงานที่ต้องการมันจริงๆ
โมเดลบอกคร่าวๆ ว่าเก่งแค่ไหน ส่วน effort บอกคร่าวๆ ว่าละเอียดแค่ไหน และงานจริงส่วนใหญ่ต้องใช้ทั้งสองผสมกัน
เลือกโมเดลตัวไหน ตอนไหน
หลักง่ายๆ คือเลือกโมเดลตัวใหญ่กับ โจทย์ที่ยากจริง เช่นบั๊กที่ซ่อนลึก งานในสายที่ไม่คุ้น การตัดสินใจเรื่องสถาปัตยกรรมของระบบ หรือกรณีที่ป้อนบริบทดีแล้ว แต่โมเดลตัวเล็กยังมั่นใจว่าถูกทั้งที่ผิด งานพวกนี้ต้องการตัวที่รับมือความกำกวมได้ดี
ส่วนงานประจำที่อธิบายเป็นขั้นเป็นตอนได้ชัด เช่นแก้โค้ดตามที่สั่งเป๊ะๆ งานซ้ำๆ ตามขั้นตอน หรือถามเรื่องโค้ดที่อยู่ในบทสนทนาอยู่แล้ว เลือกโมเดลตัวเล็กได้เลย เพราะไม่มีเหตุผลต้องจ่ายค่าความเก่งที่ไม่ได้ใช้ ถ้าปล่อยให้ตัวใหญ่ทำงานประจำมานาน ลองลดลงมาเป็นตัวเล็กดู จะเร็วขึ้นและมักประหยัดลงโดยที่คุณภาพงานไม่ได้ตก
เรื่องราคามีจุดที่คนมักเข้าใจผิด ถ้าเป็นงานประจำและตั้ง effort เท่ากัน ทั้งตัวเล็กและตัวใหญ่มักทำถูกทั้งคู่ แต่ตัวใหญ่จะกิน token มากกว่าเพราะตรวจซ้ำเยอะกว่า แถมราคาต่อ token ก็แพงกว่า ใช้ตัวเล็กกับงานประจำจึงประหยัดเงินได้จริงโดยไม่เสียคุณภาพ
พอเป็นงานยากหลายขั้นตอน ผลกลับตรงกันข้าม โมเดลตัวเล็กจะวนแก้ไปเรื่อยๆ จนเกือบสุดความสามารถของมัน ขณะที่ตัวใหญ่ไปถึงคุณภาพเดียวกันได้ในไม่กี่ขั้น สุดท้ายตัวใหญ่ที่ราคาต่อ token แพงกว่า กลับอาจจบงานถูกกว่าเมื่อคิดเป็นรายชิ้น และปลายสุดของสเกลคือ Fable ซึ่งเป็นตัวที่ทิ้งห่างที่สุดในงานยาวหลายขั้น ในการทดสอบ มันทำงานบางอย่างจบได้ทั้งที่ Opus และ Sonnet ไปไม่ถึงไม่ว่าจะดัน effort แค่ไหน แต่ก็แลกมาด้วยราคาต่อ token ที่สูงที่สุดเช่นกัน
effort ปล่อยไว้ที่ค่าเริ่มต้นก็พอ
สำหรับ effort คำแนะนำยิ่งตรงไปตรงมา งานส่วนใหญ่ให้ใช้ค่าเริ่มต้น (default) ของโมเดลนั้นๆ ไปเลย มองว่าเป็นการตั้งค่าประจำตัวที่เลือกให้เข้ากับลักษณะงานที่เราทำบ่อยๆ มากกว่าจะมานั่งปรับใหม่ทีละงาน
ข้อดีคือค่าเริ่มต้นของโมเดลรุ่นใหม่ๆ ให้ผลลัพธ์ดีขึ้นเรื่อยๆ อย่าง Claude Opus 4.8 ที่ค่า effort เริ่มต้น ให้ผลลัพธ์ดีกว่า Claude Opus 4.7 ที่ค่าเริ่มต้นเหมือนกันในงานเดียวกัน โดยใช้ token พอๆ กัน แปลว่าหลายครั้งแค่ใช้ค่าเริ่มต้นของรุ่นใหม่ ก็ได้ผลลัพธ์ดีขึ้นโดยไม่ต้องทำอะไรเพิ่ม
ถ้าอยากคุมความยาวของคำตอบจริงๆ ตัวที่เป็นขีดจำกัดตายตัวมีอยู่ตัวเดียวคือ max_tokens ที่จะตัดคำตอบทิ้งกลางประโยคเมื่อชนเพดาน แต่มันเป็นเครื่องมือหยาบๆ และเหมาะกับนักพัฒนาสาย API มากกว่าคนใช้ทั่วไป สำหรับเราที่ใช้งานปกติ วิธีที่ยืดหยุ่นกว่าคือ task budgets (การกำหนดงบของงานไว้เป็นคำแนะนำ) หรือแค่บอกใน prompt ตรงๆ ว่าให้ตอบสั้นๆ ก็ได้ เพราะโมเดลเรียนรู้มาตั้งแต่ตอนเทรนว่าควรทำตามคำแนะนำแบบนี้ พอใกล้จบมันจะค่อยๆ สรุป ไม่ใช่โดนตัดด้วยขีดจำกัดตายตัว
พอมันพลาด ให้ถามสองคำถามนี้

เวลา Claude ทำงานพลาด อย่าเพิ่งรีบไปหมุนปุ่มโมเดลหรือ effort ให้ดู บริบท ก่อนว่า prompt คลุมเครือไปไหม เชื่อมต่อเครื่องมือหรือ skill (ชุดความสามารถเสริมที่ต่อเพิ่มได้) ที่มันต้องใช้ครบหรือยัง หลายครั้งปัญหาแก้ได้ตั้งแต่ต้นทางตรงนี้ ก่อนจะไปแตะสองปุ่มด้วยซ้ำ ถ้าบริบทครบแล้วมันยังพลาด ค่อยถามสองคำถามนี้ตามลำดับ
- มันรู้ไม่พอหรือเปล่า ถ้าให้บริบทครบแล้ว มันตั้งใจทำเต็มที่แล้ว แต่ก็ยังผิด แปลว่าเพดานความเก่งไม่พอ ให้ขยับไปโมเดลที่ใหญ่กว่า
- มันพยายามไม่พอหรือเปล่า ถ้ามันผิดเพราะข้ามไฟล์ที่ควรอ่าน ไม่ได้รันเทสต์ หรือไม่ได้ตรวจซ้ำ แปลว่าตั้ง effort ไว้ต่ำไป ให้ดันขึ้น ข้อนี้จะเห็นผลชัดเวลาตั้ง effort ไว้ต่ำกว่าค่าเริ่มต้นของโมเดล
สองคำถามนี้เอาไปใช้ได้ทันที ครั้งหน้าที่คำตอบออกมาไม่เข้าเป้า ลองไล่ตามลำดับดู เช็กบริบทก่อน แล้วถามว่ามันรู้ไม่พอ หรือมันพยายามไม่พอ แล้วค่อยหมุนปุ่มที่ตรงกับอาการ
เพราะปุ่มที่แรงที่สุดไม่ใช่ปุ่มที่ถูกต้องเสมอ ปุ่มที่ถูกต้องคือปุ่มที่ตรงกับสิ่งที่งานตรงหน้ากำลังขาดอยู่
ที่มา: บทความ Choosing a Claude model and effort level in Claude Code จาก Anthropic



