Gemini Spark Skills: คู่มือเชิงลึกและ Framework การออกแบบคำสั่ง AI Agent
เรียนรู้วิธีการออกแบบระบบ Skills เพื่อเพิ่มประสิทธิภาพให้ AI Agent สามารถทำงานเฉพาะทางได้อย่างแม่นยำ ไม่สับสน และประหยัดพื้นที่ Context Window
บทนำ: Gemini Spark Skills คืออะไร?
Gemini Spark Skills คือชุดคำสั่ง แนวทางปฏิบัติงาน (Instruction Guidelines) ข้อมูลบริบทเฉพาะทาง และทรัพยากรเสริม (เช่น สคริปต์ โค้ด หรือแม่แบบเอกสาร) ที่รวบรวมไว้เป็นโฟลเดอร์ เพื่อขยายขีดความสามารถของ AI Agent ให้สามารถประมวลผลกระบวนการทำงานซับซ้อนได้อย่างแม่นยำและสม่ำเสมอ
โครงสร้างไฟล์ไดเรกทอรี (Directory Hierarchy)
ทุกๆ Skill จะถูกจัดเก็บไว้ในโฟลเดอร์ชื่อ skills/<kebab-case-name>/ โดยมีโครงสร้างมาตรฐานดังต่อไปนี้:
skills/<kebab-case-name>/ ├── SKILL.md # [จำเป็น] ไฟล์หลักเก็บ Metadata และคำสั่งปฏิบัติงาน ├── scripts/ # [ทางเลือก] สคริปต์/โค้ด executable สำหรับงานที่ต้องเป๊ะ 100% ├── references/ # [ทางเลือก] เอกสารอ้างอิง หรือคู่มือเชิงลึกเสริม └── assets/ # [ทางเลือก] แม่แบบ Template รูปภาพ หรือไฟล์ตั้งค่า
หาก Skill มีเพียงคำสั่งข้อความอย่างเดียว สามารถสร้างเฉพาะไฟล์ SKILL.md ได้ แต่หากมีสคริปต์หรือไฟล์ตัวอย่างประกอบ แนะนำให้ใช้โครงสร้างแบบ Multi-file เพื่อความสะอาดและจัดการง่าย
โครงสร้างภายในไฟล์ SKILL.md
ไฟล์ SKILL.md แบ่งออกเป็น 2 ส่วนสำคัญอย่างชัดเจน:
1. Frontmatter (YAML Header)
อยู่ด้านบนสุดของไฟล์ ทำหน้าที่เป็นส่วนสแกนหลักที่ AI ใช้พิจารณาว่าจะเรียกใช้ Skill นี้เมื่อใด
--- name: csv-data-analyst description: วิเคราะห์และทำความสะอาดไฟล์ CSV/TSV ใช้เมื่อผู้ใช้ต้องการสรุปข้อมูล ตรวจสอบคุณภาพข้อมูล หรือขอทำ Data Profiling จากไฟล์ตาราง allowed-tools: vm_shell google_drive ---
2. Markdown Body (เนื้อหาคำสั่ง)
เนื้อหาคำสั่งที่จะถูกโหลดเข้ามาประมวลผลทันทีเมื่อ Skill ถูกกระตุ้น ประกอบด้วย 5 ส่วนหลัก:
| ส่วนประกอบ (Section) | หน้าที่และคำอธิบาย |
|---|---|
| 1. Title (# Skill Name) | ชื่อหัวข้อหลักระดับ H1 ตรงกับ name ใน Frontmatter |
| 2. Summary | สรุปวัตถุประสงค์หลักและผลลัพธ์ใน 1-2 ประโยค |
| 3. When to Use | รายการสถานการณ์และเงื่อนไขการเรียกใช้อย่างเจาะจง |
| 4. Core Workflow | ขั้นตอนการทำงานทีละขั้น (1, 2, 3...) เขียนด้วยคำสั่งเชิงดำเนินการ (Imperative) |
| 5. Gotchas & Fallbacks | ข้อควรระวัง เคสพิเศษ และทางออกเมื่อเกิดข้อผิดพลาด |
ข้อกำหนดและขีดจำกัดสำคัญ (Technical Specs)
| องค์ประกอบ | ข้อกำหนดและขีดจำกัด (Specifications) |
|---|---|
| Skill Name |
• ความยาว 1-5 คำ (ไม่เกิน 64 ตัวอักษร) • ใช้เฉพาะอักษรพิมพ์เล็ก a-z, ตัวเลข 0-9 และขีดกลาง - (Kebab-case) • ห้ามขึ้นต้น/ลงท้ายด้วยขีดกลาง และห้ามมีเว้นวรรค |
| Description Length |
• ความยาวไม่เกิน 1,024 ตัวอักษร • ต้องระบุทั้งหน้าที่ที่ทำได้ และคีย์เวิร์ดกระตุ้นการทำงาน |
| Body Length | • แนะนำความยาวรวมไม่เกิน 500 บรรทัด เพื่อประหยัด Context Window |
| Formatting Rules |
• ห้ามใช้เครื่องหมาย Em-dash (—) ให้ใช้ Hyphen (-) • ต้องเว้นบรรทัดว่าง (Blank line) ก่อนเริ่ม Bullet List ทุกครั้ง |
C-T-W-V Design Framework
กรอบการออกแบบคำสั่งสำหรับ AI Agent เพื่อให้ได้ผลลัพธ์ที่เป็นระบบ:
เทคนิคขั้นสูงในการเขียนคำสั่ง (Best Practices)
1. Imperative + Reasoning (คำสั่ง + เหตุผลเบื้องหลัง)
AI จะปรับใช้คำสั่งได้ฉลาดและยืดหยุ่นขึ้นเมื่อเข้าใจเหตุผล ไม่ใช่เพียงการใช้กฎบังคับแข็งๆ
❌ "ห้ามใช้ไลบรารีภายนอกเด็ดขาด"
✅ "ใช้ Built-in Python Modules ในการแปลงไฟล์ เพื่อหลีกเลี่ยงปัญหาเรื่อง Dependency และช่วยให้โค้ดรันได้ทุกสภาพแวดล้อม"
2. Primary Path + Escape Hatch (ทางหลัก 1 ทาง + ทางออกสำรอง)
กำหนดวิธีหลัก 1 วิธี และใส่เงื่อนไขสลับวิธีเมื่อพบกรณีพิเศษเพื่อป้องกันการสับสนของ AI
ใช้ pdfplumber ในการดึงข้อความจาก PDF เป็นหลัก หากพบว่าเป็น PDF ที่สแกนมาและดึงข้อความไม่ได้ ให้สลับไปใช้ pdf2image ร่วมกับ pytesseract แทน
Starter Blueprint Template
คัดลอกโครงสร้างแม่แบบนี้ไปเป็นไฟล์เริ่มต้นในการเขียนได้ทันที:
--- name: my-custom-skill description: อธิบายหน้าที่ของ Skill อย่างกระชับ ใช้เมื่อผู้ใช้ต้องการ [งาน A], [งาน B] หรือสั่งให้ [คีย์เวิร์ด C] allowed-tools: vm_shell --- # My Custom Skill สรุปเป้าหมายและผลลัพธ์ของ Skill ใน 1-2 ประโยค ## When to Use - เมื่อผู้ใช้กล่าวถึง... - เมื่อพบสถานการณ์ข้อมูลรูปแบบ... ## Core Workflow 1. **การเตรียมข้อมูล/ตรวจสอบเบื้องต้น** - ตรวจสอบรูปแบบไฟล์และโครงสร้างข้อมูล - เหตุผล: เพื่อป้องกันข้อผิดพลาดในขั้นตอนประมวลผล 2. **การประมวลผลหลัก** - ดำเนินการแปลงหรือวิเคราะห์ข้อมูลตามแนวทางหลัก - หากพบเคสพิเศษ X ให้สลับไปใช้แนวทาง Y ## Gotchas & Edge Cases - ข้อควรระวังในการประมวลผลข้อมูล... ## Output Verification - [ ] ผลลัพธ์มีความถูกต้องและครบถ้วนตามโครงสร้าง