32 คะแนน โดย gracefullight 2026-03-16 | 4 ความคิดเห็น | แชร์ทาง WhatsApp

เมื่อบอกเอเจนต์ว่า “ช่วยสร้างแอป TODO ให้หน่อย” มันก็สร้างอะไรบางอย่างขึ้นมาจริง ๆ ปัญหาคือมันมักจะสร้างสิ่งที่ไม่ตรงประเด็น หลุดขอบเขต และทำผิดซ้ำแบบเดิมอยู่บ่อยครั้ง

เพื่อแก้ปัญหาเหล่านี้ ในช่วงแรกจึงมีแนวทางแบบมีโครงสร้างอย่าง AGENTS.md และช่วงหลัง ๆ ก็มีแนวทางอย่าง Skills ปรากฏขึ้นมากขึ้นเรื่อย ๆ แต่เมื่อดูสกิลที่มีการแชร์กันจริง จะพบปัญหาร่วมบางอย่างดังนี้

  • ขาด ข้อมูลเวอร์ชันของไลบรารี ซึ่งสำคัญที่สุด
  • คำอธิบายบทบาทจบลงแค่ คำประกาศ อย่าง "You are a Senior engineer"
  • เนื้อหาที่จริง ๆ ใช้แค่คีย์เวิร์ดไม่กี่คำก็พอ กลับถูก เขียนยืดยาวจนเปลืองโทเค็น

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


[แนวทางการออกแบบ]

ผมอยากใช้ oh-my-agent เพื่อแก้ปัญหานี้ด้วยกระบวนการ ไม่ใช่ด้วยพรอมป์ต์ กล่าวคือเมื่อเอเจนต์ทำงานผิดพลาด แทนที่จะบอกแค่ว่า “ทำใหม่” ก็จะมีโครงสร้างที่บันทึกว่าเหตุใดจึงผิด และสะท้อนสิ่งนั้นไปยังการรันครั้งถัดไป

กลไกตัวแทนที่สำคัญคือการให้คะแนน Clarification Debt(CD) หากเอเจนต์เข้าใจความต้องการผิดหรือทำเกินขอบเขต คะแนนจะสะสมขึ้น

  • clarify: +10 — คำถามยืนยันทั่วไป
  • correct: +25 — ปรับทิศทางเพราะเข้าใจเจตนาผิด
  • redo: +40 — หลุดขอบเขตจนต้อง rollback แล้วเริ่มใหม่
  • เริ่มงานโดยไม่ตรวจสอบ Charter: +15
  • แก้ไขไฟล์นอกขอบเขตที่อนุญาต: +20
  • ทำเออร์เรอร์เดิมซ้ำ: ตัวคูณ x1.5

หากเกิน 50 คะแนน จะต้องเขียน Root Cause Analysis(RCA) และหากเกิน 80 คะแนน เซสชันจะถูกยุติ บทเรียนที่ได้จากตรงนี้จะถูกสะสมไว้ใน lessons-learned.md และนำไปใช้กับเซสชันถัดไปทันที เป็นโครงสร้างที่แม้พรอมป์ต์จะเขียนสั้น ๆ แต่กระบวนการจะช่วยปรับแก้ให้

ยังมีโปรโตคอลร่วมอีกหลายอย่างเพื่อไม่ให้เอเจนต์ทำงานตามอำเภอใจ

  • Clarification Protocol
    แบ่งความกำกวมของความต้องการเป็น LOW / MEDIUM / HIGH ถ้าเป็น LOW ให้เดินหน้าต่อ ถ้าเป็น MEDIUM ให้เสนอทางเลือก และถ้าเป็น HIGH ให้หยุดงานเพื่อขอความชัดเจน
  • Difficulty Guide
    แบ่งงานเป็น Simple / Medium / Complex แล้วปรับระดับความลึกของโปรโตคอลที่ต้องใช้
  • Context Budget
    ตั้งงบโทเค็นตามแต่ละโมเดล เพื่อลดการสิ้นเปลืองคอนเท็กซ์ที่ไม่จำเป็น

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


[โครงสร้างโปรเจกต์]

oh-my-agent จัดการสิ่งเหล่านี้ภายในโครงสร้างของโปรเจกต์

  • .agents/ = SSOT
    รวบรวมสกิล เวิร์กโฟลว์ และการตั้งค่าไว้ใต้ .agents/ เพื่อใช้เป็นแหล่งข้อมูลจริงเพียงหนึ่งเดียว ไม่ผูกกับ IDE ใด IDE หนึ่ง
  • ทีมเอเจนต์ตามบทบาท
    นอกจากบทบาทพื้นฐานอย่าง PM, QA, Frontend, Backend, Mobile, Debug แล้ว รอบนี้ยังเพิ่ม DB Agent และ TF Infra Agent เข้ามาด้วย
    • DB Agent: การออกแบบโมเดล SQL / NoSQL / Vector DB พร้อมคำแนะนำด้านความปลอดภัยตาม ISO 27001
    • TF Infra Agent: Terraform แบบ Multi-cloud, นโยบาย OPA / Sentinel พร้อมแนวทางควบคุมตาม ISO 42000 series
  • การออร์เคสเตรตแบบยึดเวิร์กโฟลว์เป็นศูนย์กลาง
    ใช้การวางแผน รีวิว ดีบัก และการรันแบบขนานเป็นโฟลว์พื้นฐาน เวิร์กโฟลว์ /brainstorm ที่เพิ่มเข้ามาใหม่ จะสำรวจตั้งแต่การออกแบบโดยยังไม่เขียนโค้ด
    ดำเนินตามลำดับ วิเคราะห์โค้ดเบส → คำถามเพื่อความชัดเจน → เสนอแนวทาง → ผู้ใช้อนุมัติ → บันทึกเอกสารออกแบบ แล้วจึงต่อด้วย /plan → 구현

[โหมดออร์เคสเตรต 2 แบบ]

/coordinate คือแนวทางที่รันเร็วแล้วค่อยแก้เมื่อมีปัญหา PM จะแยกย่อยงานและสั่งรันเอเจนต์ จากนั้น QA จะรีวิวหนึ่งรอบ ถ้ามีประเด็นระดับ CRITICAL/HIGH ก็จะรันงานนั้นใหม่ เป็น ลูป 7 ขั้นตอน ที่โดยรวมเบาและรวดเร็ว

ในทางกลับกัน /ultrawork จะเข้มข้นด้านการตรวจสอบคุณภาพ แบ่งเป็น 5 ขั้นตอนคือ PLAN → IMPL → VERIFY → REFINE → SHIP และในแต่ละขั้นจะมีเกตที่ถ้าไม่ผ่านก็ไปขั้นถัดไปไม่ได้ จาก 17 ขั้นตอน มี 11 ขั้นตอนที่เป็นการรีวิว และในขั้น REFINE ยังทำทั้งการแยกไฟล์ ลบความซ้ำซ้อน วิเคราะห์ผลข้างเคียง และจัดการเดดโค้ด

มันอาจดูเยอะเกินไปเล็กน้อย แต่ผมคิดว่าหลายคนน่าจะเห็นด้วยว่า ยิ่งระดับนามธรรมของการเขียนโปรแกรมสูงขึ้นจากภาษาเครื่อง → ภาษาการเขียนโปรแกรม → ภาษาธรรมชาติ สุดท้ายแล้วสิ่งที่สำคัญที่สุดก็คือการตรวจสอบความถูกต้อง


[ที่มาของการขยายโปรเจกต์]

เมื่อหนึ่งเดือนก่อน ผมเคยแนะนำมันในฐานะออร์เคสเตรเตอร์เฉพาะ Antigravity ชื่อ oh-my-ag แต่ในช่วงเวลานั้น AI IDE หลายตัวเริ่มใช้ .agents/skills/ เป็นพาธสกิลระดับโปรเจกต์กันแล้ว จึงไม่มีเหตุผลต้องผูกไว้กับ IDE เฉพาะอีกต่อไป เลยขยายมันเป็นฮาร์เนสแบบใช้งานทั่วไปและกลายเป็น oh-my-agent


[เริ่มต้นใช้งาน]

curl -fsSL https://raw.githubusercontent.com/first-fluke/oh-my-agent/… | bash

รองรับ AI IDE หลักทั้งหมด เช่น Antigravity, Claude Code, Codex CLI, Cursor เป็นต้น


หากคุณใช้งาน AI IDE อยู่แล้ว ก็น่าลองใช้ดูสักครั้ง ท้ายที่สุดแล้วเป้าหมายของนักพัฒนาคือการทำให้ได้ทั้ง QCD (Quality, Cost, Delivery) ไปพร้อมกัน และผมสร้างสิ่งนี้ขึ้นมาด้วยแนวคิดว่า การพัฒนาเอเจนต์ก็ไม่ใช่ข้อยกเว้น

🔗 GitHub: first-fluke/oh-my-agent

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

 
findme 2026-03-16

ฉันเป็นผู้ใช้ที่ใช้อยู่เดิม เลยเป็นข่าวที่น่ายินดีมากครับ ผมใช้งาน coordinate ได้อย่างน่าพอใจ
กำลังคิดอยู่พอดีว่าถ้าได้ลองตรวจสอบให้มากขึ้นก็น่าจะดี และพอได้ยินว่าโหมด Ultra ละเอียดรอบคอบยิ่งกว่า พรุ่งนี้คงต้องลองใช้ทันทีเลยครับ

 
gracefullight 2026-03-16

ขอบคุณครับ! ถ้ามันไม่ค่อยเชื่อฟัง รบกวนบอกผมได้เลยนะครับ

 
moon5g 2026-03-17

ตอนกำลังเพิ่มสคริปต์ใน package.json มันดันลบไฟล์ทั้งหมดทิ้ง เหลือไว้แค่โฟลเดอร์ workspace เอง ตอนนี้กำลังกู้คืนอยู่ แต่ก็อึ้งมากครับ

 
gracefullight 2026-03-17

คุณรันภายใน Claude หรือภายในเอเจนต์หรือเปล่าครับ? เพราะไม่มีโค้ดที่ลบ package.json หรือไฟล์ทั้งหมดเลย ถ้าช่วยบอกลำดับการทำงานทั้งหมดได้จะขอบคุณมากครับ!

  • tarball.ts:33,35,43 — ลบเฉพาะไดเรกทอรีชั่วคราว /tmp/oh-my-agent-*
  • cleanup.ts:108,231 — ไฟล์ PID, ทำงานเฉพาะเมื่อใช้คำสั่ง oma cleanup แบบระบุชัดเจนเท่านั้น
  • agent.ts:665,1027 — ไฟล์ PID/ล็อก (ตอนโปรเซสจบการทำงาน)
  • skills.ts:234 — ซิมลิงก์ 1 รายการใน .cursor/skills
  • migrate.ts:45-80 — ไดเรกทอรีซิมลิงก์ .cursor/skills แบบเลกาซี