ทำความเข้าใจ Features ใน Claude Code
Table of Contents
Claude Code เป็น dev tool ที่ผมใช้บ่อยที่สุดในการทำงาน หรือบางทีก็ช่วยในงานอื่นๆที่ไม่เกี่ยวกับการเขียน code ไปแล้วด้วย เพราะความที่มันอยู่บน terminal สามารถเข้าถึงได้ง่ายจากที่ folder ไหนก็ได้ แล้วก็ทำงานตรงนั้นได้เลย แถมมี feature ให้ใช้เยอะมากพอที่จะเอามาผสมกันเพื่อช่วยให้จัดการงานบางอย่างได้ง่ายๆ เช่น ส่วนตัวผมเอามาออก quotation, invoice เวลารับงาน freelance แบบไม่ต้องออกแรง (แต่นี่ไม่ใช่สิ่งที่จะเล่าวันนี้!)
ถึงแม้ feature ที่ให้มาเยอะมันจะดี แต่ปัญหาคือมันเยอะจนงง!!
- Skills
- MCP
- Slash Command
- Subagent
แล้วแต่ละอย่างก็ทำงานแบบคาบเกี่ยวกันได้ด้วย ก็เลยไปท่อง Youtube เพื่อดูว่ามีคนเป็นเหมือนกันไหมแล้วก็เจอช่อง IndyDevDan ทำสรุปไว้น่าสนใจเลยทีเดียวใน “I finally CRACKED Claude Agent Skills (Breakdown For Engineers)” ไปตามดูเต็มๆกันได้
แต่ถ้าใครขี้เกียจนั่งดูยาวๆครึ่งชั่วโมง ลองมาอ่านที่ผมสรุปให้ในแต่ละ feature เลยแล้วกัน โดยส่วนสำคัญคือผมจะบอกว่า มันใช้ทำอะไรได้บ้าง แล้วก็เมื่อไหร่ควรเรียกใช้ feature พร้อมกับเสริมบางอย่างจากประสบการณ์ตัวเองด้วยนะครับ
1. Skill: ชุดความรู้ที่อัดมาใน folder เดียวพร้อมเครื่องมือส่วนตัวในกระเป๋า #
ใช้เมื่อไหร่ #
เมื่อต้องการทำ workflow ซ้ำๆ มีหลายขั้นตอน แต่มันก็คือ flow เดิมๆ รูปแบบเดิม หรือแม้แต่ต้องการ output format ที่เหมือนเดิมตลอด เช่น งานออก invoice ที่ agent สามารถอ่าน requirement บน pdf -> สรุปออกมาเป็นรายการในเอกสาร -> เรียกใช้ script generate pdf -> ร่าง email ส่ง quotation
โดยที่ทั้งหมดนี้ทำงานอยู่บน primary context ทำให้หลังจากจบงานนี้แล้ว agent จะยังจำได้ว่าทำอะไรลงไปบ้าง
จุดเด่นของ Skill #
มันมีความแยกตัวเองออกมาจาก codebase เราได้อย่างชัดเจน เพราะมี folder ของตัวเอง มี script ที่สำหรับ execute task เป็นของตัวเองได้ และที่สำคัญ skill มี level ของการเข้าถึงจาก primary agent หลายชั้น เช่น แทนที่จะ load ทุกอย่างที่ skill มีเข้ามาใน primary context เหมือน MCP ที่ต้องเอา tools ทั้งมาก่อน ตัวนี้ไม่ใช่ เราจะเสีย context token ไปแค่ metadata เล็กๆไม่ถึง 100 tokens ถ้าเขียนดีๆนะ
2. Subagent: สร้างน้องๆที่รู้หน้าที่เฉพาะของตัวเอง ที่เกิดมาเพื่องาน parallel #
ใช้เมื่อไหร่ #
เมื่อต้องการ agent ที่มีหน้าที่เฉพาะทางที่สามารถแยกตัวออกไปทำ task ที่ parallel กับ primary context ได้เลย โดยที่คุณเองจะไม่ได้สนใจว่าเมื่อจบ task นั้นแล้ว context ทั้งหมดที่ subagent ทำมันจะหายไปเลย แต่โดยปกติเรามักจะให้น้อง output ของออกมาเพื่อส่งมอบงานให้ primary agent เอาไปตัดสินใจต่อ
เช่น subagent ที่ build iOS app แล้วดูว่า code ล่าสุดทำงานปกติไหม หรือมี error อะไรหรือเปล่า จากการอ่าน log เพราะว่า log มันอาจจะยาวจนเปลือง primary context ที่มีแค่ 200k ให้น้องแยกไปเช็คของเองดีกว่า แล้วถ้าเจอ error ที่ไฟล์ไหนก็แค่บอกมา เพียงเท่านี้เราก็ไม่ต้องเสียหลายหมื่น tokens บน primary context ให้กับ log แล้ว
จุดเด่นของ Subagent #
นี่คือเครื่องมือเดียวที่ทำงาน parallel ได้ และมี context window เป็นของตัวเองแยกออกมา ทำให้ได้พื้นที่มาใช้ focus กับ task ได้อย่างเต็มที่ แล้วก็ไม่เปลือง primary context หลักด้วย (แต่สุดท้าย context ก็โดนนับรวมใน quota 5 ชั่วโมงเด้อ)
3. MCP Server: เครื่องไม้เครื่องมือสู่โลกภายนอก หรือสู่ app อื่นๆถ้าเขาเปิดให้น่ะนะ #
(คน hype ตัวนี้มาก แต่ผมแทบไม่ได้ใช้เลย)
ใช้เมื่อไหร่ #
เมื่อต้องการให้ agent ของเราเรียกใช้เครื่องมือต่างๆ ที่ชาวโลกเปิดช่องทางไว้ให้ ไม่ว่าจะเป็น ไปเปิด Browser, ดึงข้อมูลจาก Figma หรือแม้แต่ควบคุม iOS Simulator เพื่อลอง test ว่า app ที่เพิ่ง build ไปมมันทำงานถูกไหม… อะไรก็ได้ ที่คุณหาได้ใน internet!
แต่ MCP Tools จะถูก load เข้ามาใน primary context เสมอ ดังนั้นแล้วลองชั่งน้ำหนักดีๆว่าคุณต้องการใช้มันจริงๆไหมก่อนจะ add เข้ามา เพราะผมเคยเจอมาแล้ว XcodeBuildMCP ไอ้ตัวนี้ตัวเดียวซัด context tokens ผมไป 20% จาก 200k tokens ด้วยความที่ function มันเยอะมากๆ ดังนั้นเลือกดีๆ ไม่ใช้ก็เอาออก (เดี๋ยวจะชน 5 ชั่วโมงไม่รู้ตัว)
จุดเด่นของ MCP Server #
มีความแยกตัวออกจาก codebase ได้เลยเหมือน skill แล้วก็มี community ที่ให้ความสนใจเยอะมากๆ เรียกได้ว่าไม่ว่าจะคุณจะทำ app อะไร คุณมักจะต้องทำให้มันมี MCP server ด้วยเสมอ ลองไปค้น Google ดู ยังไงก็เจอ!
Tips: ถ้าอยากรู้ว่า context ใช้กันไปเท่าไหร่ให้ใช้ slash command /context นะครับ เดี๋ยว claude code จะบอกออกมาเป็นสัดส่วนให้ดูเลย จะได้ optimize กันถูก
4. Custom Slash Command: shortcut ที่ทำให้เราไม่ต้องพิมพ์ prompt ยาวๆ #
อารมณ์ประมาณ preset prompt แบบนั้นก็ได้
ใช้เมื่อไหร่ #
กรณีที่ 1: เมื่อคุณขีเกียจพิมพ์ prompt ยาวๆ สั่ง claude code ให้ทำ task เดิมๆ คุณแค่ไปสร้าง markdown แล้วพรั่งพรู prompt ของคุณลงไปเลย เช่น บอกให้ agent เขียน commit message โดยที่ต้องทำตาม convention ของทีมเราที่วางไว้ เพราะถ้าบอกให้ commit เฉยๆ เราไม่รู้เลยว่า agent จะเขียนออกมา style ไหน
กรณีที่ 2: เมื่อคุณอยากรวมทุกอย่างในข้อ 1 ถึง 3 เข้าด้วยกันให้อยู่ในคำสั่งเดียว เช่น คุณเขียน prompt
ให้ไปเรียก subagent เพื่อวิเคราะห์ requirement
-> อ่าน comment ของคุณใน markdown ไฟล์
-> ใช้ skill สร้าง quotation แล้ว
-> ใช้ MCP tool ส่งเมล์หาลูกค้าได้เลย
โดยที่อาจจะจบที่คำสั่ง /send-quotation สั้นๆก็ได้
จุดเด่นของ Custom Slash Command #
สร้างง่าย ใช้แค่ markdown ไฟล์เดียวและ prompt ของคุณ! แล้วก็สามารถ compose ทุกอย่างมาอยู่ใน command เดียวได้ สร้างความสะดวกสบายในชีวิตมากๆ จะสังเกตได้ว่าพวก agent framework ชอบทำ slash command เช่น SpecKit คือมีเพียบเลย คนใช้ก็แค่เรียก slash command ตามคู่มือจบ
สรุปแบบสั้นๆอีกที #
- Agent Skill คือ ชุดเครื่องมือเฉพาะทางแบบครบวงจร ที่ agent สามารถหยิบมาใช้เองโดยอัตโนมัติเพื่อทำ workflow ซ้ำ ๆ อย่างมีโครงสร้างชัดเจน
- Sub Agent คือ การแบ่งงานออกไปทำใน context คู่ขนาน เพื่อความเร็วและประหยัด primary context
- MCP Server คือ ปลั๊กสำหรับเชื่อมต่อกับโลกภายนอก
- Slash Command คือ เครื่องมือชิ้นเดียว ที่ใช้แก้ปัญหางานทั่วไปแบบไวๆ แต่ก็สามารถรวมร่างได้กับทุกเครื่องมือข้างบน
ตามไปดูเต็มๆได้ที่ลิงค์นี้เลยนะครับ