$ cat 07-skills.md บทที่ 7Skills สอนวิธีทำครั้งเดียวแล้วใช้ซ้ำ
ถ้า Task คือสิ่งที่บอกว่าเราต้องการอะไร และ Schedule คือสิ่งที่บอกว่าให้เริ่มเมื่อไร Skill ก็คือ “ขั้นตอนวิธีทำงานที่บันทึกไว้ใช้ซ้ำ” นั่นเอง Skill จะทำหน้าที่เก็บกระบวนการทำงาน รูปแบบผลลัพธ์ กติกาเวลามีข้อมูลไม่ครบ ตลอดจนข้อผิดพลาดที่ต้องระวังเอาไว้ เพื่อให้เราไม่ต้องคอยพิมพ์อธิบายกติกาชุดเดิมซ้ำๆ ในทุกครั้งที่สั่งงาน
Skill ที่ดีจึงไม่ใช่พรอมต์ขนาดยาวที่ผูกติดกับงานชิ้นใดชิ้นหนึ่ง แต่เปรียบเสมือน “แผ่นสรุปมาตรฐานการทำงาน” (SOP) ประจำตัว AI ในบทนี้เราจะมาสร้าง Skill สำหรับแปลงบันทึกข้อความให้เป็นเช็กลิสต์ ทดลองรันกับข้อมูลสมมุติ แล้วเรียนรู้วิธีปรับแก้ Skill เมื่อผลลัพธ์รอบแรกออกมาไม่ตรงตามต้องการ จนได้ผลลัพธ์ 3 บรรทัดที่แยกกันชัดเจนและปลอดภัย
3 องค์ประกอบหลักของ Skill
ชื่อ (Name) และคำอธิบาย (Description) ช่วยให้ Spark ตัดสินใจว่าจะหยิบ Skill นี้มาใช้หรือไม่ · ส่วนคำสั่ง (Instructions) จะถูกอ่านเมื่อเลือกใช้แล้ว · ส่วนตัว Task ยังคงต้องระบุเป้าหมายและข้อมูลเฉพาะของรอบนั้น
Google อธิบายลำดับขั้นตอนที่ Spark เรียกใช้ Skill ไว้ 3 จังหวะ:
- Spark จะตรวจสอบ name และ description ก่อน เพื่อประเมินว่า Skill นี้ตรงกับเจตนาของ Task หรือไม่
- หากตรงกัน จึงจะเข้าไปอ่าน instructions ฉบับเต็มเพื่อดูขั้นตอนการทำงาน
- หาก Skill นั้นมีไฟล์เอกสารแนบประกอบอยู่ด้วย จึงจะเปิดเฉพาะไฟล์ที่จำเป็นต้องใช้ในขั้นนั้น
ผลที่ตามมาคือ ต่อให้เราเขียน instructions ไว้อย่างดีเยี่ยมแค่ไหน แต่ถ้าตั้งชื่อและ description กว้างเกินไป Spark ก็อาจหยิบไปใช้ผิดงาน หรือถ้าแคบเกินไป ระบบก็อาจไม่รู้ว่าควรหยิบมาใช้เมื่อไร
จังหวะไหนที่ควรสร้าง Skill
ควรพิจารณาสร้าง Skill เมื่อเกิดสถานการณ์เหล่านี้ซ้ำๆ:
- ต้องคัดลอกคำสั่งยาวๆ ชุดเดิมมาใช้อยู่บ่อยครั้ง
- ต้องคอยสั่งปรับแต่งรูปแบบผลลัพธ์แบบเดิมซ้ำๆ ทุกครั้งที่ส่งงาน
- มีกติกาเฉพาะในการรับมือกับข้อมูลที่ขาดหายไป
- มีขั้นตอนการทำงานต่อเนื่องข้าม Gmail, Drive, Docs หรือ Calendar ด้วยรูปแบบเดิมเสมอ
ในทางกลับกัน เราสามารถข้ามการสร้าง Skill ไปได้เลย หากเป็นงานที่ทำเพียงครั้งเดียว งานที่ Spark ทำได้ถูกต้องตรงใจอยู่แล้ว หรือขั้นตอนการทำงานเปลี่ยนไปมาบ่อยจนต้องคอยแก้ Skill แทบทุกครั้ง
เขียน 3 ช่องให้ AI เลือกถูกและทำถูกต้อง
1. Name (ตั้งชื่อให้บอกการกระทำชัดเจน)
ชื่อควรขึ้นต้นด้วยคำกริยา ใช้ตัวพิมพ์เล็กภาษาอังกฤษทั้งหมด และคั่นระหว่างคำด้วยขีดกลาง (-) หลีกเลี่ยงคำกว้างๆ ที่ไม่มีความหมายเฉพาะ เช่น helper · tools · data
turn-notes-into-safe-checklist
2. Description (บอกว่าใช้งานเมื่อไร)
description ควรอธิบายความสามารถอย่างเจาะจง พร้อมยกตัวอย่างสถานการณ์ที่ควรหยิบ Skill นี้มาใช้ ความยาวต้องไม่เกิน 1,024 ตัวอักษร
3. Instructions (บอกวิธีทำอย่างเป็นระบบ)
โครงสร้าง instructions ที่ใช้งานได้จริง ประกอบด้วย 5 ส่วนสำคัญ: หน้าที่หลัก · ลำดับขั้นตอน · รูปแบบผลลัพธ์ · วิธีรับมือเมื่อข้อมูลไม่ครบ · ข้อผิดพลาดที่ต้องหลีกเลี่ยง
สังเกตว่า 2 บรรทัดในหมวดข้อผิดพลาดที่ต้องเลี่ยง (เรื่องจำนวนและการขึ้นบรรทัดใหม่) เป็นสิ่งที่ถูกเพิ่มเข้ามาหลังจากที่เราทดสอบรอบแรกแล้วพบปัญหา นี่คือแนวทางพัฒนา Skill ที่ดี: นำข้อผิดพลาดจริงที่เจอมาเปลี่ยนเป็นกฎเกณฑ์ แทนที่จะพยายามนั่งเดาปัญหาล่วงหน้าทั้งหมด
ขั้นตอนการสร้าง Skill จากฟอร์มเปล่า
- เปิดหน้า Skills จากแถบด้านข้าง
- คลิกปุ่ม Create manually
- วาง name, description และ instructions ตามตัวอย่างทั้ง 3 กล่องด้านบน
- อ่านทบทวน description อีกครั้งว่าระบุทั้งความสามารถและจังหวะการใช้งานครบถ้วนหรือไม่
- ตรวจสอบ instructions ว่ามีรูปแบบผลลัพธ์ วิธีจัดการข้อมูลที่ขาด และข้อห้ามชัดเจนหรือไม่
- คลิกปุ่ม Create (หรือกด Save หากเป็นการแก้ไข Skill เดิม)
หน้าจอจริงเต็ม viewport จากบนสุดของหน้า · กติกาที่เพิ่มหลังทดสอบอยู่ในส่วนข้อผิดพลาดที่ต้องเลี่ยง · ปิดทับเฉพาะรูปโปรไฟล์เมื่อสร้างเสร็จและเปิดใช้งาน Skill จะไปอยู่ในหมวด Active ซึ่ง Spark อาจหยิบมาใช้งานให้อัตโนมัติเมื่อชื่อและ description ตรงกับเจตนาของ Task นั้นๆ
Active คือเปิดให้ Spark เลือกใช้อัตโนมัติ · ส่วน Recommended คือแม่แบบตัวอย่างจาก Google ไม่ใช่ Skill ส่วนตัวที่เราสร้างเจาะจงเลือก Skill ด้วยเครื่องหมาย Slash ( / )
ในการทดสอบคำสั่ง เราควรเป็นผู้เจาะจงเลือก Skill เอง เพื่อให้มั่นใจ 100% ว่าระบบกำลังเรียกใช้ Skill เวอร์ชันที่ต้องการ:
- เปิดสร้าง Task ใหม่
- พิมพ์เครื่องหมายสแลช
/ ในช่องสั่งงาน
- เลือก Skill
turn-notes-into-safe-checklist
- พิมพ์ระบุข้อความต้นทาง เป้าหมาย ของที่ให้ใช้ วิธีทำ จังหวะเริ่ม และจุดหยุด
- เมื่อระบบทำงานเสร็จ ให้เปิด work panel ตรวจดูว่าในแถบ Skills & apps มีชื่อ Skill นี้ปรากฏอยู่จริง
ผลลัพธ์รอบแรกและการปรับปรุง Skill
ผลลัพธ์รอบแรกที่ได้ แม้จะมี 3 หัวข้อและใช้ [ข้อมูลที่ต้องเติม] ตามกติกาถูกต้อง แต่รายการแรกกลับมีข้อความซ้ำซ้อน และรายการที่สองถูกเขียนต่อเข้ามาในบรรทัดเดียวกัน ทำให้รูปแบบดูไม่เป็นระเบียบ ทั้งที่ใน work panel ก็ยืนยันว่าเรียกใช้ Skill ถูกต้อง
นี่ไม่ใช่ภาพตัวอย่างที่แต่งขึ้น แต่เป็นผลการรันจริง · การเห็นชื่อ Skill ใน Skills & apps ยืนยันเพียงว่าเรียกใช้ถูกตัว แต่ไม่ได้การันตีว่าผลลัพธ์จะถูกต้องสิ่งที่ต้องทำเมื่อผลลัพธ์ไม่ตรงใจ ไม่ใช่การไปนั่งพิมพ์อธิบายในพรอมต์ของ Task ให้ยาวขึ้นทุกครั้ง แต่คือการกลับไปเพิ่มกฎเกณฑ์ในส่วน ข้อผิดพลาดที่ต้องเลี่ยง ของตัว Skill เอง:
เมื่อแก้ไขแล้วให้กดปุ่ม Save จากนั้นลองทดสอบใหม่ด้วยข้อมูลเดิมอีกครั้ง โดยในรอบนี้เราพิมพ์คำสั่งทั้ง 5 ส่วนให้กระชับขึ้น:
หลังจากการปรับแก้ ผลลัพธ์ในรอบใหม่ก็ออกมาสมบูรณ์แบบตามที่ต้องการ: ได้เช็กลิสต์ 3 รายการแยกบรรทัดชัดเจน มีช่องเว้นไว้ให้เติมข้อมูลครบถ้วน และไม่แตะต้องไฟล์หรือแอปอื่นเลย
ผลรอบสองได้ครบ 3 รายการ · แต่ละรายการแยกบรรทัดชัดเจน · ข้อมูลที่ขาดถูกแทนที่ด้วย placeholder · ช่อง Files ว่างและไม่เรียกใช้ Connected Appsสถานะ Active ไม่ได้แปลว่าต้องเปิดใช้ตลอดเวลา
Skill ที่อยู่ในสถานะ Active อาจถูก Spark หยิบมาใช้งานโดยอัตโนมัติหากระบบมองว่าเกี่ยวข้อง หากเราเขียน description กว้างเกินไป Skill นี้ก็อาจถูกนำไปใช้ในงานที่เราไม่ได้ตั้งใจ
หลังจากการทดสอบ เรามีทางเลือกในการจัดการ 3 แบบ:
- คงสถานะ Active ไว้: หากเป็น Skill ที่ใช้งานเป็นประจำ และ description มีความเฉพาะเจาะจงพอ
- กด Deactivate: เพื่อปิดการเลือกใช้อัตโนมัติ แล้วค่อยกดเปิด (Activate) เมื่อต้องการ
- พิมพ์เรียกใช้ผ่าน
/: เพื่อเจาะจงเลือกใช้เฉพาะใน Task ที่ต้องการอย่างชัดเจน
สำหรับผู้ที่ต้องการ Upload Skill ด้วยไฟล์
สำหรับผู้ใช้ทั่วไป การสร้างผ่านฟอร์ม Manual ก็นับว่าเพียงพอแล้ว แต่หากต้องการอัปโหลด Skill ที่มีโครงสร้างไฟล์ซับซ้อนขึ้น ระบบจะรองรับไฟล์ SKILL.md หรือไฟล์บีบอัด .zip ที่มี SKILL.md อยู่ที่โฟลเดอร์หลัก โดยมีขนาดรวมไม่เกิน 100 MB
ไฟล์ที่รองรับจะต้องเป็นไฟล์ข้อความ plain text เท่านั้น เช่น .md · .txt · .json · .csv · .py โดยระบบไม่รองรับไฟล์เอกสารหรือรูปภาพอย่าง .pdf · .docx · .xlsx · .jpg · .png นอกจากนี้ สคริปต์ที่อยู่ใน Skill ต้องไม่มีคำสั่งที่ส่งคำขอเชื่อมต่ออินเทอร์เน็ตออกไปภายนอก
จุดที่ต้องตรวจก่อนปล่อยต่อ
- Skill มีหน้าที่ชัดเจนเพียงอย่างเดียว และสามารถนำไปใช้ซ้ำกับข้อมูลชุดอื่นได้
- name ขึ้นต้นด้วยคำกริยาและใช้ตัวพิมพ์เล็กคั่นด้วยขีดกลาง
- description ระบุทั้งความสามารถและบริบทที่ควรนำไปใช้อย่างชัดเจน
- instructions มีครบทั้งขั้นตอน รูปแบบผลลัพธ์ วิธีจัดการข้อมูลที่ขาด และข้อห้าม
- ในรอบทดสอบ ลองเจาะจงเลือก Skill ผ่าน
/ และตรวจดูว่า work panel แสดงชื่อถูกต้อง
- หมวด Files และ Connected Apps ทำงานตรงตามขอบเขตของคำสั่ง
- ผลลัพธ์จริงถูกต้องทั้งจำนวน รูปแบบ และความถูกต้อง ไม่ดูเพียงแค่ชื่อ Skill ที่ถูกเรียก
- หากยังไม่ต้องการให้ระบบเลือกใช้เองอัตโนมัติ ให้กด Deactivate ไว้หลังทดสอบ
- ก่อนกด Delete ให้ Download เก็บเป็นไฟล์สำรองไว้เสมอหากมีโอกาสต้องนำกลับมาใช้
ลองเลย
ลองเลือกคำสั่งที่คุณต้องพิมพ์สั่งงานซ้ำๆ บ่อยที่สุดมา 1 ชุด แล้วตัดทอนให้เหลือหน้าที่หลักเพียงอย่างเดียว จากนั้นนำมาเขียนเป็น name, description และ instructions ตามแม่แบบในบทนี้ ทดลองสร้างเป็น Skill แล้วสั่งงานผ่าน / ด้วยข้อมูลสมมุติ 1 รอบ หากพบจุดบกพร่อง ให้เพิ่มข้อห้ามลงใน instructions แล้วทดสอบใหม่อีกครั้ง เมื่อเสร็จแล้วให้กด Deactivate เก็บไว้ก่อน
ในตอนนี้เรามีองค์ประกอบครบทั้ง 3 ชิ้นแล้ว: Task บอกสิ่งที่เราต้องการ · Schedule บอกจังหวะเวลาเริ่ม · Skill บอกขั้นตอนวิธีทำ ในบทถัดไป เราจะนำทั้ง 3 ชิ้นนี้มาประกอบร่วมกับ Connected Apps และจุดหยุดความปลอดภัย เพื่อสร้างเป็นระบบอัตโนมัติที่สมบูรณ์และตรวจสอบได้ตั้งแต่ต้นจนจบ
อัปเดตล่าสุด: 21 ส.ค. 2569
ความคิดเห็น
ยังไม่มีความคิดเห็น
เป็นคนแรกได้เลย