SkillOpt — เมื่อ Microsoft สอนให้ AI Agent พัฒนาตัวเองโดยไม่แตะโมเดลแม้แต่บรรทัดเดียว
โดย Nokka (นก-กา) | 21 กรกฎาคม 2026
บทความนี้เขียนโดย AI (DeepSeek V4 Pro) ผ่าน Hermes Agent ภายใต้การควบคุมของ Nokka (นก-กา)
คุณเคยเขียนไฟล์ CLAUDE.md หรือ SKILL.md ให้ AI agent ไหม?
ผมเขียนทุกวัน — และทุกครั้งที่เขียนเสร็จ ผมจะรู้สึกว่ามันยังไม่ดีพอ มีบางอย่างที่ขาดไป บางประโยคที่ควรเปลี่ยน แต่ไม่รู้ว่าต้องเปลี่ยนเป็นอะไร
SkillOpt — งานวิจัยใหม่จาก Microsoft Research — คือคำตอบของคำถามนั้น
แทนที่จะให้เรานั่งแก้ skill document ด้วยมือ SkillOpt ทำให้การปรับปรุง skill เป็น กระบวนการทางวิทยาศาสตร์ที่วัดผลได้ — เหมือนการเทรน neural network แต่แทนที่จะปรับ weight ของโมเดล มันปรับ ข้อความในไฟล์ markdown ที่กำกับพฤติกรรม agent
และผลลัพธ์ที่ออกมาน่าทึ่ง — ดีที่สุดหรือเสมอดีที่สุดใน 52 จาก 52 การทดสอบ [1] ครอบคลุม 7 โมเดล 6 benchmark และ 3 harness
แนวคิดหลัก — Skill Document คือ Trainable State
หัวใจของ SkillOpt คือการมอง skill document เป็น "น้ำหนัก" ของ agent — สิ่งที่เทรนได้ วัดผลได้ ปรับปรุงได้
ปกติแล้วเรามี 3 วิธีในการทำให้ agent เก่งขึ้น:
- Fine-tune โมเดล — แพง ใช้ข้อมูลเยอะ ต้องทำซ้ำทุกครั้งที่โมเดลอัปเดต
- เขียน prompt ให้ดีขึ้น — ใช้ความรู้สึก ลองผิดลองถูก ไม่มีหลักประกันว่าดีขึ้นจริง
- แก้ skill document เอง — เหนื่อย ไม่รู้ว่าควรแก้อะไร
SkillOpt เสนอวิธีที่ 4 — ให้ optimizer model อีกตัวมาช่วยแก้ skill document ให้ โดย optimizer ตัวนี้ดู trajectory การทำงานของ agent (สิ่งที่ agent ทำ, ผลลัพธ์, คะแนน) แล้วเสนอการแก้ไขแบบ bounded — เพิ่มประโยค, ลบประโยค, แก้ไขประโยค — ภายใต้ budget ที่จำกัด
ความสวยงามของวิธีนี้คือ ตัวโมเดลเป้าหมายไม่ถูกแตะต้องเลย — weight หยุดนิ่ง, architecture หยุดนิ่ง, inference cost หยุดนิ่ง — มีแค่ไฟล์ best_skill.md (300-2,000 tokens) ที่ค่อยๆ ดีขึ้น
4 ขั้นตอน — วงจรที่ทำให้ Skill พัฒนาตัวเอง
SkillOpt ทำงานผ่าน loop 4 ขั้นตอน:
1. Rollout — ให้ Agent ลงมือทำงานจริง
เอา skill document ปัจจุบันไปใส่ใน agent แล้วให้ทำงานบน benchmark — บันทึกทุกอย่าง: prompt, การตอบสนอง, ผลลัพธ์, คะแนน
2. Reflect — วิเคราะห์ว่าอะไรผ่าน อะไรตก
optimizer model ดู trajectory ทั้งหมด แล้ววิเคราะห์ว่า agent ทำอะไรถูก ทำอะไรผิด — และที่สำคัญคือ ทำไมถึงผิด — ไม่ใช่แค่บอกว่า "คะแนนต่ำ" แต่ระบุสาเหตุ: "agent ลืม validate input ก่อนส่งต่อ", "agent ใช้ tool ผิดตัวสำหรับงานนี้"
3. Aggregate & Select — เสนอการแก้ไขแบบมี Budget
optimizer เสนอการแก้ไข skill document — เพิ่ม/ลบ/แก้ไขประโยค — แต่มี bounded edit budget (เหมือน learning rate ใน deep learning) ที่จำกัดจำนวนการแก้ไขต่อรอบ
การมี budget นี้สำคัญมาก — งานวิจัยแสดงให้เห็นว่าถ้าตัด budget ออก คะแนนตก — เพราะ optimizer จะ rewrite มากเกินไปจน skill สูญเสียโครงสร้างเดิมที่ดีอยู่แล้ว
4. Validate & Update — ต้องผ่านด่านทดสอบก่อนถึงจะยอมรับ
การแก้ไขที่เสนอมาจะถูกทดสอบกับ held-out validation set — ข้อมูลที่ optimizer ไม่เคยเห็นระหว่างเทรน — ถ้าคะแนนดีขึ้นจริงถึงจะ accept ถ้าไม่ดีขึ้นก็ reject
กลไกนี้มี rejected-edit buffer — การแก้ไขที่ถูก reject จะถูกเก็บไว้ เพื่อป้องกันไม่ให้ optimizer เสนอสิ่งเดิมซ้ำแล้วซ้ำเล่า
ตัวเลขที่ต้องอ่าน
SkillOpt ถูกทดสอบบน:
- 7 โมเดลเป้าหมาย — GPT-5.5, Claude Opus 4.8, Qwen 3.6, และอื่นๆ
- 6 benchmark — ครอบคลุมงานหลากหลายประเภท
- 3 harness — direct chat, Codex CLI, Claude Code CLI
ผลลัพธ์:
| มิติ | ตัวเลข |
|---|---|
| ดีที่สุดหรือเสมอดีที่สุด | 52/52 cells |
| GPT-5.5 (direct chat) | +23.5 จุด |
| GPT-5.5 (Codex CLI) | +24.8 จุด |
| GPT-5.5 (Claude Code CLI) | +19.1 จุด |
| บางงาน (Sheet, Office) | กระโดดขึ้น เกือบ 40 จุด |
ตัวเลข +23.5 จุดบน GPT-5.5 นี่ไม่ใช่เล็กๆ — มันคือการเปลี่ยนจาก "พอใช้ได้" เป็น "เก่งมาก" โดยไม่ต้องแตะโมเดลเลย
Ablation — พิสูจน์ว่าทุกชิ้นส่วนจำเป็น
งานวิจัยนี้ทำ ablation study — ถอดแต่ละกลไกออกทีละชิ้นเพื่อดูว่ามันจำเป็นจริงไหม:
- ตัด bounded edit budget → คะแนนตก — optimizer rewrite มากเกินไป
- ตัด rejected-edit buffer → คะแนนตก — optimizer เสนอสิ่งเดิมซ้ำๆ ไม่ converge
- ตัด memory/context → คะแนนตก — optimizer ไม่มีข้อมูลเพียงพอที่จะวิเคราะห์
ทุกชิ้นส่วนทำงานของมันจริง — ไม่ใช่แค่ยัดโมเดลใหญ่เข้าไปแล้วได้ผล
Transfer — ไฟล์เดียวใช้ได้กับทุกโมเดล ทุก Harness
จุดที่ผมทึ่งที่สุดคือ transfer — skill ที่เทรนจากโมเดลหนึ่งบน benchmark หนึ่ง สามารถเอาไปใช้กับโมเดลอื่นหรือ harness อื่นได้เลย
ตัวอย่าง: skill ที่เทรนผ่าน Codex เอาไปใช้ใน Claude Code — ยังได้ผลบวก +31.8 จุด
หรือให้โมเดลเล็กเป็น optimizer ของตัวเอง — ก็ยังพัฒนา skill ตัวเองได้ ไม่ได้พึ่งโมเดลใหญ่กว่าเพียงอย่างเดียว
นี่คือ dream scenario ของการเขียน skill — เขียนครั้งเดียว ใช้ได้ทุกที่
SkillOpt-Sleep — ให้ Agent พัฒนาตัวเองตอนคุณนอน
เวอร์ชันล่าสุด (v0.2.0, 2 กรกฎาคม 2026) เพิ่มฟีเจอร์ SkillOpt-Sleep — nightly offline self-evolution engine
หลักการคือ: ตอนกลางคืน SkillOpt-Sleep จะ review session ที่ผ่านมา, replay งานที่เกิดซ้ำ, และ consolidate skill ที่ผ่าน validation gate — โดยที่คุณไม่ต้องทำอะไรเลย
ตื่นเช้ามา — best_skill.md ของคุณดีขึ้นกว่าเมื่อวาน
สิ่งที่ผมคิด
SkillOpt มาถูกจังหวะพอดี — ตอนนี้ ecosystem ของ agent skill กำลังระเบิด (Claude Code skills, Codex skills, Copilot skills, OpenClaw skills — มีเป็นหมื่นๆ ไฟล์) แต่ทุกคนยังเขียน skill กันแบบลองผิดลองถูก
SkillOpt เปลี่ยน skill writing จากศิลปะเป็นวิทยาศาสตร์ [1] — แทนที่จะเดาว่าควรแก้ประโยคไหน ให้ optimizer ดู trajectory จริงแล้วเสนอการแก้ไขแบบมีหลักฐาน
และที่สำคัญ — มันไม่ต้องใช้ GPU ราคาแพงเพื่อ fine-tune โมเดล — แค่ optimizer model หนึ่งตัว (ซึ่งอาจเป็นโมเดลเล็กก็ได้) กับ API calls สำหรับ rollout
สำหรับคนที่คลุกคลีกับ AI agent ทุกวัน — นี่คือเครื่องมือที่ควรจับตามอง
เริ่มต้นใช้งาน
SkillOpt ติดตั้งได้จาก PyPI [2]:
pip install skillopt
หรือดูโค้ดเต็มที่ GitHub — microsoft/SkillOpt (13.8k stars, MIT license)
อ่าน paper เต็มที่ arXiv: 2605.23904
ติดตามบทวิเคราะห์ AI และเครื่องมือสำหรับนักพัฒนาได้ที่ Nokka on dev.to — กด Follow ที่โปรไฟล์เพื่อรับอัปเดตทุกครั้งที่มีบทความใหม่
อ้างอิง
[1] Yifan Yang et al., "SkillOpt: Executive Strategy for Self-Evolving Agent Skills," arXiv:2605.23904, 2026. https://arxiv.org/abs/2605.23904
[2] Microsoft, "SkillOpt — GitHub Repository," 2026. https://github.com/microsoft/SkillOpt
Top comments (0)