วิธีตั้งค่า Output Style ใน Claude Code ให้ใช้งานได้จริง
เรียนรู้วิธีปรับแต่ง Output Style ใน Claude Code เพื่อเปลี่ยนรูปแบบการตอบกลับของ AI พร้อมวิธีแก้ไขปัญหาการตั้งค่าไม่แสดงผลเมื่อเปลี่ยนระหว่างเซสชันและการจัดการพื้นที่บน SSH
รูปแบบเอาต์พุตใน Claude Code คืออะไร
รูปแบบเอาต์พุต (output style) ใน Claude Code คือชุดคำสั่งที่ Claude Code จะผนวกเข้ากับ system prompt ของมัน ซึ่งจะเปลี่ยนวิธีการตอบคำถามของ Claude ทั้งในส่วนของบทบาทที่ใช้และรูปแบบของข้อความที่แสดงออกมา โดยรูปแบบนี้ไม่ได้สอนให้ Claude รู้จัก codebase ของคุณ และไม่สามารถให้สิทธิ์ Claude ในการรันคำสั่งใดๆ ได้
Claude Code มาพร้อมกับรูปแบบในตัว 5 รูปแบบ การตั้งค่าของคุณจะถูกเก็บไว้ในคีย์การตั้งค่า outputStyle ซึ่งคีย์นี้จะถูกอ่านเพียงครั้งเดียวเมื่อเริ่มเซสชัน ข้อเท็จจริงนี้เป็นสาเหตุของความสับสนส่วนใหญ่เกี่ยวกับฟีเจอร์นี้ เนื่องจากรูปแบบที่คุณเปลี่ยนระหว่างเซสชันจะถูกบันทึกไว้ แต่จะไม่มีผลจนกว่าคุณจะล้างเซสชันนั้น
บน VPS เรื่องนี้ไม่ใช่แค่ความชอบส่วนตัวในด้านความสวยงามเท่านั้น เนื่องจาก transcript คือสิ่งที่คุณอ่านผ่านการเชื่อมต่อ SSH (secure shell) ซึ่งมักจะอยู่ภายในหน้าต่าง tmux ดังนั้นทุกบรรทัดที่ Claude บรรยายคือบรรทัดที่คุณต้องรอและเป็นบรรทัดที่อยู่ใน scrollback buffer ซึ่งมีขนาดจำกัด
ตำแหน่งที่ตั้งของการตั้งค่า outputStyle
เลือกสไตล์จากเมนู /config ภายใต้หัวข้อ Output style โดย Claude Code จะบันทึกตัวเลือกของคุณลงใน .claude/settings.local.json ภายในโปรเจกต์ที่คุณกำลังทำงานอยู่
คำสั่ง /output-style แบบแยกเดี่ยวไม่มีอยู่อีกต่อไป คำสั่งนี้ถูกเลิกใช้งานใน v2.1.73 และถูกถอดออกใน v2.1.91 ดังนั้นในรุ่นปัจจุบันคำสั่งนี้จึงไม่ทำงานใดๆ ทั้งสิ้น โปรดตรวจสอบเวอร์ชันที่คุณใช้งานอยู่ก่อนปฏิบัติตามคู่มือเก่า เวอร์ชันที่ระบุในหน้านี้ได้รับการตรวจสอบแล้วในเดือนสิงหาคม 2026
claude --versionคุณสามารถตั้งค่าคีย์นี้ด้วยตนเองได้ โดยมีไฟล์การตั้งค่า 4 แห่งที่สามารถเก็บค่านี้ได้ และไฟล์ที่มีขอบเขตแคบกว่าจะมีผลเหนือกว่าไฟล์ที่มีขอบเขตกว้างกว่า
~/.claude/settings.jsonคือไฟล์ระดับผู้ใช้ของคุณ ซึ่งจะมีผลกับทุกโปรเจกต์บนเครื่องนั้น.claude/settings.jsonคือไฟล์ระดับโปรเจกต์ ซึ่งจะถูก commit ลงใน git ดังนั้นจึงมีผลกับทุกคนที่ clone repository นี้ไป.claude/settings.local.jsonคือไฟล์ระดับโปรเจกต์ในเครื่อง (local) ไฟล์นี้จะไม่ถูก commit และจะเขียนทับการตั้งค่าจากทั้งสองไฟล์ข้างต้น นี่คือไฟล์ที่เมนู/configเขียนข้อมูลลงไป- การตั้งค่าแบบจัดการโดยทีม IT ซึ่งถูกปรับใช้จาก path ของระบบ เช่น
/etc/claude-code/บน Linux จะมีผลเหนือการตั้งค่าอื่นๆ ทั้งหมด
ค่าของคีย์นี้คือชื่อของสไตล์:
{
"outputStyle": "Concise"
}สำหรับการใช้งานเพียงเซสชันเดียว ให้ส่งคีย์เดียวกันผ่านบรรทัดคำสั่ง โดยแฟล็ก --settings จะรับค่าเป็น path หรือสตริง JSON แบบ inline ซึ่งค่าเหล่านี้จะเขียนทับคีย์เดียวกันในไฟล์การตั้งค่าสำหรับการรันครั้งนั้นๆ:
claude --settings '{"outputStyle": "Concise"}'ป้ายกำกับเมนูและคำสั่ง slash มีการเปลี่ยนแปลงอย่างน้อยหนึ่งครั้งในช่วงอายุของฟีเจอร์นี้ แต่คีย์ outputStyle ไม่เคยเปลี่ยนแปลง เมื่อภาพหน้าจอในคู่มือใดๆ ไม่ตรงกับสิ่งที่คุณเห็น ให้ตั้งค่าคีย์โดยตรงและยืนยันด้วย /status ซึ่งจะแสดงรายการแหล่งที่มาของการตั้งค่าที่มีผลอยู่ในขณะนั้น
เหตุใดรูปแบบเอาต์พุตใหม่ของคุณจึงไม่มีผลจนกว่าจะทำการ clear
Claude Code จะสร้าง system prompt ขึ้นมาเพียงครั้งเดียวเมื่อเริ่มเซสชัน และรูปแบบเอาต์พุตก็เป็นส่วนหนึ่งของ system prompt นั้น ดังนั้นการเปลี่ยนการตั้งค่าในขณะที่เซสชันกำลังทำงานอยู่จะเป็นเพียงการจัดเก็บค่าไว้โดยไม่มีผลใดๆ ที่คุณจะสังเกตเห็นได้ เนื่องจากเซสชันที่กำลังทำงานอยู่จะยังคงส่ง prompt ที่สร้างไว้ตั้งแต่ตอนเริ่มต้นต่อไป รูปแบบใหม่จะถูกโหลดในการทำงานครั้งถัดไปของ /clear หรือการเปิดใช้งานครั้งถัดไป
/clear
/context/context จะแสดงสิ่งที่กำลังใช้พื้นที่ใน context window อยู่ในขณะนี้ โดยแบ่งตามหมวดหมู่ รวมถึง system prompt ด้วย ให้รันคำสั่งนี้ในเซสชันใหม่ภายใต้แต่ละรูปแบบ แล้วบรรทัด system prompt จะเป็นข้อมูลฝั่งอินพุตสำหรับการเปรียบเทียบของคุณ นอกจากนี้ยังเป็นวิธีที่เร็วที่สุดในการพิสูจน์ว่ารูปแบบที่กำหนดเองถูกโหลดเข้ามาแล้ว สำหรับภาพรวมที่กว้างขึ้นว่ามีอะไรบ้างที่เติมเต็มหน้าต่างนั้น โปรดดู วิธีการที่ context เต็มในเซสชัน Claude Code ที่ยาวนาน
มีเหตุผลที่การตั้งค่าต้องรอแทนที่จะนำไปใช้ทันที API จะให้บริการคำขอซ้ำจาก prompt cache ซึ่งจะจับคู่กับจุดเริ่มต้นของแต่ละคำขอ และ system prompt จะอยู่ที่จุดเริ่มต้นนั้นพอดี การเขียนทับ prompt กลางคันระหว่างการสนทนาจะทำให้ข้อมูลทั้งหมดที่อยู่เบื้องหลังไม่ถูกต้อง ดังนั้นการโต้ตอบครั้งถัดไปจะต้องประมวลผลประวัติทั้งหมดของคุณใหม่เสมือนเป็นอินพุตใหม่ การกำหนดรูปแบบไว้ตั้งแต่เริ่มเซสชันจะช่วยหลีกเลี่ยงค่าใช้จ่ายดังกล่าว การสลับรูปแบบนั้นทำได้ง่ายและประหยัด เพียงแค่ต้องทำการ clear เท่านั้น
สิ่งที่รูปแบบเอาต์พุตในตัวแต่ละแบบเปลี่ยนแปลงเกี่ยวกับบันทึกการทำงาน
- Default คือ system prompt ปกติของ Claude Code ซึ่งเขียนขึ้นสำหรับงานวิศวกรรมซอฟต์แวร์
- Concise จะนำเสนอผลลัพธ์ก่อน โดยจะตัดส่วนเกริ่นนำและคำบรรยายขั้นตอนการทำงานออก และรักษาคำตอบให้สั้นจนกว่าคุณจะสอบถามรายละเอียดเพิ่มเติม งานวิศวกรรมที่อยู่เบื้องหลังยังคงเหมือนเดิม รูปแบบนี้จะไม่ย่อรายงานข้อผิดพลาดหรือคำเตือนด้านความปลอดภัย และยังคงสอบถามอย่างครบถ้วนก่อนดำเนินการที่อาจก่อให้เกิดความเสียหาย รูปแบบนี้ต้องการ Claude Code v2.1.237 หรือใหม่กว่า
- Explanatory จะเพิ่ม "ข้อมูลเชิงลึก" (Insights) เพื่อการเรียนรู้แทรกระหว่างขั้นตอนของงาน โดยครอบคลุมถึงเหตุผลที่เลือกการใช้งานในรูปแบบนั้นๆ และรูปแบบ (pattern) ที่ codebase ของคุณใช้อยู่แล้ว บันทึกการทำงานจะมีความยาวมากขึ้นตามการออกแบบ
- Learning จะก้าวไปไกลกว่านั้น โดย Claude จะแบ่งปันข้อมูลเชิงลึกเหล่านั้นแล้วขอให้คุณเขียนโค้ดส่วนเล็กๆ ด้วยตัวเอง พร้อมทำเครื่องหมายแต่ละจุดด้วยคอมเมนต์
TODO(human)ในไฟล์ - Proactive ทำให้ Claude ลงมือทำแทนการสอบถาม โดยจะทำการตัดสินใจที่สมเหตุสมผลในงานประจำวันแทนที่จะหยุดเพื่อรอการยืนยัน
โปรดอ่านข้อสุดท้ายอย่างละเอียด เนื่องจากเป็นข้อที่คนมักเข้าใจผิด Proactive เป็นคำแนะนำใน system prompt ซึ่งจะเปลี่ยนสิ่งที่ Claude พยายามจะทำ แต่โหมดการอนุญาต (permission mode) ของคุณยังคงเป็นตัวตัดสินว่าสิ่งใดจะทำงานจริงโดยไม่ต้องสอบถาม ซึ่งเป็นการตั้งค่าที่มีความสำคัญบนเซิร์ฟเวอร์ที่คุณปล่อยให้ทำงานโดยไม่มีผู้ดูแล สิ่งนี้ครอบคลุมอยู่ใน โหมดอัตโนมัติและโหมดการอนุญาตของ Claude Code
ความแตกต่างระหว่างรูปแบบการแสดงผล, CLAUDE.md, hook และ subagent
พื้นฐานเหล่านี้ล้วนเป็นการกำหนดพฤติกรรมของ Claude แต่ทำงานในระดับที่แตกต่างกัน
- รูปแบบการแสดงผล (output style) จะถูกเพิ่มเข้าไปใน system prompt โดยจะมีผลกับทุกการตอบกลับในการสนทนาหลัก
- CLAUDE.md จะถูกเพิ่มเป็นข้อความของผู้ใช้ต่อจาก system prompt ซึ่งเป็นที่สำหรับเก็บข้อตกลงของโปรเจกต์และข้อเท็จจริงเกี่ยวกับ codebase
--append-system-promptจะเป็นการผนวกข้อความเข้ากับ system prompt สำหรับการเรียกใช้งานเพียงครั้งเดียวโดยไม่มีการลบข้อมูลใดๆ ออก ซึ่งเปรียบเสมือนรูปแบบการแสดงผลแบบใช้ครั้งเดียว- hook คือคำสั่ง shell ที่ Claude Code จะรันด้วยตัวเองเมื่อเกิดเหตุการณ์บางอย่างขึ้น โดยจะถูกบังคับโดย harness ดังนั้นมันจะทำงานไม่ว่า Claude จะเลือกทำหรือไม่ก็ตาม ดูรายละเอียดเพิ่มเติมที่ สิ่งที่ Claude Code hook ทำได้และทำไม่ได้
- subagent จะทำงานโดยใช้ system prompt และชุดเครื่องมือของตนเอง
การทดสอบสั้นๆ สามารถช่วยตัดสินใจเลือกระหว่างสองอย่างแรกได้ หากเป็นข้อเท็จจริงเกี่ยวกับโปรเจกต์ของคุณให้ใส่ไว้ใน CLAUDE.md เพราะ Claude จำเป็นต้องทราบข้อมูลเหล่านั้น หากเป็นเรื่องการใช้ถ้อยคำให้ใส่ไว้ในรูปแบบการแสดงผล เพราะเป็นเรื่องของวิธีการอ่านคำตอบ ส่วนสิ่งใดที่ต้องเกิดขึ้นทุกครั้งไม่ว่าโมเดลจะตัดสินใจอย่างไร ให้ใช้ hook
รูปแบบการแสดงผลจะมีผลเฉพาะกับการสนทนาหลักเท่านั้น subagent จะไม่สืบทอดรูปแบบของคุณเนื่องจากมันเริ่มการสนทนาใหม่ด้วย system prompt ของตนเอง ยกเว้นกรณีที่เป็นการ fork การสนทนาปัจจุบัน ซึ่งการ fork จะสืบทอด system prompt ของ parent มาโดยตรง หาก subagent เขียนในรูปแบบที่คุณไม่ชอบ ให้แก้ไขไฟล์ของ agent ตัวนั้นแทนการแก้ไขรูปแบบการแสดงผลของคุณ
วิธีการเขียนสไตล์ผลลัพธ์ของคุณเอง
สไตล์ผลลัพธ์แบบกำหนดเองคือไฟล์ markdown ที่มี frontmatter ให้บันทึกไฟล์ไว้ภายใต้ไดเรกทอรี home ของคุณเพื่อใช้งานในทุกโปรเจกต์ หรือบันทึกไว้ภายใน repository เพื่อเก็บไว้พร้อมกับโค้ด ไดเรกทอรีของผู้ใช้คือ ~/.claude/output-styles/ และไดเรกทอรีของโปรเจกต์คือ .claude/output-styles/
mkdir -p ~/.claude/output-styles
cat > ~/.claude/output-styles/terse-ops.md <<'EOF'
---
name: Terse ops
description: Command first, explanation after, for SSH sessions
keep-coding-instructions: true
---
Lead with the command or the file change. Put the explanation after it, in two sentences or fewer.
Do not narrate what you are about to do. Report what you did.
When a command can fail, print the one check that proves it worked and say what a healthy result looks like.
EOFเริ่มเซสชันและเปิด /config สไตล์ของคุณจะปรากฏในรายการ Output style พร้อมกับคำอธิบายที่คุณเขียนไว้ หากสไตล์ไม่ปรากฏขึ้น แสดงว่าระบบไม่ได้อ่านไฟล์ดังกล่าว ให้ตรวจสอบ path และตรวจสอบว่าบล็อก frontmatter --- เป็นส่วนแรกสุดของไฟล์ ชื่อไฟล์จะกลายเป็นชื่อสไตล์เว้นแต่จะมีการกำหนด name ไว้ใน frontmatter ดังนั้นไฟล์นี้จึงมีชื่อว่า Terse ops ไม่ใช่ terse-ops
เลือกสไตล์ดังกล่าว หรือตั้งค่าคีย์ให้เป็นชื่อนั้นโดยเฉพาะแล้วล้างข้อมูล:
{
"outputStyle": "Terse ops"
}มีหนึ่งฟิลด์ที่ตัดสินว่าไฟล์ของคุณเป็นการปรับแต่งหรือเป็นการแทนที่ keep-coding-instructions มีค่าเริ่มต้นเป็น false ซึ่งหมายความว่าสไตล์แบบกำหนดเองจะ ละทิ้ง คำแนะนำด้านวิศวกรรมซอฟต์แวร์ที่มีมาให้ในตัวของ Claude Code และทำงานโดยใช้ข้อความของคุณเพียงอย่างเดียว คำแนะนำที่มีมาให้เหล่านั้นคือสิ่งที่บอก Claude ว่าจะกำหนดขอบเขตการเปลี่ยนแปลงอย่างไรและจะตรวจสอบงานของตนเองอย่างไร ให้ละฟิลด์นี้ไว้สำหรับผู้ช่วยเขียนหรือนักวิเคราะห์ข้อมูลซึ่งไม่จำเป็นต้องใช้คำแนะนำดังกล่าว แต่ให้ตั้งค่าเป็น true สำหรับงานใดก็ตามที่ยังเกี่ยวข้องกับโค้ด มิฉะนั้นคุณจะสงสัยว่าเหตุใดวิศวกรที่รอบคอบจึงหยุดตรวจสอบงานของตนเองกะทันหัน
description คือบรรทัดที่ตัวเลือก /config แสดงไว้ข้างชื่อสไตล์ ให้เขียนคำอธิบายสำหรับช่วงเวลาที่คุณต้องเลือกระหว่างสไตล์สองแบบที่คุณสร้างขึ้นเองในอีกหกเดือนข้างหน้า
เหตุผลที่สไตล์แบบกระชับ (Concise) แตกต่างเมื่อใช้งานผ่าน SSH
บน VPS คุณอ่านบันทึกการทำงานผ่านเลเยอร์หลายชั้นที่เทอร์มินัลในเครื่องไม่มี และแต่ละเลเยอร์มีต้นทุนจากความยาวของข้อความ
Scrollback คือเลเยอร์แรก ใน tmux แต่ละ pane จะเก็บจำนวนบรรทัดที่กำหนดไว้ตายตัวด้วย history-limit ซึ่งค่าเริ่มต้นคือ 2000 บันทึกการทำงานที่มีการบรรยายจะทำให้บัฟเฟอร์เต็มเร็วขึ้น ส่งผลให้ส่วนต้นของเซสชันถูกลบออกไปก่อนกำหนด และข้อมูลที่คุณต้องการเลื่อนกลับไปดูจะหายไป หากต้องการพื้นที่เพิ่มให้ปรับค่านี้:
echo 'set -g history-limit 20000' >> ~/.tmux.conf
tmux source-file ~/.tmux.confPane ที่สร้างขึ้นหลังจากนี้จะเก็บได้ 20000 บรรทัดต่อ pane โดยแลกกับหน่วยความจำที่ใช้ต่อ pane ส่วน pane ที่เปิดอยู่ก่อนแล้วจะยังคงใช้ขีดจำกัดเดิม เนื่องจากขนาดบัฟเฟอร์ถูกกำหนดไว้ตั้งแต่ตอนสร้าง pane หากคุณกำลังจัดวางเลย์เอาต์ของเซสชัน การรัน Claude Code ภายใน tmux บน VPS มีรายละเอียดเรื่องนี้
Latency คือเลเยอร์ที่สอง ข้อมูลตอบกลับจะถูกสตรีมเข้าสู่เทอร์มินัลของคุณในขณะที่กำลังสร้างขึ้น บนการเชื่อมต่อที่มีค่า round-trip time สูง คำเกริ่นนำที่ยาวเหยียดคือเวลาที่คุณต้องเสียไปกับการรอให้ข้อความปรากฏขึ้นก่อนที่คำตอบจริงจะแสดง
Output tokens คือเลเยอร์ที่สาม ทุกบรรทัดที่มีการบรรยายจะถูกคิดค่าใช้จ่ายเป็น output สไตล์ Explanatory และ Learning ถูกออกแบบมาให้มีความยาว ส่วน Concise ถูกออกแบบมาให้สั้นโดยตั้งใจ เพราะเป็นการสั่งให้ Claude ตอบกลับให้สั้นที่สุดโดยค่าเริ่มต้น
อย่าเชื่อตัวเลขเปอร์เซ็นต์จากใคร รวมถึงหน้านี้ด้วย ขนาดของความแตกต่างขึ้นอยู่กับ prompt, โมเดล และงานที่คุณสั่ง ดังนั้นให้วัดผลด้วยตัวเองก่อนและหลังใช้งาน ให้รันงานจริงงานเดียวกันในสองเซสชันที่แยกกัน โดยเซสชันหนึ่งใช้ Default และอีกเซสชันใช้ Concise จากนั้นจึงเปรียบเทียบกัน Statusline เป็นเครื่องมือวัดที่ง่ายที่สุด เพราะ Claude Code จะส่ง JSON object เข้าสู่ stdin ของสคริปต์คุณ ซึ่งมีทั้งชื่อสไตล์และจำนวน token อยู่แล้ว:
cat > ~/.claude/statusline.sh <<'EOF'
#!/bin/bash
input=$(cat)
style=$(echo "$input" | jq -r '.output_style.name // "default"')
out=$(echo "$input" | jq -r '.context_window.total_output_tokens // 0')
cost=$(echo "$input" | jq -r '.cost.total_cost_usd // 0')
echo "style=$style out=$out cost=$cost"
EOF
chmod +x ~/.claude/statusline.shชี้การตั้งค่า statusLine ไปที่สคริปต์นั้น:
{
"statusLine": {
"type": "command",
"command": "~/.claude/statusline.sh"
}
}แถบที่ด้านล่างของเซสชันจะแสดงสไตล์ที่ใช้งานอยู่ข้างๆ จำนวน token ที่สร้างขึ้น ซึ่งเป็นข้อมูลก่อนและหลังที่คุณต้องการ สคริปต์นี้จำเป็นต้องใช้ jq ซึ่งเป็น command-line JSON parser ดังนั้นให้ติดตั้งก่อนด้วย sudo apt install -y jq หากแถบยังคงว่างเปล่า ให้ลองรันสคริปต์ด้วยตัวเองแล้ว pipe ข้อมูล JSON เข้าไป เพราะ statusline ที่ exit ด้วยสถานะ non-zero จะไม่แสดงผลและไม่รายงานข้อมูลใดๆ Statusline แบบกำหนดเองสำหรับ Claude Code แสดงรายการฟิลด์ที่เหลือใน object นั้น สำหรับด้านค่าใช้จ่ายแทนที่จะเป็นด้านเซสชัน ให้อ่าน token ของ Claude Code ถูกใช้ไปที่ไหนบ้าง และ เครื่องมือสำหรับติดตามค่าใช้จ่ายของ Claude Code
วิธีตรวจสอบว่ารูปแบบเอาต์พุตใดที่ถูกโหลดใช้งานจริง
ให้ใช้การตรวจสอบเหล่านี้แทนการคาดเดา
/statusจะแสดงรายการแหล่งที่มาของการตั้งค่าที่มีผลในเซสชันนี้ รวมถึงระบุว่ามีการใช้การตั้งค่าที่จัดการโดยองค์กรอยู่หรือไม่/contextจะแสดง system prompt ที่ถูกโหลดไว้เป็นหมวดหมู่หนึ่งในการแจกแจงหน้าต่างบริบท (context window)claude doctorเมื่อรันจากเชลล์โดยไม่ต้องเริ่มเซสชัน จะแสดงข้อมูลการวินิจฉัยการติดตั้งและการตั้งค่า พร้อมทั้งรายงานไฟล์การตั้งค่าที่ไม่ถูกต้อง
เมื่อรูปแบบที่เลือกไม่มีผล สาเหตุส่วนใหญ่มักเกิดจากสองกรณี กรณีแรกคือคุณเปลี่ยนรูปแบบระหว่างเซสชัน ให้รันคำสั่ง /clear กรณีที่สองคือลำดับความสำคัญ: .claude/settings.local.json จะแทนที่ .claude/settings.json และทั้งสองอย่างจะแทนที่ ~/.claude/settings.json เนื่องจากตัวเลือก /config จะเขียนข้อมูลลงในไฟล์ภายในเครื่อง รูปแบบที่ทีมของคุณกำหนดไว้ใน .claude/settings.json จึงถูกแทนที่อย่างเงียบๆ บนเครื่องใดก็ตามที่มีการใช้งานเมนูนี้ไปแล้ว /status คือคำสั่งที่จะบอกคุณว่าแหล่งที่มาใดเป็นฝ่ายชนะ
ข้อผิดพลาดทางไวยากรณ์ JSON จะแสดงอาการแบบเดียวกันแต่มีวิธีแก้ไขที่ต่างออกไป claude doctor จะระบุชื่อไฟล์ที่ไม่สามารถแยกวิเคราะห์ (parse) ได้ ซึ่งควรตรวจสอบก่อนที่คุณจะไปหาสาเหตุที่ซับซ้อนกว่านั้น
FAQ
ทำไมคำสั่ง /output-style ถึงใช้งานไม่ได้แล้ว?
คำสั่งดังกล่าวถูกยกเลิกการใช้งานใน v2.1.73 และถูกถอดออกใน v2.1.91 ดังนั้นใน build ตั้งแต่ช่วงกลางปี 2026 เป็นต้นไป คำสั่งนี้จึงไม่มีอยู่แล้ว ให้รัน claude --version เพื่อตรวจสอบสิ่งที่คุณมีอยู่ เลือกสไตล์จาก /config ภายใต้หัวข้อ Output style หรือตั้งค่าคีย์ outputStyle ในไฟล์ตั้งค่า คีย์นี้ยังคงใช้งานได้หลังจากคำสั่งถูกถอดออกไป ดังนั้นการตั้งค่าโดยตรงจึงเป็นวิธีที่ควรจดบันทึกไว้ใช้งาน
ฉันเปลี่ยนสไตล์การแสดงผลแล้วแต่ไม่มีอะไรเกิดขึ้น เพราะเหตุใด?
สไตล์การแสดงผลเป็นส่วนหนึ่งของ system prompt และ Claude Code จะสร้าง system prompt ขึ้นมาเพียงครั้งเดียวเมื่อเริ่ม session การเปลี่ยนแปลงที่ทำระหว่าง session จะถูกบันทึกไว้แต่ยังไม่มีผล เนื่องจาก session ที่กำลังทำงานอยู่จะส่ง prompt ที่สร้างไว้ตั้งแต่ตอนเริ่มต้นตลอดเวลา ให้รัน /clear หรือเริ่ม session ใหม่ หากยังไม่มีผล ให้รัน /status เพื่อดูว่าแหล่งตั้งค่าใดมีผลเหนือกว่า เนื่องจาก .claude/settings.local.json จะแทนที่ .claude/settings.json และทั้งสองค่าจะแทนที่ ~/.claude/settings.json
สไตล์การแสดงผลแบบ Concise ช่วยประหยัดค่าใช้จ่ายหรือไม่?
สไตล์นี้ช่วยลดจำนวน output token ตามที่คุณคาดหวัง เพราะเป็นการสั่งให้ Claude ตอบกลับให้สั้นลงโดยค่าเริ่มต้น ปริมาณที่ลดลงจะขึ้นอยู่กับ prompt และโมเดลที่คุณใช้ ดังนั้นให้ถือว่าเปอร์เซ็นต์ที่เผยแพร่ทั่วไปเป็นการวัดผลจากงานของผู้อื่นเท่านั้น คุณควรวัดผลด้วยตนเองโดยรัน /context ใน session ใหม่ภายใต้แต่ละสไตล์สำหรับฝั่ง input จากนั้นรันงานเดียวกันภายใต้แต่ละสไตล์แล้วเปรียบเทียบจำนวน output token สไตล์ Concise จะไม่ทำให้รายงานข้อผิดพลาดหรือคำเตือนด้านความปลอดภัยสั้นลง ดังนั้นเนื้อหาส่วนที่คุณจำเป็นต้องอ่านมากที่สุดจะยังคงอยู่ครบถ้วน
การเปลี่ยนสไตล์การแสดงผลจะส่งผลต่อวิธีการเขียนของ subagent หรือไม่?
ไม่ สไตล์การแสดงผลจะมีผลเฉพาะกับการสนทนาหลักเท่านั้น เนื่องจาก subagent จะเริ่มการสนทนาของตนเองด้วย system prompt และชุดเครื่องมือของตนเอง การแยกสาขา (fork) ของการสนทนาปัจจุบันเป็นข้อยกเว้น เนื่องจาก fork จะสืบทอด system prompt มาจาก parent โดยตรง หากต้องการเปลี่ยนวิธีการตอบกลับของ subagent ให้แก้ไขไฟล์ของ agent ตัวนั้นโดยเฉพาะ
สไตล์การแสดงผลสามารถทำให้ Claude รันคำสั่งโดยไม่ถามได้หรือไม่?
ไม่ได้ สไตล์การแสดงผลเป็นเพียงข้อความใน system prompt จึงมีอิทธิพลได้เพียงสิ่งที่ Claude พยายามจะทำเท่านั้น สไตล์ Proactive ทำให้ Claude คาดการณ์และลงมือทำแทนที่จะหยุดรอการตัดสินใจในงานทั่วไป แต่ก็ยังไม่สามารถอนุมัติคำสั่งได้ด้วยตนเอง โหมดการอนุญาต (permission mode) ของคุณจะเป็นตัวตัดสินว่าคำสั่งใดจะรันโดยไม่ต้องรอการยืนยัน และนั่นคือการตั้งค่าที่คุณควรตรวจสอบก่อนที่จะปล่อยให้ session ทำงานทิ้งไว้บนเซิร์ฟเวอร์