นักพัฒนาได้ย้ายเวิร์กโฟลว์ Claude Code ที่ใช้งานมานานหลายเดือนไปยัง OpenCode และพบว่าการจัดการไฟล์, การโหลดกฎ (rules), รายการเครื่องมือ (tool inventory), เมทาดาตาของทักษะ (skill metadata) และหน่วยความจำข้ามเซสชัน (cross-session memory) ทั้งหมดพังทลายลง วิธีการแก้ไขที่เขาได้บันทึกไว้จะทำหน้าที่เป็นเช็คลิสต์ที่ใช้งานได้จริงสำหรับใครก็ตามที่กำลังเปลี่ยนจากระบบนิเวศของ Claude ไปสู่ทางเลือกแบบโอเพนซอร์ส (open-source)

ทำไมการย้ายระบบถึงมีความสำคัญ

ผู้ใช้ Claude Code ต้องพึ่งพาชุดไฟล์ที่รวมกันอย่างแน่นหนา ทั้งกฎ (rules), การกำหนดทักษะ (skill definitions) และบันทึกหน่วยความจำ (memory logs) เพื่อให้ผู้ช่วยเขียนโค้ดที่ขับเคลื่อนด้วย AI ทำงานได้อย่างราบรื่น เมื่อการตั้งค่าของผู้เขียนหยุดโหลดกฎ, สลับไฟล์มั่ว และพบว่าการใช้งานโทเคน (token usage) พุ่งสูงขึ้น ผู้ช่วยเขียนโค้ดประจำวันของเขาก็เริ่มไม่น่าเชื่อถือ OpenCode ให้คำมั่นเรื่อง “permission-first security” (ความปลอดภัยที่เน้นการขออนุญาตเป็นหลัก), การเข้าถึงโมเดลใดก็ได้ผ่าน OpenRouter และการคิดราคาตามการใช้งานจริง (pay-as-you-go) ซึ่งทำให้มันดูน่าดึงดูด แต่การเปลี่ยนผ่านไม่ใช่แค่การคัดลอกและวางง่ายๆ คุณต้องประกาศส่วนประกอบทุกอย่างใหม่ในรูปแบบที่ OpenCode คาดหวัง

สาเหตุที่ทำให้ระบบพัง

Claude Code ใช้ไฟล์ที่ชื่อว่า CLAUDE.md ซึ่ง OpenCode จะเพิกเฉยและไปอ่าน AGENTS.md เพื่อหาเมทาดาตาเพิ่มเติมแทน ผู้เขียนสันนิษฐานว่าทั้งสองระบบสามารถใช้แทนกันได้ จึงทำให้ส่วนประกอบหลักหลายอย่างมองไม่เห็นใน OpenCode

ความล้มเหลวที่เกิดขึ้นจริงและวิธีแก้ไข

  • ไฟล์กฎถูกเพิกเฉย
    OpenCode ไม่เคยอ่าน CLAUDE.md แต่จะประมวลผลเฉพาะ AGENTS.md เท่านั้น การเปลี่ยนชื่อไฟล์เพียงอย่างเดียวไม่เพียงพอ เพราะเนื้อหาต้องถูกประกาศใหม่ในรูปแบบใหม่
    วิธีแก้ไข: สร้าง AGENTS.md ขึ้นมาใหม่, คัดลอกข้อความกฎ, เริ่มเซสชัน OpenCode ใหม่ และถามเอเจนต์ว่า “What are my rules?” หากมันไม่สามารถอ้างถึงกฎเหล่านั้นได้ แสดงว่ากฎยังไม่ได้ถูกโหลด

  • รายการเครื่องมือหายไป
    คำสั่งการย้ายระบบที่ควรจะคัดลอกทักษะ (skills) และเซิร์ฟเวอร์ MCP (multi-cloud platform) ล้มเหลว เนื่องจาก OpenCode ไม่สามารถทำรายการเครื่องมือที่ไม่เคยถูกลงทะเบียนไว้ได้
    วิธีแก้ไข: ในขณะที่เครื่องมือของ Claude Code ยังทำงานอยู่ ให้ลิสต์ทักษะและคำสั่งทั้งหมดด้วยตนเอง ตัดสินใจว่าอันไหนควรสร้างใหม่ใน OpenCode และอันไหนควรทิ้งไป

  • Front-matter ของทักษะถูกลบออก
    ไฟล์ทักษะที่ถูกย้ายมาสูญเสีย front-matter ส่วนใหญ่ รวมถึงการกำหนดโมเดลและคำสั่งจัดการเครื่องมือ เนื่องจาก OpenCode รองรับฟิลด์เพียงไม่กี่อย่างเท่านั้น ทักษะที่นำเข้ามาจึงทำงานอย่างไม่คาดคิด
    วิธีแก้ไข: ให้ถือว่าทักษะที่นำเข้ามาทุกอย่างเสีย ให้สร้างทักษะที่ใช้งานบ่อยที่สุด 3 อันดับแรกขึ้นมาใหม่ตั้งแต่ต้น โดยตรวจสอบให้แน่ใจว่ามีเฉพาะฟิลด์ที่รองรับเท่านั้น และลบไฟล์ทักษะที่ไม่ได้ใช้งานทิ้งไป

  • ไม่มีหน่วยความจำข้ามเซสชัน
    Claude Code เก็บประวัติที่คงอยู่ซึ่งผู้เขียนใช้เป็นบริบท (context) แต่ OpenCode ไม่รักษาหน่วยความจำข้ามเซสชัน ดังนั้นผู้ช่วยจึง “ลืม” ทุกอย่างในวันถัดมาหลังจากเปลี่ยนระบบ
    วิธีแก้ไข: เพิ่มคำสั่งที่ชัดเจนลงใน AGENTS.md: “At the end of every session, append a short summary to session-log.md covering what was done, what is pending, and decisions made.” จากนั้น session log จะกลายเป็นแหล่งข้อมูลความจริงหนึ่งเดียว (single source of truth) เพื่อความต่อเนื่อง

สิ่งที่ต้องแลก: สิ่งที่คุณจะได้และสิ่งที่คุณจะเสีย

สิ่งที่จะได้

  • Permission-first security: OpenCode จะถามก่อนดำเนินการใดๆ ช่วยลดการเปลี่ยนแปลงโค้ดโดยไม่ตั้งใจ
  • Model freedom: API key เพียงอันเดียวสามารถเข้าถึงโมเดลได้มากมายผ่าน OpenRouter ช่วยให้คุณทดลองได้โดยไม่ต้องเปลี่ยนไฟล์การตั้งค่า
  • Cost control: การเรียกเก็บเงินขึ้นอยู่กับการใช้งานจริง ช่วยหลีกเลี่ยงการสมัครสมาชิกแบบเหมาจ่ายที่อาจมีราคาแพงเมื่อมีการใช้โทเคนพุ่งสูงขึ้น

สิ่งที่จะเสีย

  • การไม่มีหน่วยความจำระยะยาวในตัว หมายความว่าคุณต้องรักษาบันทึกด้วยตนเอง
  • เมทาดาตาของทักษะที่มีจำกัด บังคับให้คุณต้องสร้างเครื่องมือที่ปรับแต่งเองใหม่เกือบทั้งหมด

เช็คลิสต์การย้ายระบบที่ใช้งานได้จริง

  1. สร้าง AGENTS.md ก่อน – ประกาศกฎทุกอย่างที่คุณต้องการก่อนที่จะนำเข้าไฟล์อื่นๆ
  2. เพิ่มคำสั่ง session-log – ใส่กฎ “append summary” ไว้ที่ส่วนบนสุดของ AGENTS.md
  3. สร้างทักษะหลัก 3 อันดับแรกใหม่ – คัดลอกเฉพาะฟิลด์ที่รองรับเท่านั้น และทดสอบแต่ละทักษะแยกกัน
  4. ประกาศ MCP ใหม่ด้วยตนเอง – ลิสต์เซิร์ฟเวอร์หรือ cloud endpoint แต่ละตัวที่คุณยังจำเป็นต้องเข้าถึง
  5. ตรวจสอบความถูกต้อง – เริ่มเซสชัน OpenCode ใหม่ และสอบถามผู้ช่วยเกี่ยวกับกฎ, รายการทักษะ และสถานะหน่วยความจำ

บทสรุป

การย้ายจาก Claude Code ไปยัง OpenCode ไม่ใช่แค่เรื่องของการย้ายไฟล์ แต่เป็นเรื่องของการออกแบบโครงสร้างการประกาศ (declarations) ที่ขับเคลื่อนผู้ช่วยใหม่ กระบวนการนี้บังคับให้คุณต้องตัดทอนเหลือเพียงกฎหลัก สร้างทักษะที่จำเป็นขึ้นมาใหม่ และใช้บันทึกหน่วยความจำด้วยตนเอง แต่มันก็เปิดประตูสู่การช่วยเหลือด้วย AI ที่ราคาถูกกว่าและไม่ยึดติดกับโมเดลใดโมเดลหนึ่ง หากคุณพร้อมที่จะแลกความสะดวกสบายกับการควบคุม ให้ทำตามเช็คลิสต์ด้านบนและปฏิบัติกับส่วนประกอบที่นำเข้ามาทุกอย่างเหมือนเป็นการเริ่มต้นใหม่