16 คะแนน โดย GN⁺ 2025-12-22 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • Agent Skills คือโครงสร้างส่วนขยายที่เพิ่ม ความสามารถเฉพาะทางตามงาน ให้กับ Codex เพื่อให้ทำเวิร์กโฟลว์บางอย่างได้อย่างเสถียร
  • แต่ละสกิลประกอบด้วยไฟล์ SKILL.md และ สคริปต์·ทรัพยากร·แอสเซ็ต แบบเลือกใช้ ทำให้ แชร์กันได้ ระหว่างทีมหรือชุมชน
  • Codex เรียกใช้สกิลได้ทั้งแบบ เรียกใช้โดยชัดแจ้ง (คำสั่ง /skills หรือการป้อน $) และแบบ เรียกใช้โดยปริยาย (ใช้อัตโนมัติเมื่อคำอธิบายงานตรงกัน)
  • สกิลถูกจัดการผ่าน ตำแหน่งจัดเก็บและระบบลำดับความสำคัญ หลายแบบ เช่น REPO, USER, ADMIN, SYSTEM และสามารถสร้างสกิลใหม่ได้ด้วย $skill-creator
  • ฟีเจอร์นี้ ใช้งานได้ทั้งใน CLI และส่วนขยาย IDE และสามารถติดตั้งสกิลจาก GitHub เป็นต้น เพื่อขยายความสามารถได้

ภาพรวมของ Agent Skills

  • Agent Skills คือโครงสร้างที่มอบ ความสามารถและความเชี่ยวชาญใหม่ ให้กับ Codex
    • สกิลจะบรรจุ คำแนะนำ ทรัพยากร และสคริปต์แบบเลือกใช้ สำหรับการทำงานเฉพาะอย่าง
    • สามารถ แชร์กันได้ ระหว่างทีมหรือชุมชน และอิงตาม open Agent Skills standard
  • ใช้งานได้ทั้งใน CLI และส่วนขยาย IDE ของ Codex

โครงสร้างและองค์ประกอบของสกิล

  • แต่ละสกิลมีไฟล์ SKILL.md เป็นแกนหลัก และมีโครงสร้างโฟลเดอร์ดังนี้
    • SKILL.md: จำเป็น ต้องมีคำแนะนำและเมทาดาทา
    • scripts/: โค้ดสำหรับรันแบบเลือกใช้
    • references/: เอกสารแบบเลือกใช้
    • assets/: เทมเพลตและทรัพยากรแบบเลือกใช้
  • Codex ใช้วิธี progressive disclosure เพื่อจัดการคอนเท็กซ์อย่างมีประสิทธิภาพ
    • ตอนเริ่มจะโหลดเฉพาะชื่อและคำอธิบายของสกิล และจะอ่านคำแนะนำทั้งหมดเมื่อจำเป็น

วิธีการเรียกใช้สกิล

  • การเรียกใช้โดยชัดแจ้ง (Explicit invocation)
    • ระบุสกิลได้โดยตรงด้วยคำสั่ง /skills หรือการป้อน $
    • Codex เวอร์ชันเว็บและ iOS ยังไม่รองรับการเรียกใช้โดยชัดแจ้ง แต่สกิลที่รวมอยู่ในรีโพซิทอรียังสามารถใช้ผ่านพรอมป์ต์ได้
  • การเรียกใช้โดยปริยาย (Implicit invocation)
    • เมื่อสิ่งที่ผู้ใช้ต้องการทำตรงกับคำอธิบายของสกิล Codex จะใช้สกิลนั้นโดยอัตโนมัติ

ตำแหน่งจัดเก็บสกิลและลำดับความสำคัญ

  • Codex จะโหลดสกิลจากหลายตำแหน่ง และ สกิลจากตำแหน่งที่มีลำดับความสำคัญสูงกว่าจะเขียนทับสกิลชื่อเดียวกันในระดับล่างกว่า
  • สโคปและตำแหน่งหลัก
    • REPO: $CWD/.codex/skills, $CWD/../.codex/skills, $REPO_ROOT/.codex/skills
    • USER: $CODEX_HOME/skills หรือ ~/.codex/skills
    • ADMIN: /etc/codex/skills
    • SYSTEM: สกิลที่มีมาให้ใน Codex โดยค่าเริ่มต้น
  • แต่ละสโคปถูกใช้ตาม วัตถุประสงค์ในการจัดการระดับบุคคล ทีม และระบบ

วิธีสร้างสกิล

  • สามารถใช้สกิลในตัวของ Codex อย่าง $skill-creator เพื่อสร้างสกิลใหม่แบบอัตโนมัติได้
    • หากใช้ร่วมกับสกิล $plan ก็สามารถวางแผนก่อนสร้างสกิลได้
  • หากสร้างเองด้วยมือ ให้สร้างโฟลเดอร์ในตำแหน่งที่ถูกต้องและเขียนไฟล์ SKILL.md
    • รายการที่จำเป็น: name, description
    • รายการที่เลือกใช้ได้: metadata.short-description
  • สกิลอิงตาม Agent Skills specification

การติดตั้งสกิลและตัวอย่าง

  • สามารถใช้สกิล $skill-installer เพื่อติดตั้งสกิลจาก คลังสกิลสาธารณะบน GitHub ได้
    • ตัวอย่าง: $skill-installer linear
    • สามารถติดตั้งสกิลจากรีโพซิทอรีอื่นได้เช่นกัน
  • ตัวอย่างสกิลในตัว
    • $plan: วางแผนสำหรับการพัฒนาฟีเจอร์ใหม่หรือการแก้ปัญหาที่ซับซ้อน
    • $skill-installer linear: เข้าถึงคอนเท็กซ์ของ Linear
    • $skill-installer notion-spec-to-implementation: เข้าถึงข้อมูลของ Notion

ความหมายต่อผู้พัฒนา Codex

  • Agent Skills เป็นองค์ประกอบสำคัญที่ช่วยเพิ่ม ความสามารถในการขยายระบบและการทำงานร่วมกัน ของ Codex
  • นักพัฒนาสามารถนิยามสกิลของตนเองเพื่อสร้าง เวิร์กโฟลว์การพัฒนาแบบอัตโนมัติ ได้
  • ด้วย การผสานรวม CLI·IDE, การเชื่อมต่อ GitHub และ ข้อกำหนดสกิลที่เป็นมาตรฐาน จึงช่วยเสริมศักยภาพในการขยายระบบนิเวศของ Codex

1 ความคิดเห็น

 
GN⁺ 2025-12-22
ความเห็นจาก Hacker News
  • ดีใจมากที่ Skills กำลังกลายเป็นมาตรฐาน
    เขียนได้ด้วยแค่ ไฟล์ Markdown ธรรมดา และโดยพื้นฐานแล้ว ประหยัด context
    เอาไปวางทับบนเครื่องมือเดิมได้ จึงสามารถทำ skill ที่อธิบายวิธีใช้ gh CLI แทน GitHub MCP ได้ด้วย
    สามารถนำหลาย skill มาประกอบใช้ร่วมกันได้ และยังใส่สคริปต์ Python หรือ JS ได้ด้วย
    ทำให้เป็นแนวทางที่ง่ายและยืดหยุ่นกว่ามาก โดยไม่ต้องเปิดเผย MCP server แยกต่างหาก

    • นอกจากนี้ ตัวเอเจนต์เองยังสามารถ แก้ไข·ปรับปรุง·เพิ่ม skill ได้ด้วย
      เช่น ทำให้เป็นอัตโนมัติได้ด้วยคำสั่งอย่าง “เพิ่มประเด็นสำคัญของเซสชันนี้เป็น skill ให้หน่อย”
      ไม่ใช่แค่เซสชันที่ดีเท่านั้น แม้แต่เซสชันที่ลองผิดลองถูกเยอะก็ยังเก็บสิ่งที่เรียนรู้ไว้เป็น skill ได้
      มอบ workflow การขยายความสามารถ ที่เร็วและเข้าถึงง่ายกว่า MCP มาก
    • กำลังคิดอยู่ว่าจะใช้ skill อย่างไรได้บ้างในเว็บแอประดับกลางที่ใช้ Django + PostgreSQL + Python
      ก็สงสัยเหมือนกันว่าอาจจะมีประโยชน์มากกว่าทาง data science หรือ DevOps มากกว่างาน CRUD เป็นหลักหรือเปล่า
    • ท้ายที่สุดแล้ว skill ก็ดูเหมือนแนวคิดแบบ การแคชสูตร use case / workflow
  • แก่นสำคัญของ Skills คือ ตามสเปกแล้วจะ ไม่ใช้ RAG กับโค้ดของ skill หรือเนื้อหาใน markdown
    กล่าวคือ จะใส่แค่ชื่อและคำอธิบายใน front-matter เข้าไปใน prompt เพื่อใช้เลือก skill
    เพราะฉะนั้น logic ที่ไม่ได้ถูกกล่าวถึงในคำอธิบายก็อาจจะไม่ถูกค้นพบไปเลย
    อีกทั้งคำอธิบายของ skill ก็เป็น prompt injection รูปแบบหนึ่ง จึงส่งผลต่อโทนโดยรวมและต้นทุน token ด้วย
    ดูตัวอย่างที่เกี่ยวข้องได้จากลิงก์โค้ดนี้

    • ส่วนตัวรู้สึกว่าดัชนี skill อาจกลายเป็น ภาระมากกว่าความช่วยเหลือ ได้
      การรักษา context ให้สะอาดเป็นเรื่องสำคัญ จึงชอบวิธีเพิ่มไฟล์ md โดยตรงเฉพาะเวลาจำเป็นมากกว่า
      MCP ซับซ้อนเกินไป และแม้แต่ skill เองก็ดูเหมือนถูกออกแบบเกินความจำเป็นนิดหน่อย
    • บาง agentic system ใช้ RAG กับ skill
      นี่เป็นปัญหาด้าน การออกแบบ agentic harness มากกว่าตัว LLM เอง
      ต่อไปก็น่าจะเห็น LLM กับ harness ถูกผสานเข้าหากันแน่นแฟ้นยิ่งขึ้น
    • MCP หรือ tools เองก็มีปัญหาแบบเดียวกันอยู่ดี
  • ฉันใช้วิธีคล้ายกันนี้มานานแล้ว
    สร้างโฟลเดอร์แยกตามแต่ละฟังก์ชัน แล้วมี README.md, scripts, GUIDE.md
    ถ้าเจอโค้ดที่ใช้ซ้ำได้ (เช่นการเชื่อมต่อ clerk.dev) ก็จะจัดเก็บเป็นโฟลเดอร์
    แล้วค่อยรวมใช้เมื่อจำเป็นด้วย merge-to-md
    วิธีนี้ทำงานได้ดีแบบสมบูรณ์อยู่แล้ว และตอนนี้ก็ดีใจที่ความสามารถแบบนี้ ถูกใส่มาเป็นพื้นฐานในเอเจนต์

    • คำอธิบายนี้ช่วยให้เข้าใจแนวคิดของ skill ได้ ง่ายมาก
  • ในระยะยาว Skills ดูมีแนวโน้มจะพัฒนาไปคล้าย ไลบรารีโอเพนซอร์ส
    ถ้ามีการให้โซลูชันมาตรฐานอย่างการยืนยันตัวตนหรือ multi-tenancy ในรูปแบบ skill
    ความปลอดภัยและคุณภาพโค้ดก็น่าจะดีขึ้นมาก

    • ยิ่งไปกว่านั้น ถ้าโมเดลสามารถค้นหาและดาวน์โหลด skill ที่ต้องการจาก ดัชนี skill ระดับโลก
      แล้วนำไปใช้ได้ทันที ก็อาจกลายเป็นทางเลือกแทนการเรียนรู้อย่างต่อเนื่องได้
  • Skills, plugins, apps, connectors, MCPs, agents… พูดตรง ๆ คือสับสน

    • ความสับสนนี้เกิดจาก ความยังไม่成熟ของเทคโนโลยีและการเปลี่ยนแปลงที่รวดเร็ว
      ยังไม่มีการตัดสินว่าแนวทางไหนดีที่สุด และคำศัพท์ก็ยังไม่ถูกจัดระเบียบ
      แม้แต่คำว่า “Agent” เองก็ยังมีความหมายต่างกันไปในแต่ละกลุ่ม
    • จริง ๆ แล้วทั้งหมดนี้ก็เป็นแค่ อุปกรณ์อำนวยความสะดวกในการดึง context เท่านั้น
      นอกจากการรันเครื่องมือแล้ว ก็เป็นหลากหลายวิธีในการเพิ่มบริบทเข้าไปใน prompt
    • บางคนเรียกทั้งหมดนี้ว่าเป็นแค่ ทางแก้ชั่วคราว (bandaid)
    • อีกคนก็มองว่าเป็นแค่ ชื่อทางการตลาดของ API กับ prompt เท่านั้น
    • มันยังคล้ายกับปรากฏการณ์ที่ LLM สร้างไอเดียจำนวนมากที่คล้ายกันแต่ต่างกันเล็กน้อย
  • ไม่นานมานี้ในโพสต์นี้
    มีการอธิบายโครงสร้างที่เอเจนต์เรียก LLM ซ้ำ ๆ และแลกเปลี่ยน คำขอใช้เครื่องมือ ในรูปแบบ JSON กันไปมา
    ก็เลยสงสัยว่าในเฟรมเวิร์กนี้ skill จะมีหน้าตาแบบไหน

    • ก่อนเริ่มลูปแรก harness จะส่งบล็อก <Skills> ให้ LLM
      ตัวอย่าง: <Skill><Name>postgres</Name><Description>วิธี query DB pre-prod</Description><File>skills/postgres.md</File></Skill>
      มีการส่งการแจ้งเตือนนี้ซ้ำเป็นระยะเพื่อไม่ให้ LLM “ลืม” skill
      สุดท้ายแล้วสิ่งที่ส่งไปมีแค่ ชื่อ+คำอธิบาย+พาธไฟล์ จึงใช้ token น้อย
      แต่ถ้าเป็น LLM ที่ฉลาดพอ ก็อาจทำงานได้ดีโดยไม่ต้องมีโครงสร้างแบบนี้ก็ได้
    • เอเจนต์จะ โหลดแบบเลือกเฉพาะที่จำเป็น ได้ทีละหนึ่ง skill หรือหลาย skill
      เป็นวิธีมาตรฐานในการโหลด prompt ของ skill พร้อมสคริปต์ที่เกี่ยวข้องมาใช้ร่วมกัน
  • หลายคนกำลังเข้าใจ Skills ผิด
    ประเด็นสำคัญไม่ใช่ไฟล์ .md แต่เป็น การบันเดิลโค้ดกับคำสั่งไว้ด้วยกัน
    Skills มีพื้นฐานอยู่บนสมมติฐานว่า มีสภาพแวดล้อมสำหรับรันโค้ด

    • สามารถอนุมัติโค้ดที่รันได้ไว้ล่วงหน้า แล้วค่อยเรียกจาก prompt เมื่อจำเป็น
      จุดเด่นใหญ่คือการประหยัด context ด้วย การทำดัชนีเมทาดาทาและการโหลดแบบหน่วงเวลา
    • บางคนอธิบายว่านี่คือ การกลับมาของ literate programming
  • ถ้ามี มาร์เก็ตเพลส skills.md ก็น่าจะช่วยให้เทคโนโลยีแพร่หลายขึ้น

    • แต่ในความเป็นจริงก็มองว่าดำเนินการได้ยากเพราะมีปัญหาเรื่อง สแปม ความปลอดภัย และการขาดความคุ้มค่าทางรายได้
      แค่ดูกรณีสแปมที่เกี่ยวกับ MCP ก็พอเห็นภาพแล้ว
      ท้ายที่สุดก็มีแนวโน้มว่าจะเหลือแค่บริษัทที่เชื่อถือได้หรือเหล่านักพัฒนาชื่อดังเป็นศูนย์กลาง
    • ตอนนี้มี คลัง skills ของ Anthropic อยู่แล้ว
      แม้จะไม่มีคะแนนหรือคอมเมนต์ แต่คุณภาพก็น่าคาดหวังได้
    • ความพยายามแบบนี้มีให้เห็นบ่อย แต่เพราะ ต้นทุนในการสร้าง skill แบบปรับแต่งเองแทบเป็น 0
      แรงจูงใจที่จะใช้ prompt ของคนอื่นจึงไม่มากนัก
    • ฉันเองก็อ้างอิงเอกสารของ Anthropic แล้วลองทำ skill สำหรับเขียน skill ขึ้นมา
      สุดท้ายสิ่งสำคัญคือ การปรับให้เหมาะกับ workflow และ codebase ของตัวเอง
  • สงสัยว่าเราจะใช้ skill ที่สร้างขึ้นมา ให้เอเจนต์ช่วย สรุปวิธีแก้สุดท้าย ที่ได้มาหลังจากลองหลายรอบได้ไหม

    • ฉันก็ทำ “meta skill” ไว้เพื่อให้มัน อัปเดตกฎด้วยตัวเอง หลังจบเซสชัน
      ตอนนี้กำลังสร้าง ผลแบบ flywheel ด้วยวิธีนี้
  • มีมุกล้อว่า Anthropic ดูเหมือน Chief Product Officer ของ OpenAI

    • แล้วก็มีคนต่อมุกว่า “แถมไม่ได้ค่าตอบแทนด้วย”