Agent Skills สำคัญยังไง?

AI Agents ทุกวันนี้หลาย ๆ ตัวมีความสามารถที่สูงมากสามารถที่จะให้คำตอบ คิดและทำงานที่มีความซับซ้อนหลากหลายอย่างได้มากมาย แต่ทว่าในการทำงานเฉพาะทางหรืองานที่ต้องการบริบทเฉพาะอย่างนั้นเอไอที่ฉลาดเหล่านี้ก็ไม่สามารถที่จะรู้เองได้ เหมือนกันกับมนุษย์แม้ว่าเราจะเก่งกล้าฉลาดมาจากไหนเราก็ไม่มีทางที่จะรู้ แนวทางการทำงาน ขั้นตอนต่าง ๆ ในการดำเนินงานของธุรกิจที่เราเพิ่งเข้าไปใหม่ และเรื่องอื่น ๆ ที่เป็นความรู้หรือขั้นตอนที่เราไม่รู้จักได้ ดังนั้นแล้วนี่จึงเป็นความสำคัญของ Agent Skills ที่จะทำให้พนักงานใหม่มากความสามารถคนนี้เข้าใจงานและเริ่มปฏิบัติการได้ทันที ด้วยชุดคำสั่ง ขั้นตอนแนวทางปฏิบัติและเครื่องมือต่าง ๆ

Agent Skills คืออะไร

เอเจนต์สกิลคือแนวทางมาตรฐานสำหรับให้ AI Agents มีทักษะและความเชี่ยวชาญใหม่ ๆ ได้ด้วยการเพิ่มความรู้และเวิร์กโฟลว์เฉพาะทางให้กับเอไอ โดยที่หลัก ๆ แล้วสกิลจะสามารถนำไปปรับใช้กับโมเดลเอไอเอเจนต์ตัวไหนก็ได้ และมีรูปแบบเป็นโฟลเดอร์ที่จัดเก็บไฟล์ต่าง ๆ ดังนี้

my-skill/
├── SKILL.md # Required: metadata + instructions
├── scripts/ # Optional: executable code
├── references/ # Optional: documentation
├── assets/ # Optional: templates, resources
├── … # Any additional files or directories

SKILL.md คือไฟล์ Markdown ที่เขียนอธิบายว่าสกิลนี้คืออะไร ประกอบด้วยอะไร ใช้ทำอะไรได้บ้าง พร้อมกับแนวทางปฏิบัติงานตามที่ออกแบบไว้ และสกิลยังสามารถที่จะพ่วงเอา Scripts ที่เป็นโค้ดสำหรับรันฟังก์ชันต่าง ๆ References สำหรับเก็บเอกสารไว้เป็นความรู้หรือข้อมูลอ้างอิง Assets สำหรับเก็บของที่จะใช้ทำงาน

Agent Skills ทำงานอย่างไร?

การใช้งานสกิลนั้นเอไอเอเจนต์จะทำการโหลดสกิลผ่านกระบวนการสามขั้นตอนนี้ทีละขั้น

  1. Discovery: ตอนเริ่มต้นระบบ เอเจนต์จะโหลดเฉพาะชื่อและคำอธิบายการใช้งานของแต่ละสกิลที่มีเพื่อให้รู้คร่าว ๆ ว่าสกิลเหล่านี้จะได้ใช้เมื่อไหร่
  2. Activation: เมื่อเจอกับงานที่ตรงกันกับคำอธิบายสกิลที่ระบุไว้ เอเจนต์จะทำการอ่าน SKILL.md ทั้งหมดและใส่เข้ามาใน Context
  3. Execution: เอเจนต์จะปฏิบัติตามคำสั่งใน SKILL.md และอาจมีการหยิบโค้ดที่ให้ไว้ หรือเอกสารอื่น ๆ ที่เกี่ยวข้องมาใช้ตามที่กำหนดไว้ในสกิลและความจำเป็น

Specification ของสกิลต้องเตรียมยังไง

รูปแบบของสกิลที่ต้องเตรียมให้เอเจนต์จะอยู่ในรูปแบบนี้

skill-name/
├── SKILL.md # Required: metadata + instructions
├── scripts/ # Optional: executable code
├── references/ # Optional: documentation
├── assets/ # Optional: templates, resources
└── … # Any additional files or directories

โดยที่แต่ละส่วนมีรายละเอียดดังต่อไปนี้

SKILL.md จะเป็นไฟล์ Markdown ที่เขียนให้อยู่ในรูปแบบของ YAML โดยจะมีค่าหลัก ๆ ที่ต้องกำหนดคือ

FieldRequiredConstraints
nameYesMax 64 characters. Lowercase letters, numbers, and hyphens only. Must not start or end with a hyphen.
descriptionYesMax 1024 characters. Non-empty. Describes what the skill does and when to use it.
licenseNoLicense name or reference to a bundled license file.
compatibilityNoMax 500 characters. Indicates environment requirements (intended product, system packages, network access, etc.).
metadataNoArbitrary key-value mapping for additional metadata.
allowed-toolsNoSpace-separated string of pre-approved tools the skill may use. (Experimental)

ตัวอย่าง SKILL.md ในส่วน Frontmatter สำหรับประมวลผลไฟล์ PDF

---
name: pdf-processing
description: Extract PDF text, fill forms, merge files. Use when handling PDFs.
license: Apache-2.0
metadata:
  author: example-org
  version: "1.0"
---

สำหรับในส่วน Body Content ของ SKILL.md สามารถเขียนต่อจากส่วนแรกในตัวอย่างข้างต้นได้ (ข้างใต้ขีด) โดยที่ส่วนเนื้อหาจะไม่ได้จำเป็นต้องมีฟอร์แมตเฉพาะแต่อย่างใด สามารถเขียนสั่งการเอเจนต์ให้ทำงานได้ โดยส่วนนี้จะถูกอ่านก็ต่อเมื่อเอเจนต์ตัดสินใจว่าจำเป็นจะต้องใช้สกิลนี้เท่านั้น สำหรับแนวทางการเขียนคือ

  • คำสั่งควรเขียนอย่างเป็นขั้นเป็นตอน ตามสเต็ปให้ชัดเจน
  • มีตัวอย่างข้อมูล Input และ Output ให้เพื่อให้ระบบรู้ว่าต้องเอาอะไรเข้า และตอบเป็นอะไร
  • มีการระบุกรณีสุดวิสัยที่อาจพบเจอได้ในการทำงานไว้ เพื่อให้เอเจนต์สามารถคิดแก้ปัญหาได้

ส่วนถัดมาคือ Scripts โดยจะเก็บเอาโค้ดสำหรับให้เอเจนต์หยิบไปรันเพื่อทำงานตามฟังก์ชันบางอย่างที่เรากำหนดไว้ได้ โดยสคริปต์ควรมีลักษณะคือ

  • สามารถทำงานจบเป็นอย่าง ๆ ได้ในฟังก์ชันนั้นเอง หรือระบุความสัมพันธ์กับฟังก์ชันอื่นเอกสารอื่นให้ชัดเจน
  • มีการระบุ Error Message ที่เป็นประโยชน์เพื่อให้ทราบว่าผิดพลาดอะไร ควรแก้ยังไง
  • จัดการกับกรณีสุดวิสัยที่เกิดขึ้นได้

References จัดเก็บเอกสารเพิ่มเติมสำหรับให้เอเจนต์อ่านเมื่อต้องใช้งานได้ โดยแต่ละเอกสารควรจะเขียนให้กระชับ ตรงประเด็น ครอบคลุม 1 ด้านเท่านั้น และถ้าควบคุมให้มีเนื้อหาน้อยได้จะช่วยให้ประหยัด Context ได้เช่นกัน

  • REFERENCE.md – อธิบายรายละเอียดอ้างอิงเชิงเทคนิค
  • FORMS.md -รูปแบบหรือโครงสร้างของข้อมูลที่ต้องใช้
  • Domain-specific files (finance.md, legal.md, etc.)

Assets จัดเก็บไฟล์เอกสาร รูปภาพ ไดอะแกรม การตั้งค่าต่าง ๆ ไฟล์ข้อมูล เป็นต้น ไฟล์พวกนี้จะเป็นไฟล์ที่ไว้ใช้เป็นข้อมูลไม่ได้ต้องถูกเปลี่ยนแปลงแต่อย่างใด

จำนวน Tokens การอ้างอิงไฟล์ และการตรวจสอบสกิล

จำนวน Tokens ที่เหมาะสมในแต่ละส่วนของ SKILL.md เพื่อให้เอเจนต์เข้ามาอ่านทีละนิดและไม่หลุดขอบเขตจะอยู่ที่จำนวนดังนี้

  1. Metadata พวก Frontmatter อย่าง Name และ Description จะอยู่ที่ประมาณ 100 Tokens
  2. Instructions: ส่วนเนื้อหาขั้นตอนการทำงานของสกิลจะอยู่ที่ไม่เกิน 5000 Tokens

โดยพื้นฐานแล้วพยายามอย่าให้ SKILL.md ยาวเกิน 500 บรรทัด ถ้ามีส่วนประกอบอื่นที่เกี่ยวข้องให้ย้ายไปใส่ใน Reference แทน

การอ้างอิงไฟล์ทำได้ดังนี้ระบุเพียง Path references/ ไฟล์ที่เราจะอ้างอิง

See [the reference guide](references/REFERENCE.md) for details.

Run the extraction script:
scripts/extract.py

การตรวจสอบสกิลสามารถที่จะติดตั้ง skills-ref ได้มันจะทำการตรวจสอบให้ว่า Frontmatter เราถูกต้องไหม

skills-ref validate ./my-skill

Conclusion

โดยสรุปแล้ว Agent Skills คือความสามารถเสริมที่สามารถนำไปประกอบใช้ได้กับทุก ๆ AI Agent เพียงแค่ออกแบบและวางโครงสร้างให้ถูกต้องตามที่กำหนดไว้ และตอนที่ต้องการจะใช้งาน Skills ก็ให้เรานำสิ่งที่เตรียมไว้ไปประกอบเข้ากับ AI ของเรา ในบทความถัดไปจะพูดถึงแนวทางปฏิบัติในการทำสกิลที่ดี และการนำไปใช้กับ Gemini หรือ ChatGPT ด้วย

ติดตามบทความอื่น ๆ เพิ่มเติมได้ที่ SBC Blog

LINE OA: SUBBRAIN

Facebook: SUBBRAIN