1 คะแนน โดย baekenough 2026-04-18 | 1 ความคิดเห็น | แชร์ทาง WhatsApp

พอใช้ Claude Code โดยพ่วงเอเจนต์หลายตัวเข้าด้วยกัน ก็จะชนกำแพงเดิมซ้ำๆ เขียนเอกสารสกิล, แปะ YAML ของเอเจนต์, ใส่กฎ, ผูก routing, พอเกิด conflict ก็ต้องไปแก้ CLAUDE.md เองโดยตรง แล้วพอเปลี่ยนโปรเจกต์ก็ต้องทำทั้งหมดนี้ใหม่อีก

เลยสร้าง oh-my-customcode ขึ้นมา ประโยคเดียวบนสุดของ README บอกตัวตนของโปรดักต์นี้ได้ตรงที่สุด

Your AI Agent Stack. Compiled, Not Configured.

มีแกนหลักอยู่ 2 อย่าง

1) เอเจนต์ไม่ใช่สิ่งที่ตั้งค่า แต่เป็นผลลัพธ์ที่ถูกคอมไพล์แล้ว

  • .claude/skills/ = ซอร์สโค้ด (ความรู้และเวิร์กโฟลว์ที่นำกลับมาใช้ซ้ำได้)
  • .claude/agents/ = ผลลัพธ์จากการบิลด์ (ผู้เชี่ยวชาญที่ประกอบขึ้นจากสกิล)
  • mgr-sauron = คอมไพเลอร์ (ตรวจสอบโครงสร้าง)
  • .claude/rules/ = สเปก (ข้อจำกัดและกฎการบิลด์)
  • routing skill = ลิงเกอร์ (เชื่อมงานกับเอเจนต์)

สกิลสามารถพัฒนาแยกกันได้อย่างอิสระ และเอเจนต์สามารถรีคอมไพล์ใหม่ได้ทุกเมื่อด้วยสกิลที่อัปเดตแล้ว การแยกส่วนนี้คือจุดเริ่มต้นของ runtime

2) ถ้ายังไม่มีผู้เชี่ยวชาญ ก็สร้างขึ้นมาทันที

ถ้าสั่งว่า "ช่วยรีวิว Terraform module ให้หน่อย" แล้วไม่มีผู้เชี่ยวชาญที่ลงทะเบียนไว้ ระบบจะไม่ล้มเหลว แต่จะทำงานแบบนี้

  • routing: ตรวจพบว่าไม่มีผู้เชี่ยวชาญด้าน terraform
  • mgr-creator: ค้นหา infra-aws-expert skill + docker-best-practices guide
  • สร้าง infra-terraform-expert.md
  • รันการรีวิวทันที
  • เอเจนต์ที่สร้างขึ้นจะถูกเก็บไว้สำหรับการเรียกใช้ครั้งถัดไป

นี่ไม่ใช่ fallback แต่เป็นส่วนหนึ่งของการออกแบบ โดยมองการขาดความเชี่ยวชาญเป็นปัญหาด้านการบิลด์


มีมาให้พร้อม

แค่รัน omcustom init ครั้งเดียว ก็จะได้ 48 agents / 107 skills / 22 rules / 39 guides

  npm install -g oh-my-customcode  
  cd your-project  
  omcustom init  

การตัดสินใจด้านการออกแบบบางส่วน

  • บทสนทนาหลักเป็น singleton orchestrator (R010) ทุกงานจะไม่เขียนไฟล์โดยตรง แต่ถูกส่งต่อผ่าน routing ไปยังเอเจนต์เฉพาะทาง ทำให้ context ไม่ปะปนกัน

  • กำหนด model tiering ไว้อย่างชัดเจน งานสถาปัตยกรรมและรีเสิร์ชใช้ opus, งาน implementation และการสร้างเอเจนต์ใช้ sonnet งานค้นหาและตรวจนับใช้ haiku โดยมีแพตเทิร์น reasoning-sandwich (opus → sonnet → haiku) เป็นรูปแบบพื้นฐาน

  • งานที่เป็นอิสระต่อกันจะรันแบบขนาน (R009) สูงสุด 4 งานต่อ 1 ข้อความ

  • safety hook เป็นแบบ advisory secret-filter, audit-log, schema-validator, PostCompact (ฉีดกฎกลับเข้าไปหลัง compaction) ไม่บล็อกการทำงาน แต่จะทิ้งคำเตือนไว้เท่านั้น

  • ติดตั้ง RTK เป็นค่าเริ่มต้นเพื่อลดโทเค็นของเอาต์พุต CLI ลง 60~90%


พูดกันตรงๆ

ปลั๊กอินสาย "Claude Code แบบ oh-my-zsh" มีอยู่แล้วพอสมควร ผมเองก็เคยใช้มาหลายตัว และ เคารพมากจริงๆ เพราะแบบนั้น oh-my-customcode จึงไม่ได้เน้นไปทางชุดเทมเพลต แต่ให้น้ำหนักกับฝั่ง runtime ที่มีคอมไพเลอร์, เราเตอร์ และแมเนเจอร์ทำงานอยู่ ถ้าอยากรู้ว่าเมื่อเทียบกับ implementation อื่นๆ ที่คอนเซปต์ใกล้กันแล้วแก้ปัญหาต่างกันอย่างไร ถามมาได้เลยครับ

ไม่ว่าจะเป็นเหตุผลที่ใช้ singleton orchestrator, เหตุผลที่แยก sauron ออกเป็นเอเจนต์ต่างหาก, หรือกำหนด heuristic ของ model tiering อย่างไร ฯลฯ

ถ้ามีจุดไหนสงสัย ฝากคอมเมนต์ไว้ได้เลย ยินดีมากกับฟีดแบ็กช่วงแรกเริ่ม

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

 
moderator 2026-04-19

ย้ายไปที่ Show GN แล้ว
ขอแจ้งไว้ว่าโพสต์ที่ผู้ดูแลปรับหมวดหมู่อาจถูกจำกัดการแสดงผลบนหน้าแรก ดังนั้นก่อนลงทะเบียนรบกวนตรวจสอบหมวดหมู่อีกครั้ง