- เป็นเบนช์มาร์กแรกสำหรับประเมินเชิงปริมาณถึงประสิทธิผลของ สกิล (Agent Skills) สำหรับเอเจนต์ที่อิงกับโมเดลภาษาขนาดใหญ่ (LLM) โดยครอบคลุม 84 งานใน 11 โดเมน
- แต่ละงานถูกประเมินภายใต้ 3 เงื่อนไข ได้แก่ ไม่ใช้สกิล, ใช้สกิลที่คัดสรรมา, และ ใช้สกิลที่สร้างขึ้นเอง พร้อมเก็บรวบรวม เส้นทางการรันทั้งหมด 7,308 รายการ
- สกิลที่คัดสรรมาแสดงให้เห็นถึง การเพิ่มขึ้นของประสิทธิภาพเฉลี่ย +16.2 จุดเปอร์เซ็นต์ แต่มีความแตกต่างกันมากในแต่ละโดเมน และบางงาน (16 จาก 84 งาน) กลับมีประสิทธิภาพลดลง
- สกิลที่สร้างขึ้นเอง (Self-generated Skills) โดยเฉลี่ยแล้วไม่ให้ผลลัพธ์ที่ดี แสดงให้เห็นว่าโมเดลยังไม่สามารถสร้างความรู้เชิงกระบวนการได้อย่างเสถียรด้วยตนเอง
- โมดูลสกิลขนาดเล็กและมีจุดโฟกัสชัดเจน (ประกอบด้วย 2–3 โมดูล) มีประสิทธิภาพมากกว่าสกิลแบบเอกสารครอบคลุม และโมเดลขนาดเล็กที่ใช้สกิลสามารถทำผลงานได้ใกล้เคียงกับโมเดลขนาดใหญ่ที่ไม่ใช้สกิล
ภาพรวมของ SKILLSBENCH
- SKILLSBENCH เป็นเบนช์มาร์กสำหรับประเมิน ผลของการเสริมสกิลให้กับเอเจนต์ LLM โดยสร้างขึ้นบนเฟรมเวิร์ก Harbor
- แต่ละงานประกอบด้วยสภาพแวดล้อมแบบคอนเทนเนอร์ ตัวตรวจสอบแบบกำหนดแน่นอน และคำตอบอ้างอิง (oracle)
- รันงานเดิมซ้ำภายใต้เงื่อนไขว่ามีหรือไม่มีสกิล เพื่อวัด ผลลัพธ์ล้วน ๆ ของสกิล
- ต่างจากเบนช์มาร์กเดิมที่วัดเพียงความสามารถพื้นฐานของโมเดล SKILLSBENCH วัด ผลกระทบของสกิลต่อประสิทธิภาพ โดยตรง
นิยามและองค์ประกอบของสกิล (Agent Skills)
- สกิลคือแพ็กเกจแบบมีโครงสร้างที่บรรจุ ความรู้เชิงกระบวนการ (procedural knowledge) เพื่อขยายพฤติกรรมของเอเจนต์ในช่วงอนุมานโดยไม่ต้องแก้ไขโมเดล
- องค์ประกอบได้แก่
SKILL.md (ขั้นตอนการเข้าหางาน), สคริปต์ที่รันได้, โค้ดเทมเพลต, ตัวอย่าง ฯลฯ
- สกิลต้องตรงตามเกณฑ์ 4 ข้อต่อไปนี้
- มีเนื้อหาเชิงกระบวนการ
- ใช้ได้ในระดับ คลาสของงาน ไม่ใช่เฉพาะกรณีเดียว
- มีองค์ประกอบที่เป็นโครงสร้าง
- รองรับ การพกพาได้ บนฐานไฟล์ซิสเต็ม
- system prompt, ตัวอย่าง few-shot, การค้นหาแบบ RAG และเอกสารเครื่องมือ ไม่ถือเป็นสกิล
การจัดโครงสร้างงาน (Task) และการสร้างชุดข้อมูล
- แต่ละงานประกอบด้วย 4 ส่วน ได้แก่ คำสั่ง, สภาพแวดล้อม, คำตอบ, ตัวตรวจสอบ
- สภาพแวดล้อมถูกแยกด้วย Docker container เพื่อรับประกันการทำซ้ำได้
- ตัวตรวจสอบเป็นสคริปต์ทดสอบแบบกำหนดแน่นอนที่ตัดสินผ่าน/ไม่ผ่านโดยอัตโนมัติ
- ผู้มีส่วนร่วม 105 คนส่งงานเข้ามา 322 งาน และผ่านการตรวจสอบอัตโนมัติร่วมกับการทบทวนโดยมนุษย์ ก่อนคัดเลือกเหลือ 84 งานสุดท้าย
- ผู้มีส่วนร่วมต้องปฏิบัติตามข้อกำหนดต่อไปนี้
- คำสั่งที่เขียนโดยมนุษย์ (ห้ามให้ LLM สร้าง)
- สกิลต้องให้ แนวทางเชิงกระบวนการ ไม่ใช่เฉลยเฉพาะของงานนั้น
- การตรวจสอบทั้งหมดต้องเป็นแบบ กำหนดแน่นอน (อิง assertion)
- ต้องผ่านการตรวจสอบโครงสร้างอัตโนมัติ การรัน oracle การตรวจจับเนื้อหาที่สร้างโดย AI และการตรวจสอบการรั่วไหล
- เพื่อป้องกันการรั่วไหล หากภายในสกิลมี ชื่อไฟล์เฉพาะงาน, ค่าคงที่, การอ้างอิงชุดทดสอบ เป็นต้น จะถูกปฏิเสธ
องค์ประกอบของเบนช์มาร์กและการแบ่งระดับความยาก
- SKILLSBENCH ประกอบด้วย 84 งานใน 11 โดเมน (เช่น ซอฟต์แวร์ เฮลท์แคร์ การเงิน หุ่นยนต์ ฯลฯ)
- ระดับความยากแบ่งเป็น 3 ระดับตามเวลาที่มนุษย์ใช้ทำงาน
- Core (ต่ำกว่า 60 นาที) 17 งาน
- Extended (1–4 ชั่วโมง) 43 งาน
- Extreme (มากกว่า 4 ชั่วโมง) 26 งาน
การตั้งค่าการทดลอง
- ประเมิน agent harness เชิงพาณิชย์ 3 แบบ: Claude Code, Gemini CLI, Codex CLI
- ใช้โมเดล 7 รุ่น: GPT-5.2, Claude Opus 4.5/4.6, Claude Sonnet 4.5, Claude Haiku 4.5, Gemini 3 Pro, Gemini 3 Flash
- ประเมินภายใต้ 3 เงื่อนไข
- No Skills: ไม่ใช้สกิล
- With Skills: ใช้สกิลที่คัดสรรมา
- Self-Generated Skills: โมเดลสร้างสกิลเองแล้วนำไปใช้
- เก็บรวบรวม เส้นทางการรัน (trajectories) ที่ใช้ได้ทั้งหมด 7,308 รายการ
ตัวชี้วัดการประเมิน
- ใช้ อัตราการผ่าน (pass rate) เป็นตัวชี้วัดหลัก
- คำนวณ normalized gain เพิ่มเติมเพื่อวิเคราะห์ทั้งการเพิ่มขึ้นเชิงสัมบูรณ์และเชิงสัดส่วนร่วมกัน
- แต่ละงานรันซ้ำ 5 ครั้งแล้วคำนวณคะแนนเฉลี่ย
ผลลัพธ์สำคัญ
- สกิลที่คัดสรรมา ช่วยเพิ่มผลลัพธ์เฉลี่ย +16.2 จุดเปอร์เซ็นต์ โดยช่วงตามแต่ละคอนฟิกอยู่ที่ +13.6 ถึง +23.3 จุดเปอร์เซ็นต์
- ความแตกต่างระหว่างโดเมนมีสูง โดยเฮลท์แคร์ (+51.9 จุดเปอร์เซ็นต์) ดีขึ้นมากที่สุด และวิศวกรรมซอฟต์แวร์ (+4.5 จุดเปอร์เซ็นต์) ต่ำที่สุด
- ใน 16 จาก 84 งาน ประสิทธิภาพกลับลดลง
- สกิลที่สร้างขึ้นเอง โดยเฉลี่ยไม่มีประสิทธิผล หรืออาจส่งผลลบ
- โมเดลยังไม่สามารถสร้างความรู้เชิงกระบวนการได้อย่างเสถียรด้วยตัวเอง
- สกิลแบบโฟกัสเฉพาะ (2~3 โมดูล) มีประสิทธิภาพสูงกว่าสกิลแบบเอกสารครอบคลุม
- การจับคู่โมเดลขนาดเล็ก + สกิล ให้ประสิทธิภาพใกล้เคียงกับโมเดลขนาดใหญ่ที่ไม่ใช้สกิล
บทสรุป
- SKILLSBENCH มอบ กรอบการประเมินที่เน้นสกิลเป็นศูนย์กลาง และพิสูจน์เชิงปริมาณว่าสกิลส่งผลต่อความสามารถในการทำงานจริงของเอเจนต์ LLM อย่างไร
- ผลลัพธ์แสดงให้เห็นว่า คุณภาพการออกแบบสกิลและความเหมาะสมกับโดเมน เป็นปัจจัยชี้ขาดต่อการเพิ่มประสิทธิภาพ
- ในงานวิจัยต่อไป ข้อมูลนี้สามารถใช้เป็นพื้นฐานในการศึกษาทั้ง หลักการออกแบบเชิงโครงสร้างของสกิล และ ข้อจำกัดของการสร้างสกิลอัตโนมัติ
1 ความคิดเห็น
ความเห็นบน Hacker News
แนวคิดเรื่อง “Self-Generated Skills” น่าสนใจ แต่ผมอยากชี้ให้เห็นว่ามันไม่เหมือนกับสิ่งที่ผู้คนมักเข้าใจว่าเป็น ‘กระบวนการที่ LLM เรียนรู้ทักษะด้วยตัวเอง’
ในงานวิจัยนี้ แค่ป้อนพรอมป์ให้มันสร้างความรู้เชิงกระบวนการที่เกี่ยวข้องก่อนเริ่มแก้ปัญหาเท่านั้น จึงยังห่างไกลจาก ‘ทักษะที่เรียนรู้จากประสบการณ์จริง’
อยากให้สื่อแยกความต่างตรงนี้ให้ชัดเวลาเขียนข่าว
ต่อให้ LLM สร้างทักษะเองได้ โครงสร้างแบบนี้ก็ไม่เปิดให้มันสำรวจหรือเรียนรู้จริง สุดท้ายก็แค่หมุนวนอยู่กับบริบทของตัวเอง
การเหมารวมผลลัพธ์แบบนี้จึงชวนให้เข้าใจผิดได้มาก
ถ้าเป็นความรู้ที่มีอยู่แล้วในตัวโมเดล ก็ไม่จำเป็นต้องเขียนเป็นเอกสาร และจะมีความหมายก็ต่อเมื่อเป็นข้อมูลที่ดึงออกมาได้ยากจริงๆ เท่านั้น
การสร้างสกิลก่อนลงมือทำเป็นวิธีที่ห่างจากโลกความจริงเกินไป
โดยให้เอเจนต์ตั้งคำถาม เดินกระบวนการแก้ปัญหา แล้วค่อยสรุปผลลัพธ์ออกมาเป็น สกิลแบบย่อที่อิงหลักฐาน ซึ่งได้ผลดีมาก
① จับความล้มเหลว → ② วินิจฉัยสาเหตุ → ③ เลือกเครื่องมือปรับปรุง → ④ บันทึกเป็นผลลัพธ์ที่มีการจัดการเวอร์ชัน → ⑤ หากจำเป็นก็ยกระดับเป็นเกต
เราใส่ลูปแบบนี้ไว้เป็นคำสั่งพื้นฐานให้กับเอเจนต์ทุกตัว
ผมทำ skill-creator สำหรับ Claude แยกไว้ใช้งานเอง
เพื่อป้องกันไม่ให้ Claude เขียนสกิลซ้ำจากข้อมูลที่มันรู้อยู่แล้ว เอกสารจึงต้องมีเฉพาะ
① ข้อมูลที่อยู่นอกชุดข้อมูลฝึก, ② บริบทที่ใช้ได้เฉพาะในเซสชันปัจจุบัน, ③ ข้อมูลที่ช่วยจัดแนวพฤติกรรมของ Claude ในอนาคตเท่านั้น
รายละเอียดทั้งหมดอยู่ที่ GitHub ลิงก์
ข้อมูลฝึกจากอินเทอร์เน็ตมีคุณภาพไม่สม่ำเสมอ จึงยากจะคาดหวังว่าโมเดลจะทำ ‘การคัดเลือกในระดับผู้เชี่ยวชาญ’ ได้
บทความที่มีอินไซต์ที่ไม่ชัดเจนในครั้งแรก อาจกลายเป็นเกณฑ์ได้ว่าสิ่งนั้นคือสกิลที่ดี
สิ่งที่น่าสนใจที่สุดในผลวิจัยคือ สกิลที่สร้างเองทำให้ประสิทธิภาพลดลง (-1.3pp) ในขณะที่ สกิลที่ผ่านการคัดสรรช่วยเพิ่มขึ้นมาก (+16.2pp)
มันสอดคล้องกับสมมติฐานที่ว่า LLM เก่งในฐานะ ผู้บริโภค ความรู้เชิงกระบวนการ แต่ไม่เก่งในฐานะ ผู้ผลิต
โดยเฉพาะในสายเฮลท์แคร์ที่ผลลัพธ์ดีกว่าซอฟต์แวร์มาก ซึ่งอาจเป็นเพราะมีข้อมูล SWE อยู่แล้วอย่างอุดมสมบูรณ์
เช่น Adobe React Spectrum UI ถ้าใช้โดยไม่มีสกิลจะเละมาก แต่ถ้ามีสกิลที่ทำดีแล้วผลจะต่างกันสุดๆ
การบอกโมเดลเฉยๆ ว่า “จงสร้างสกิล” ไม่มีความหมายมากนัก
ถ้าไม่ขยายความรู้ด้วย ข้อมูลใหม่หรือแหล่งข้อมูลภายนอก มันก็เป็นแค่การป้อนผลลัพธ์ของตัวเองกลับเข้าไปเป็นวงจร
ตอนสร้างสกิล ผมใช้ skill-creator ที่ให้มันทำรีเสิร์ชอัตโนมัติ แล้วกลั่นให้เข้ากับข้อมูลล่าสุดหรือเวิร์กโฟลว์ปัจจุบัน
ภายใต้เงื่อนไขแบบนี้ การสร้างสกิลแทบไม่มีความหมาย
ยิ่งเอา LLM ไปทำอัตโนมัติหลายชั้น ก็ยิ่งมีแนวโน้มว่าคุณภาพของแต่ละขั้นจะลดลง
ถ้ามนุษย์เป็นคนคิดไอเดียและวางแผนการลงมือ แล้วให้ LLM เขียนโค้ดอย่างเดียวก็ยังพอได้ แต่ถ้าให้มันทำถึงขั้นวางแผนด้วย คุณภาพจะ ตกฮวบ
ถ้าสรุปซ้ำหรือผลิตซ้ำหลายรอบ ในที่สุดความหมายจะพังทลาย
จึงต้องมี ข้อมูลสดจากมนุษย์ ป้อนเข้ามาเป็นระยะ
เวลาทำงานกับโค้ดเบสขนาดใหญ่ ผมจะให้ LLM เขียนรายงานการสำรวจก่อน แล้วค่อยเปิดเซสชันใหม่มาอ้างอิงรายงานนั้นในการทำงาน
แม้จะใช้โทเคนมากขึ้น แต่ก็ไม่พลาดรายละเอียดสำคัญ
สุดท้ายประเด็นสำคัญคือคุณป้อน ความรู้เกี่ยวกับโลก ให้โมเดลมากพอหรือไม่
ภาษาธรรมชาตินั้นไม่เสถียรโดยธรรมชาติ ยิ่งส่งต่อซ้ำ ความบิดเบือนก็ยิ่งมากขึ้น
ที่เราสื่อสารกันได้ดีขนาดนี้ตั้งแต่แรกก็ถือว่าน่าทึ่งแล้ว
ในโครงสร้างแบบ open loop ความแม่นยำจะลดลง แต่ถ้าแต่ละขั้นปรับตัวเองได้ ระบบจะเสถียรกว่ามาก
ผมกำลังสร้าง agentic-ready data warehouse ( GitHub.com/mathisdrn/orca )
ตอนแรกตั้งใจจะปรับสกิลให้เหมาะกับเบนช์มาร์ก แต่พบว่าแนวทางแบบ DsPy และ GEPA ที่ใช้ภาษาของโมเดลเองเป็นทั้งผู้ประเมินและผู้สร้างนั้นมีประสิทธิภาพกว่า
เลยสงสัยว่า skill-creator ของ Anthropic หรือ OpenAI ก็มีโครงสร้าง self-optimization แบบนี้หรือไม่
ผมไม่คิดว่างานวิจัยนี้ทั้งน่าตื่นเต้นหรือมีความหมายเชิงปฏิบัติมากนัก
ในโลกจริง แทบไม่มีกรณีที่โมเดลจะ สร้างสกิลจากความรู้แฝงของตัวเองล้วนๆ
งานวิจัยทดลองภายใต้ข้อจำกัดแบบนั้น ผลที่ออกมาจึงไม่น่าแปลกใจ
สิ่งที่น่าสนใจกว่าคือวิธีที่โมเดลไปสัมภาษณ์มนุษย์ หรือ สร้างสกิลหลังจากทำรีเสิร์ชเชิงลึก
จริงๆ แล้วการที่มีงานวิจัยแบบนี้ออกมาต่างหากที่น่าแปลกกว่า
แถมงานลักษณะนี้ยังช่วยกันพวก “ผู้จัดการที่สั่งให้โมเดลเขียนเอกสาร best practices โดยไม่มีบริบทอะไรเลย” ได้อีก
แต่งานวิจัยนี้ไม่ได้คำนึงถึงบริบทแบบนั้น
ช่วงนี้รู้สึกว่ามีคนเก่งๆ มากเกินไปที่กำลัง เสียพลังงานไปกับการถกเถียงเรื่อง AI
แต่ก่อนพวกเขาแค่สร้างซอฟต์แวร์ที่มีประโยชน์ ตอนนี้กลับหมกมุ่นอยู่กับหัวข้อ AI ใหม่ที่โผล่มาทุกสัปดาห์
มันมีแรงดึงดูดแบบ nerd-sniping ที่รุนแรงกว่า Web3 หรือเฟรมเวิร์ก JS เสียอีก
ข่าวนี้เองก็แค่ยืนยันผลลัพธ์ที่พอเดาได้อยู่แล้ว
แต่ก็มีโอกาสสูงว่าพอมีโมเดลรุ่นใหม่ออกมา การถกเถียงเหล่านี้จะหมดความหมายไปเอง
หลายทีมถูกสั่งให้หันไปใช้ ‘กลยุทธ์สกิล’ แต่ระหว่างนั้นโมเดลใหม่อาจทำได้ดีกว่าไปแล้ว
สุดท้ายทุกคนก็ยัง หาทิศทางไม่เจอในโครงสร้างการอยู่รอดที่ไม่มั่นคง
ผมก็เห็นปัญหา คุณภาพตกของเอกสารที่สร้างเอง บ่อยมาก
ถ้าให้ LLM สกัด ‘best practices’ จากโค้ด มันมักจะจับแพตเทิร์นที่ผิดแล้วเอาไปเขียนเป็นเอกสารตรงๆ
เช่นเคยมีกรณีที่มันใช้
ConfigureAwait(false)หรือTask.Runผิดในโค้ด C#เพื่อแก้ปัญหานี้ เรากำลังสร้าง ระบบความรู้ที่ผ่านการคัดสรร
และเชื่อว่า agentic coding ที่อิง Markdown จะเป็นชั้น abstraction รุ่นถัดไป
คุณสมบัตินี้จะส่งผลต่อภาพรวมของระบบอย่างไร ยังไม่ชัดเจนนัก
ชื่อที่ส่งมาตอนแรกคือ “Self-generated agent skills are useless” ซึ่งขัดกับ แนวทางของ HN
การคงชื่อเดิมไว้ แล้วไปแสดงความเห็นในคอมเมนต์น่าจะยุติธรรมกว่า
ผมคิดว่าชื่อที่ชัดเจนจะช่วยให้ชุมชนได้อินไซต์มากกว่า
เจตนาไม่ได้ต้องการล่อคลิก แต่ต้องการ เน้นย้ำข้อค้นพบหลัก