แม้จะมีคนบอกว่า "ช่วยระบุคำสั่งให้เจาะจงกว่านี้หน่อย" แต่ฉันก็อยากให้ช่วยเริ่มตั้งแต่ "ส่วนที่ต้องเจาะจง" นั้นเลย
คุณมีสิ่งที่อยากสร้าง แต่กลับต้องมาหยุดชะงักระหว่างทำวิจัยเบื้องต้นที่จำเป็นเพื่อจะถาม AI เรื่องนี้รู้สึกเหมือนขาดทุน
ตัวอย่างเช่น สมมติว่าคุณอยากได้แอปสำหรับลงทะเบียนเคสและเรียงลำดับตามกำหนดส่งที่ใกล้เข้ามา คุณบอกแค่นี้ได้ แต่ถ้าถูกถามเรื่องวิธีจัดเก็บข้อมูลหรือวิธีตรวจหาบั๊ก ปริมาณงานค้นคว้าก็จะเพิ่มขึ้นอย่างกะทันหัน
พอค้นคว้าไปเรื่อย ๆ คุณก็เริ่มตัดฟีเจอร์ที่ตอนแรกอยากใส่เข้าไปออก โดยคิดว่า "รอบนี้ไม่มีก็คงไม่เป็นไร" ไม่ใช่เพราะมันดูสร้างยาก แต่เพราะคุณอยากคุมทุกอย่างให้อยู่ในขอบเขตที่จัดการเองได้หากเกิดปัญหาขึ้น
จริง ๆ แล้วฉันไม่อยากเตรียมคำสั่งยิบย่อยทุกจุดก่อนถาม ฉันอยากให้คุณช่วยสังเกตสิ่งที่ฉันอาจมองข้ามไป จะดีมากถ้าคุณช่วยถามให้ฉันตัดสินใจเลือกระหว่างสองตัวเลือกอย่างชัดเจน แล้วค่อยทำงานต่อตามการตัดสินใจนั้น
ทีมพัฒนาที่เราจะประกอบร่างกันในบทความนี้ออกแบบมาเพื่อเข้าใกล้ความต้องการแบบนั้น โดยใช้ Claude Code และ Codex
- Claude Code: จุดรับคำขอ จัดระเบียบรายการที่ต้องยืนยันและการแบ่งงาน
- Codex: รับผิดชอบงานลงมือทำและตรวจสอบ
สำหรับแอปจัดการเคส นอกจากการสร้างหน้าจอแล้ว คุณยังต้องเตรียมงานตรวจสอบด้วย จะเกิดอะไรขึ้นถ้าลงทะเบียนโดยปล่อยฟิลด์ว่างไว้? ข้อมูลยังอยู่ไหมหลังรีโหลด? ถ้าแก้บั๊กไม่หาย ให้สรุปวิธีที่ลองแก้ไปแล้วและอาการที่ยังเหลืออยู่ เพื่อส่งมอบต่อให้เอเจนต์อื่น
สิ่งที่มนุษย์ต้องทำคือการตัดสินใจที่จำเป็นระหว่างทาง และตรวจสอบการทำงานจริงในตอนท้าย เพื่อให้สิ่งนี้ง่ายขึ้น ให้สร้างโครงสร้างที่สเปก การเปลี่ยนแปลง และผลการตรวจสอบกลับมาถึงมือคุณอย่างถูกต้อง มาสร้างทีละขั้นตอนกัน ตั้งแต่การเชื่อมต่อ การส่งมอบงาน ไปจนถึงเงื่อนไขการหยุด
สั่งงาน Codex โดยเปิด Claude ค้างไว้
มีวิธีส่งคำขอจาก Claude Code ไปยัง Codex โดยไม่ต้องนำคำตอบก่อนหน้าไปแปะใน AI ตัวอื่น นั่นคือ "ปลั๊กอิน Codex สำหรับ Claude Code" ที่เปิดตัวโดย OpenAI
ตามเอกสารทางการ ปลั๊กอินรองรับการใช้งานเช่น:
- การรีวิวเพื่อตรวจสอบการเปลี่ยนแปลงปัจจุบัน
- การมอบหมายงานสืบสวนหรือแก้ไข
- การส่งต่อการสนทนา
บทความนี้จะครอบคลุมขั้นตอนการใช้งานจาก Claude Code ในเครื่องของคุณ โดยอ้างอิงจากเอกสารทางการที่ตรวจสอบเมื่อวันที่ 16 ตุลาคม 2026
ข้อกำหนดเบื้องต้น
- สภาพแวดล้อมที่ใช้ Claude Code ได้
- Git
- Node.js (ข้อกำหนดทางการ: เวอร์ชัน 18.18 ขึ้นไป)
- บัญชี ChatGPT ที่ยืนยันตัวตนกับ Codex แล้ว หรือคีย์ API ของ OpenAI
ปลั๊กอินจะเรียกใช้ Codex ในเครื่องของคุณ การเชื่อมต่อไม่ได้หมายความว่า Codex จะไปรันบนโควตาการใช้งานของ Claude การใช้ Codex จะหักจากโควตาของ Codex เอง
นอกจากนี้ แม้การตั้งค่านี้จะจัดการไฟล์ในเครื่อง แต่การประมวลผล AI ไม่จำเป็นต้องเสร็จสิ้นทั้งหมดในพีซีของคุณ ให้เริ่มจากโฟลเดอร์ฝึกหัดที่ไม่มีข้อมูลลับใด ๆ
ติดตั้งปลั๊กอิน
ในช่องป้อนข้อมูลของ Claude Code ให้รันคำสั่งต่อไปนี้ทีละบรรทัดจากบนลงล่าง นี่คือการดำเนินการเพิ่มปลั๊กอินภายใน Claude Code ไม่ใช่คำสั่งที่จะนำไปแปะในเทอร์มินัลทั่วไป
1/plugin marketplace add openai/codex-plugin-cc2/plugin install codex@openai-codex3/reload-plugins4/codex:setup
คำสั่งสุดท้าย /codex:setup ช่วยให้คุณตรวจสอบสถานะการติดตั้งและการยืนยันตัวตนของ Codex หากไม่พบ Codex และมี npm พร้อมใช้งาน จะมีคำแนะนำสำหรับการติดตั้งปรากฏขึ้น ให้อ่านเนื้อหาและทำตามนั้น
หากยังไม่ยืนยันตัวตน ให้รัน codex login ในเทอร์มินัลแล้วทำตามข้อความแนะนำ
บน Windows ต้องแน่ใจว่าสภาพแวดล้อมที่รัน Claude กับสภาพแวดล้อมที่ติดตั้ง Codex ไม่ใช่คนละที่กัน อย่าติดตั้งซ้ำไปซ้ำมาเพียงเพราะระบบแจ้งว่า "ไม่พบ"
ลองใช้ Review ก่อน
เริ่มจากการรีวิวที่ไม่ได้เขียนโค้ดใหม่ เตรียมการเปลี่ยนแปลงเล็ก ๆ ในโปรเจกต์ฝึกหัดที่จัดการด้วย Git แล้วรันคำสั่ง:
1/codex:review --background
- ตรวจสอบความคืบหน้า:
/codex:status
- ตรวจสอบผลลัพธ์ที่เสร็จแล้ว:
/codex:result
เมื่อมีหลายคำขอทำงานพร้อมกัน ให้ระบุ Job ID ที่แสดงไว้เพื่อไม่ให้ผลลัพธ์ปะปนกัน
ตัวอย่างสาธารณะของ Amazon มีประโยชน์ในการแบ่งงาน
สำหรับการแบ่งบทบาท ให้อ้างอิงจากตัวอย่างการพัฒนาที่เผยแพร่โดย AWS ซึ่งเป็นหน่วยธุรกิจคลาวด์ของ Amazon บน aws-samples ของ GitHub มีสองรีโพซิทอรีที่เกี่ยวข้อง:
- sample-codex-agent-team (สำหรับ Codex)
- sample-claude-code-agent-team (สำหรับ Claude Code)
เวอร์ชัน Codex มีหกบทบาท:
การตัดสินใจว่าจะสร้างหน้าจอลงทะเบียนอย่างไร กับการพิจารณาความสามารถในการขยายตัว ค่าใช้จ่ายในการบำรุงรักษา ฯลฯ เป็นงานคนละประเภท การแยกการลงมือทำฟีเจอร์ออกจากการปรึกษาด้านปฏิบัติการ ทำให้คำถามที่ส่งไปยังเอเจนต์เฉพาะเจาะจงเป็นรูปธรรมมากขึ้น
การรีวิวแบบเบา ๆ ไม่ได้มีไว้เพื่อจัดการการเปลี่ยนแปลงที่มีความเสี่ยงแบบลวก ๆ แต่เป็นวิธีการแบ่งงานเพื่อหลีกเลี่ยงการนำงานความเสี่ยงต่ำ เช่น การแก้ไขเอกสารหรือการแทนที่เชิงกลไก ไปผ่านการตรวจสอบหนัก ๆ ทุกครั้ง
วิธีการส่งมอบงานแตกต่างกันระหว่างสองตัวอย่าง:
- เวอร์ชัน Claude Code: เอเจนต์ดึงงานจากรายการงานที่แชร์ร่วมกัน (ใช้ agent teams รุ่นทดลอง ต้องตั้งค่าเพิ่มเติม)
- เวอร์ชัน Codex: ดำเนินการตามแผนงานที่มีไฟล์แบ่งความรับผิดชอบ
ทั้งสองอย่างเป็นตัวอย่างแยกกัน ไม่ได้รวมเป็นทีมเดียวกันอัตโนมัติเมื่อติดตั้งทั้งคู่
นอกจากนี้ เวอร์ชัน Codex ยังมีการระบุโมเดลที่ตั้งสมมติฐานจากการตั้งค่าการเชื่อมต่อที่ยังไม่เผยแพร่ ตัวอย่างนั้นระบุเองว่าไม่สามารถใช้งานได้โดยตรงกับบัญชีของทุกคน แทนที่จะคัดลอกทั้งหมดไปใช้ในโปรเจกต์สำคัญของบริษัท ให้นำเฉพาะตรรกะการแบ่งบทบาทมาปรับใช้กับสภาพแวดล้อมที่คุณใช้ได้
บทความนี้จะเริ่มจากโครงสร้างเล็ก ๆ ที่ให้ Claude Code ทำหน้าที่เป็นตัวกลาง และส่งมอบงานลงมือทำและตรวจสอบบางส่วนให้ Codex
หมายเหตุ: นี่คือตัวอย่างการใช้งานที่สร้างขึ้นเองโดยอ้างอิงจากตัวอย่างสาธารณะ ไม่ใช่ผลิตภัณฑ์ที่รับประกันการผสานรวม Claude และ Codex ของ AWS และไม่ใช่รายงานพฤติกรรมที่วัดผลได้
ตกลงความหมายของ "บันทึกได้" ให้ตรงกันก่อนลงมือสร้าง
เมื่อคุณอธิบายสิ่งที่อยากสร้างอย่างละเอียดไม่ได้ อย่าเพิ่งเริ่มลงมือทำทันที ขั้นแรกให้ Claude จัดระเบียบรายการที่ต้องยืนยัน คุณไม่จำเป็นต้องรู้ศัพท์เทคนิคทั้งหมด แค่แปลงให้เป็นคำถามที่คุณตอบได้
ฉันอยากสร้างแอปจัดการเคสส่วนตัว กรุณาจัดระเบียบสเปกที่จำเป็นก่อน แล้วถามฉันทีละคำถามเกี่ยวกับการตัดสินใจที่ต้องทำ สำหรับการเลือกทางเทคนิค ให้อธิบายผลกระทบต่อผู้ใช้และเหตุผลที่แนะนำสั้น ๆ อย่าเริ่มลงมือทำจนกว่าฉันจะอนุมัติ
ตัวอย่างเช่น เรื่องการบันทึก: แค่ข้อมูลคงอยู่ในเบราว์เซอร์เดิมก็พอ หรือต้องการแชร์ระหว่างสมาร์ทโฟนกับพีซี? สิ่งเหล่านี้ต้องใช้กลไกที่แตกต่างกันโดยสิ้นเชิง การแอบเลือกอย่างใดอย่างหนึ่งโดยไม่บอกจะทำให้ต้องรื้อทำใหม่ทีหลัง
สำหรับการฝึกนี้ ให้จำกัดขอบเขต:
- In Scope (อยู่ในขอบเขต): ใช้บนพีซี/เบราว์เซอร์เดิม ข้อมูลยังคงอยู่หลังรีโหลด
- Out of Scope (อยู่นอกขอบเขต): การซิงค์หลายอุปกรณ์, การล็อกอิน, การเผยแพร่ภายนอก, ข้อมูลลูกค้าจริง
กำหนดเกณฑ์ความสำเร็จจากผลการดำเนินงาน ไม่ใช่จากคำว่า "ใช้งานง่าย":
- ลงทะเบียนเคสได้
- เรียงลำดับตามกำหนดส่ง
- เปลี่ยนสถานะได้
- การลงทะเบียนแบบว่างจะแสดงเหตุผล
- เนื้อหายังคงอยู่หลังรีโหลด
บันทึกสเปกและคำขอทำงานลงในไฟล์
บันทึกเนื้อหาที่ตัดสินใจแล้วลงใน docs/spec.md เพื่อเป็นสเปกที่ทุกคนใช้อ้างอิง ชื่อไฟล์ในที่นี้เป็นเพียงตัวอย่าง มันไม่ได้ถูกแจกจ่ายไปยัง AI ทุกตัวอัตโนมัติ ดังนั้นคุณต้องระบุว่า "อ่านไฟล์นี้" ในแต่ละคำขอ
บันทึกสเปก เกณฑ์ความสำเร็จ และฟีเจอร์ที่อยู่นอกขอบเขตที่ตัดสินใจแล้วลงใน docs/spec.md อย่าเขียนเรื่องที่ยังไม่ตัดสินใจว่าเป็นที่ยืนยันแล้ว แยกงานที่ต้องหยุดดำเนินการออกจากงานที่ทำต่อไปด้วยการตั้งค่าชั่วคราว
ถัดไป ให้สรุปรวมคำขอทำงานสำหรับผู้ลงมือทำไว้ใน docs/tasks.md แค่ตั้งชื่องานยังไม่พอ ต้องรวมถึงเอกสารที่ต้องอ่าน ไฟล์ที่แก้ไขได้ ส่วนที่ห้ามแก้ไข วิธีการตรวจสอบ และผลลัพธ์ที่คาดหวัง
แบ่งสเปกออกเป็นหน่วยที่ลงมือทำได้ เขียนไฟล์ที่ได้รับมอบหมาย งานที่ต้องทำก่อน และวิธีการตรวจสอบลงใน docs/tasks.md ตัดสินใจเรื่องที่ใช้ร่วมกันระหว่าง UI และตรรกะการจัดเก็บไว้ล่วงหน้า อย่าวางแผนให้เอเจนต์สองตัวแก้ไขไฟล์เดียวกันพร้อมกัน
แสดงสเปกเดียวกันให้ AI ทั้งสองตัวเห็น
คำสั่งต่อเนื่องสามารถเขียนไว้ใน CLAUDE.md สำหรับ Claude และ AGENTS.md สำหรับ Codex ซึ่งเป็นกลไกที่มีการรองรับอย่างเป็นทางการ อย่างไรก็ตาม อย่าทึกทักว่าไฟล์เดียวจะใช้ได้เหมือนกันทั้งสองฝั่ง ให้อ้างอิงไฟล์สเปกเดียวกันจากทั้งสองตัว
เขียนคำสั่งให้สั้น:
- ตำแหน่งของไฟล์สเปก
- ห้ามทำการเปลี่ยนแปลงนอกเหนือจากคำขอ
การทำสำเนาสเปกมีความเสี่ยงที่ฝั่งหนึ่งจะล้าสมัย วิธีนี้จะช่วยหลีกเลี่ยงปัญหานั้น
แยกพื้นที่ทำงานก่อนทำหลายงานพร้อมกัน
การให้ AI หลายตัวทำงานดูเหมือนจะเร็วกว่า แต่การเขียนทับไฟล์เดียวกันด้วยนโยบายที่ต่างกันมีแต่จะสร้างงานเก็บกวาดให้มนุษย์
สำหรับการทำงานคู่ขนานครั้งแรก ให้จับคู่ "ผู้สร้าง UI" กับ "ผู้วางแผนทดสอบ" การลงมือทำ UI และการจัดเก็บแยกกันก่อนที่รูปแบบจะลงตัวจะเพิ่มปัญหาความไม่เข้ากัน
ใช้ Git Worktree เพื่อแยกโฟลเดอร์
Git worktree มีประโยชน์ในจุดนี้ เป็นฟีเจอร์ทางการของ Git ที่อนุญาตให้มีโฟลเดอร์ทำงานแยกกันสำหรับโปรเจกต์เดียวกันโดยมีการเปลี่ยนแปลงต่างกัน
ก่อนสร้าง ต้องแน่ใจว่าได้ commit สเปกและฐานลง Git แล้ว ไฟล์ร่างที่ยังไม่ commit อาจไม่ถูกย้ายไปยังตำแหน่งใหม่ ตรวจสอบว่าชื่อ branch และโฟลเดอร์เป้าหมายยังไม่มีใครใช้
1git worktree add -b feature/ui ../case-app-ui2git worktree add -b feature/storage ../case-app-storage3git worktree list
ข้อควรระวังสามประการ:
- การสร้างโฟลเดอร์ไม่ได้เปลี่ยนพื้นที่ทำงานของ AI ให้เปิดเซสชันแยกในแต่ละไดเรกทอรี และตรวจสอบตำแหน่ง/branch ก่อนเริ่มงาน
- ปลั๊กอินใช้สภาพแวดล้อมของผู้เรียก การเชื่อมต่อ Claude/Codex ไม่ได้แยกสภาพแวดล้อมให้อัตโนมัติ ในช่วงแรกให้ยึดหลัก "หนึ่งตัวแก้ไขต่อหนึ่งตำแหน่ง"
- Worktree แยกไฟล์เป็นหลัก ฐานข้อมูลหรือพอร์ตที่ใช้ร่วมกันจะทำให้เกิดความขัดแย้ง ให้แยกที่จัดเก็บ/พอร์ตสำหรับทดสอบ หรือจัดลำดับการเริ่มต้นทำงาน
จำกัดงานที่ทำพร้อมกันใน Codex
หากต้องการเพิ่ม sub-agent ใน Codex ให้จำกัดจำนวน thread ที่ทำงานพร้อมกัน Sub-agent จะได้รับงานที่จำกัดจาก AI แม่ การตั้งค่าปัจจุบันอยู่ใน .codex/config.toml:
1[agents]2enabled = true3max_concurrent_threads_per_session = 2
- อย่าเขียนรายการซ้ำซ้อน
- ใช้เฉพาะในโปรเจกต์ที่เชื่อถือได้ (การตั้งค่าโปรเจกต์จะโหลดเฉพาะในบริบทที่เชื่อถือได้เท่านั้น)
- ขีดจำกัดนี้ใช้กับ "thread ที่ทำงานพร้อมกันโดยไม่รวม main agent ในเซสชันนั้น" ไม่ใช่ยอดรวมทั้งหมดของ Claude/ทุกเซสชัน
ตัวเลข 14 thread ในตัวอย่างของ AWS เป็นเพียงทางเลือกของพวกเขา ไม่ใช่ข้อบังคับ max_threads ของพวกเขาเป็นชื่อเก่าที่ใช้แทนกันได้ ให้ใช้ชื่อปัจจุบัน
อย่าอธิบายงานให้ผู้ลงมือทำใหม่หมดทุกครั้ง
ใน Codex คุณสามารถกำหนด custom agent ผ่านไฟล์ TOML ใน .codex/agents สร้าง task-builder.toml พร้อมเงื่อนไขที่จำเป็น:
1name = "task-builder"2description = "Implement only assigned scope from confirmed specs"3developer_instructions = """4Read docs/spec.md and docs/tasks.md first.5Implement only assigned scope; stop and report if spec changes needed.6Do not revert other agents' changes, read secrets, or publish externally.7Return changed files, executed tests, results, and unconfirmed items.8"""
หลีกเลี่ยงการล็อกชื่อโมเดลไว้ตรงนี้ ค่าเริ่มต้นจะสืบทอดจากการตั้งค่าของแม่ โมเดลในตัวอย่างสาธารณะอาจไม่มีในสัญญาของคุณ การฮาร์ดโค้ดชื่อที่ใช้ไม่ได้จะทำให้การเริ่มต้นล้มเหลวก่อนจะได้อ่านคำอธิบายบทบาทด้วยซ้ำ
หลังจากวางไฟล์แล้ว ให้ตรวจสอบการรับรู้ในเซสชัน Codex ใหม่และมอบหมายงานเล็ก ๆ หากต้องการสั่งจาก Claude ให้ระบุการใช้ task-builder ใน Codex
ขอให้ Codex มอบหมายเฉพาะตรรกะการจัดเก็บจาก docs/tasks.md ให้กับ task-builder ตรวจสอบการรับรู้ของเอเจนต์และโฟลเดอร์จริงก่อนเริ่มงาน หากใช้งานไม่ได้ ให้รายงานแทนที่จะแอบเปลี่ยนวิธีการเอง
หมายเหตุ: การเขียนว่า "ห้ามเปลี่ยนแปลง" ต่างจากการลบสิทธิ์การเขียน เอกสารทางการระบุว่า child agent ของ Codex จะสืบทอดสิทธิ์จาก parent (การตั้งค่า sandbox) ชื่อบทบาท "reviewer" ไม่ได้สร้างสภาพแวดล้อมแบบอ่านอย่างเดียวที่ปลอดภัย
เปลี่ยนเอเจนต์หากการแก้ไขวนซ้ำ
หาก AI บอกว่า "เจอสาเหตุแล้ว" แต่การกระทำเดิมยังล้มเหลวอีก ให้บันทึกสิ่งที่เปลี่ยนไปและไม่เปลี่ยนไป แทนที่จะรีบไปแก้จุดถัดไป จะทำให้ส่งต่องานได้ง่ายกว่า
ปลั๊กอินทางการมีรายการ rescue สำหรับมอบหมายงานสืบสวน/แก้ไขให้ Codex แม้ชื่อจะฟังดูฉุกเฉิน แต่มันมีไว้สำหรับงานที่กำหนดขอบเขตแล้ว ไม่ใช่แค่บั๊ก
ระบุชัดเจนว่าการสืบสวนเป็นแบบอ่านอย่างเดียว
หากต้องการวิเคราะห์สาเหตุอย่างเดียว ให้ระบุชัดเจนว่าห้ามเขียน ขั้นตอนภายในจะตั้งค่าเริ่มต้นของ rescue ให้เขียนได้เว้นแต่จะระบุไว้ แยกการสืบสวนและการแก้ไขให้ชัดเจน
1/codex:rescue --fresh Investigate why registration disappears on reload, read-only. Compare docs/spec.md and code. Return reproduction steps, evidence-based causes, needed checks. Do not modify files.
--fresh เริ่มคำขอใหม่ --resume ทำงานต่อจากเดิม (จะถามหากละไว้) ระบุสิทธิ์เมื่อดำเนินการต่อ หากจะย้ายไปขั้นตอนการแก้ไข ให้กำหนดขอบเขต
1/codex:rescue --resume Fix only storage logic with minimal changes based on confirmed cause. Do not change UI/specs. Show failing test before and result after.
โอนการสนทนาทั้งหมดด้วย Transfer
- ส่งมอบแค่งาน → rescue
- ย้ายการสนทนาไป Codex → transfer
1/codex:transfer
เอกสารทางการ: สร้าง thread ของ Codex ที่สานต่อการสนทนาปัจจุบันของ Claude Code พร้อมแสดงคำสั่งเพื่อดำเนินการต่อ อัปเดต Codex หากรองรับไม่ครบ
การโอนการสนทนา ≠ การโอนสถานะของพีซี การเปลี่ยนแปลงที่ยังไม่บันทึก การยืนยันตัวตน และแอปที่กำลังทำงานจะไม่ถูกย้ายไป ให้ตรวจสอบไฟล์/สถานะที่ปลายทาง
ตรวจสอบด้วย AI อีกตัวหลัง "เสร็จแล้ว"
การทดสอบโดยผู้ลงมือทำนั้นมีประโยชน์ แต่ถ้าพวกเขาเข้าใจสเปกผิด การทดสอบที่ผ่านก็จะไม่ตรงกับพฤติกรรมที่คุณต้องการ
ให้ข้อมูลสเปกที่มนุษย์ตรวจสอบแล้วและการเปลี่ยนแปลงจริงแก่ผู้ตรวจสอบ ไม่ใช่คำอธิบายจากผู้ลงมือทำ อย่าแชร์การประเมินว่า "แก้ไขสมบูรณ์แบบแล้ว" ให้พวกเขาตรวจสอบความสอดคล้องด้วยตัวเอง
เปรียบเทียบ docs/spec.md กับการเปลี่ยนแปลงจริงอย่างเป็นอิสระ ระบุเกณฑ์ความสำเร็จที่ยังไม่บรรลุพร้อมหลักฐาน อย่าทึกทักเอาจากการประเมินตนเองของผู้ลงมือทำ แยกประเด็นที่ทำซ้ำได้ ข้อกังวลที่อาจเกิดขึ้น และรายการที่ยังไม่ได้ตรวจสอบ ออกจากกัน อย่าแก้ไขตอนนี้
จับคู่สิ่งที่ตรงข้ามกัน:
- Claude ลงมือทำ → เพิ่มการรีวิวปกติของ Codex เป็นการตรวจสอบแยกต่างหาก
- Codex ลงมือทำ → ขอให้ Claude ตรวจสอบ และอาจเพิ่มการรีวิวใหม่ของ Codex ด้วยก็ได้
การรีวิวปกติ vs การรีวิวแบบท้าทาย
เรียกการรีวิวปกติด้วย /codex:review เปรียบเทียบ branch กับ main:
1/codex:review --base main
ใช้ base branch จริงหากไม่มี main อย่าแตะต้องการเปลี่ยนแปลงระหว่างการรีวิว
หมายเหตุ: การรีวิวปกติไม่รับคำสั่งเน้นจุดตรวจสอบแบบข้อความอิสระ เช่น "ตรวจเฉพาะส่วนจัดเก็บ" สเปกทางการห้ามการสั่งลำดับความสำคัญ หากต้องการท้าทายสมมติฐานการออกแบบหรือความเสี่ยงเฉพาะ ให้ใช้ adversarial-review
1/codex:adversarial-review --background Check if save failures display as success, if editing from two tabs loses records, verify current design assumptions.
นี่ไม่ใช่การใช้น้ำเสียงรุนแรง แต่เป็นการท้าทายแนวทาง/สมมติฐานที่เลือกไว้ การรีวิวทั้งสองแบบจะระบุปัญหา แต่ไม่แก้ไขโค้ด ให้ยืนยันผลลัพธ์ แล้วจึงมอบหมายการแก้ไขแยกต่างหาก
จัดระเบียบสิ่งที่พบพร้อมเกณฑ์ความสำเร็จที่เกี่ยวข้อง ผลกระทบต่อผู้ใช้ และวิธีการตรวจสอบ อย่าแก้ไขอัตโนมัติในประเด็นที่ต้องเปลี่ยนสเปก ให้นำเสนอตัวเลือกและความแตกต่างให้มนุษย์ตัดสินใจ
ข้าม Review Gate ในช่วงแรก
ตัวเลือกอัตโนมัติ: "Review gate" จะแทรกการรีวิวของ Codex ทุกครั้งที่ Claude ตอบเสร็จ เปิดใช้งานด้วย /codex:setup --enable-review-gate
คำเตือน: เอกสารทางการระบุความเสี่ยงของการวนลูปแก้ไขที่ยาวนานซึ่งจะกินโควตาอย่างรวดเร็วระหว่าง Claude/Codex
ให้เริ่มจากการรีวิวด้วยตนเองเพื่อทำความเข้าใจสิ่งที่พบ ปิดการใช้งานเมื่อคุณไม่อยู่ หยุดด้วย /codex:setup --disable-review-gate และตรวจสอบคำขอที่ค้างอยู่
เก็บคำขอที่สำเร็จไว้ใช้กับงานถัดไป
แทนที่จะแปะคำสั่งยาว ๆ ซ้ำ ให้บันทึกเวิร์กโฟลว์ที่สำเร็จไว้ Skills ช่วยให้คุณจัดเก็บขั้นตอนการทำงานในไฟล์เพื่อนำกลับมาใช้ใหม่ได้
เอกสารของ Anthropic: วางขั้นตอนไว้ใน .claude/skills สร้างโฟลเดอร์ team-brief พร้อม SKILL.md ที่มีรายการตรวจสอบก่อนส่งมอบงาน
1---2name: team-brief3description: Organize scope and verification from specs4disable-model-invocation: true5---6Read docs/spec.md and docs/tasks.md, targeting only current changes.7Organize scope, forbidden changes, prerequisites, completion criteria, verification.8Create request texts for agents, leaving undecided items for human confirmation.9Do not change code, publish externally, or launch Codex in this procedure.
เรียกใช้ใน Claude Code:
1/team-brief Want to add sorting by deadline
นี่คือคำสั่งที่กำหนดเอง ไม่ใช่คำสั่งมาตรฐาน disable-model-invocation: true ช่วยให้มั่นใจว่ามนุษย์จะเป็นผู้กำหนดเวลาเริ่ม Claude จะไม่เริ่มเอง ขั้นตอนเหล่านี้ไม่ได้บังคับให้ AI เริ่มทำงานหรือตรวจสอบ ให้ลอง "ใช้ซ้ำเฉพาะขั้นตอนเตรียมการ" ก่อน
Dynamic Workflows สำหรับงานขนาดใหญ่
สำหรับขอบเขตที่ใหญ่ขึ้น Claude Code มี Dynamic workflows (ประกาศเมื่อพฤษภาคม 2026) ซึ่งช่วยเขียนสคริปต์ควบคุมเอเจนต์หลายตัว ใช้ได้ในแพ็กเกจแบบเสียเงิน/API
- แชทปกติ: Claude เลือกงานถัดไปทุกครั้ง
- Dynamic workflows: เขียนสคริปต์แยกสาขา/รวบรวมผลลัพธ์ รันซ้ำได้
ตัวอย่าง: สืบสวนการบันทึกล้มเหลว การตรวจสอบข้อมูลนำเข้า การจัดวางพัง ในหลายหน้าจอแยกกัน แล้วนำมาเทียบเคียงสิ่งที่พบ อย่าเรียกเอเจนต์ขนาดมหึมาจากแอปเล็ก ๆ ให้พิจารณาใช้เมื่อต้องการนำการตรวจสอบเดียวกันไปใช้วงกว้าง
สร้าง Dynamic workflow ที่สืบสวนหน้าจอที่แยกส่วน และตรวจสอบสิ่งที่พบด้วยเอเจนต์แยกต่างหาก นำเสนอเป้าหมาย จำนวนเอเจนต์ และเงื่อนไขการจบงานก่อน ห้ามเปลี่ยนโค้ด ให้ดำเนินการในขอบเขตเล็ก ๆ หลังได้รับการอนุมัติ
เคล็ดลับ:
- เปิดใช้งานผ่าน
/configในแพ็กเกจ Pro
- ติดตามความคืบหน้า/การใช้งานด้วย
/workflowsหยุดได้ทุกเมื่อ
- เลือกขนาด (small ฯลฯ) ใน
/configเอกสารทางการเรียกว่าเป็นการประมาณการ ไม่ใช่ขีดจำกัดตายตัว อย่าทึกทักว่าจะได้จำนวนเอเจนต์ตามที่ระบุเสมอไป
สิ่งนี้รันเอเจนต์ฝั่ง Claude Codex ไม่ได้เข้าร่วมอัตโนมัติ ให้ใช้สำหรับการสืบสวน/ตรวจสอบภายในของ Claude ก่อน แล้วถือว่าการมอบหมายงานให้ Codex เป็นอีกขั้นตอนหนึ่ง
รันแอปจัดการเคสแบบ End-to-End
เชื่อมต่อส่วนประกอบต่าง ๆ เข้าด้วยกันเป็นการสร้างแอปหนึ่งตัว ด้านล่างนี้เป็นตัวอย่างการพัฒนาเพื่ออธิบาย ไม่ใช่รายงานประสบการณ์ที่สมบูรณ์แล้ว ให้ตรวจสอบในสภาพแวดล้อมของคุณเอง
เป้าหมายการสร้าง
- ฟิลด์: ชื่อเคส, กำหนดส่ง, สถานะ, หมายเหตุ
- สถานะ: ยังไม่เริ่ม / กำลังดำเนินการ / เสร็จสิ้น
- ค้นหาตามชื่อเคส
- ดูเคสที่ยังไม่เสร็จเรียงตามกำหนดส่ง
คำขอเริ่มต้น
ส่งให้ Claude กำหนดเป้าหมายเป็นโฟลเดอร์ฝึกหัดใหม่ ไม่ใช่โปรเจกต์สำคัญที่มีอยู่แล้ว
สร้างแอปจัดการเคสส่วนตัวในโฟลเดอร์ฝึกหัด ยืนยันสภาพแวดล้อมและสเปกก่อน รวมการลงทะเบียน/แก้ไข/ค้นหา/เรียงลำดับ/การคงอยู่ของข้อมูล สำหรับชื่อ กำหนดส่ง สถานะ หมายเหตุ ไม่รวมการล็อกอิน การซิงค์ และการเผยแพร่ภายนอก
ตัวเลือกการจัดเก็บ: localStorage ไม่มีการซิงค์/สำรองข้อมูลหลายอุปกรณ์ การล้างข้อมูลเบราว์เซอร์จะลบข้อมูลทิ้ง อย่าใส่ข้อมูลการผลิตที่มีค่าลงไป
สร้างฐาน กำหนดส่วนที่ใช้ร่วมกัน
ให้เอเจนต์เดียวสร้างฐาน ตรวจสอบว่าแอปรันได้ หน้าจอว่างแสดงผลถูกต้อง Commit สเปก/ฐานลง Git ก่อนแยกพื้นที่ทำงานหากจำเป็น
- ให้เอเจนต์ UI: ฟิลด์ที่แสดง, การแมปการกระทำ
- ให้เอเจนต์ Storage: รูปแบบข้อมูล, วิธีการอ่าน/เพิ่ม/อัปเดต, การจัดการข้อผิดพลาด
อย่าปล่อยให้ฝ่ายใดคิดชื่อฟิลด์ขึ้นมาเอง หากฟิลด์สถานะคือ status ทั้งสองฝ่ายต้องใช้ชื่อนี้ อย่าเปลี่ยนฝั่งหนึ่งเป็น state เพราะสะดวกกว่า ให้ส่งการเปลี่ยนแปลงที่ใช้ร่วมกันกลับมาที่ Claude เพื่อปรับแก้
คำขอลงมือทำไปยัง Codex
ระบุตำแหน่งที่เขียนได้ และหลักฐานที่ต้องส่งคืน
1/codex:rescue --fresh Read docs/spec.md and docs/tasks.md. Implement only assigned storage logic and tests. Return changed files, commands, test results, unconfirmed items. Stop and report if spec changes or other agent edits needed.
ในระหว่างนั้น Claude จะไม่แก้ไขไฟล์เดียวกันแทรกแซง ให้มุ่งเน้นการตรวจสอบความสมบูรณ์/เตรียมข้อมูลทดสอบ แล้วค่อยตัดสินใจขั้นต่อไปหลังได้ผลลัพธ์กลับมา
เตรียมข้อมูลตรวจสอบ
- กำหนดส่งเมื่อวาน สถานะ "ยังไม่เริ่ม"
- กำหนดส่งวันนี้ สถานะ "กำลังดำเนินการ"
- กำหนดส่งสัปดาห์หน้า สถานะ "เสร็จสิ้น"
- เคสที่มีกำหนดส่งเดียวกันหลายเคส
- ชื่อเคสที่ยาวมาก
ช่วยให้ตรวจสอบการเรียงลำดับ/การแสดงผลได้อย่างเป็นรูปธรรม
บันทึกรายละเอียดกฎไว้ในสเปก:
- การเรียงลำดับ: ลำดับการลงทะเบียนสำหรับกำหนดส่งที่เหมือนกัน
- ฟิลด์ว่าง: ชื่อ/กำหนดส่ง จำเป็นต้องมี หมายเหตุไม่บังคับ แสดงฟิลด์ที่ขาดหาย
- วันที่: กำหนดสมมติฐานการเปลี่ยนวัน การจัดการโซนเวลา/เวลาที่ทำให้วันเลื่อนจะทำให้แอปใช้งานไม่ได้แม้จะดูเรียบร้อย
การกำหนดกฎล่วงหน้าช่วยป้องกันการตรวจสอบที่ไม่สอดคล้องกันหลังลงมือทำ
ผสานรวมและทดสอบ
เมื่อการลงมือทำพร้อมแล้ว ให้ Claude อ่านรายการเปลี่ยนแปลง/ผลการทดสอบ และยืนยันการผสานรวม หากใช้ worktrees ให้รวบรวมการเปลี่ยนแปลงลงใน branch ตรวจสอบเดียว รันการทดสอบที่ผ่านแบบเดี่ยวอีกครั้งหลังผสานรวม
ใช้ Playwright สำหรับ UI automation คู่มือปัจจุบันมี CLI/Skills สำหรับเอเจนต์ AI แล้ว MCP ไม่ใช่วิธีเดียว
แยก "กลไกควบคุมเบราว์เซอร์ของ AI" ออกจาก "การทดสอบที่ทำซ้ำได้" ใช้ Playwright Test สำหรับขั้นตอนการลงทะเบียนจนถึงการรีโหลดที่รันซ้ำได้
สร้าง Playwright Tests ที่ตรวจสอบการลงทะเบียน การปฏิเสธเมื่อว่างเปล่า การค้นหา การเปลี่ยนสถานะ การเรียงตามกำหนดส่ง และการคงอยู่ของข้อมูล แยกการตั้งค่าการรัน/ข้อมูลทดสอบ อย่าเปลี่ยนพฤติกรรมของแอป/เกณฑ์ความสำเร็จเพื่อให้ผ่านการทดสอบ
การตั้งค่าสำหรับโปรเจกต์ฝึกหัดใหม่:
1npm init playwright@latest
หากติดตั้งแล้ว ให้ตรวจสอบการตั้งค่าการรัน/การทดสอบที่มีอยู่ก่อนเพิ่ม
ตรวจสอบให้แน่ใจว่าติดตั้งเบราว์เซอร์แล้ว ตั้งค่าการรันแอป แล้วจึงรัน:
1npx playwright test2npx playwright show-report
สิ่งสำคัญ: อย่าถือว่ากรณีที่ "ไม่พบการทดสอบ" หรือ "ข้ามทั้งหมด" คือ "ผ่าน"
เมื่อล้มเหลว ให้แยกสาเหตุ: บั๊กในส่วนจัดเก็บ หรือการทดสอบมองหาปุ่มที่ไม่มีอยู่? อย่าลบการทดสอบเพื่อให้ผลเป็นสีเขียว ให้ตัดสินใจเป้าหมายการแก้ไขเทียบกับสเปกดั้งเดิม
การตรวจสอบครั้งสุดท้ายโดยมนุษย์
ตรวจสอบภาพด้วยตัวเอง มีข้อความซ่อนอยู่ไหม? หาเคสที่ใกล้กำหนดส่งได้ง่ายไหม? รายงานการทดสอบที่ผ่านไม่ได้การันตี UX
รับสี่รายการจาก Claude ไม่ใช่ log ยาว ๆ:
- วิธีการรัน
- พฤติกรรมที่ตรวจสอบแล้ว
- ข้อจำกัดที่เหลืออยู่
- ผู้สมัครสำหรับการแก้ไขครั้งต่อไป
ลองลงทะเบียนหนึ่งรายการด้วยตัวเอง รีโหลด และตรวจสอบการคงอยู่ของข้อมูล จากนั้นจึงทำเครื่องหมายว่าเสร็จสิ้น
จุดที่ควรหยุดการแก้ไขไม่หยุดหย่อน
เมื่อขอบเขตของทีมขยายขึ้น ให้กำหนดจุดสิ้นสุด เรากำลังวนลูปกับบั๊กเดิมหรือแก้ปัญหาต่อเนื่องกัน? สถานะที่ไม่ชัดเจนจะขัดขวางการสั่งงานเพิ่มเติม
ตั้งเกณฑ์การหยุด
ใช้ "แก้ไขสูงสุดสองครั้งต่อปัญหา" เป็นแนวทาง ไม่ใช่คำแนะนำทางการ แต่เป็นกฎปฏิบัติเพื่อคืนอำนาจการตัดสินใจให้มนุษย์เมื่อติดขัด
หากบั๊กเดิมยังไม่ถูกแก้ไขหลังพยายามสองครั้ง ให้หยุดการเปลี่ยนแปลงเพิ่มเติม สรุปสิ่งที่ลองทำไปแล้ว การเปลี่ยนแปลงที่เกิดขึ้น อาการที่เหลืออยู่ และการตัดสินใจที่จำเป็น อย่าขยายไปยังฟีเจอร์ที่ไม่เกี่ยวข้อง
คำสั่งเพียงอย่างเดียวไม่ได้รับประกันว่าจะหยุดได้ ให้ติดตามการใช้งาน ยกเลิกคำขอพื้นหลังที่ไม่จำเป็นด้วย /codex:cancel และตรวจสอบว่าเอเจนต์หยุดจริงหรือไม่
ติดตามต้นทุนแยกกัน
โควตาของ Codex ที่ยืนยันตัวตนผ่าน ChatGPT ต่างจากการคิดราคาด้วยคีย์ API เอเจนต์ที่ทำงานคู่ขนานจะบริโภคทรัพยากรการประมวลผล/เครื่องมือ
อย่าส่งงานแก้ไขข้อความเล็กน้อยผ่าน AI ทั้งสองตัว/การรีวิวขนาดใหญ่
จัดหมวดหมู่:
- งานที่ทำคนเดียวเสร็จ
- งานที่ต้องการมุมมองที่สอง
- งานที่แยกทำคู่ขนานได้อย่างอิสระ
ช่วยให้ตัดสินใจจัดสรรแรง/โควตาได้
ระวังการระบุโมเดลที่ล้าสมัย
การระบุโมเดลเก่าทำให้เกิดความล้มเหลว อัปเดตจาก OpenAI: GPT-5.5 สิ้นสุดการใช้งานสำหรับ Codex ที่ยืนยันตัวตนผ่าน ChatGPT เมื่อวันที่ 15 ตุลาคม 2026 (JST) การยืนยันตัวตนด้วยคีย์ API ไม่ได้รับผลกระทบ
อัปเดตการระบุโมเดล/ไฟล์บทบาทเก่าให้เป็นโมเดลที่ใช้งานได้ในปัจจุบัน ตรวจสอบโมเดลที่เลือกได้และการตั้งค่า reasoning ที่ยอมรับ ไม่ใช่แค่เปลี่ยนชื่อ
ตรวจสอบสิทธิ์และ Hooks
สิทธิ์ของ Claude ไม่ได้ส่งต่อไปยัง Codex เสมอไป ให้ตรวจสอบสิทธิ์การรันทั้งสองฝั่ง ฝึกฝนโดยไม่ใช้ข้อมูลรับรองของระบบการผลิต ต้องมีการอนุมัติแยกต่างหากสำหรับการลบ การเผยแพร่ภายนอก และการเรียกเก็บเงิน
ตรวจสอบ hooks ในตัวอย่างสาธารณะก่อนใช้งานเสมอ เพราะ hooks จะทำงานอัตโนมัติตามเวลาที่กำหนดไว้ ให้ดูว่าอะไรถูกเรียกใช้จริง ๆ ไม่ใช่แค่ดูส่วนเสริมที่เพิ่มเข้ามาอย่างสะดวกเท่านั้น
การวัดคำว่า "สร้างได้อย่างรวดเร็ว"
อย่าเปรียบเทียบแค่เวลาที่ใช้ในการสร้างเพียงอย่างเดียว
- จำนวนครั้งที่คุณต้องอธิบายใหม่
- เวลาที่ใช้ในการเชื่อมต่อระบบ/แก้ไข
- ข้อบกพร่องที่เหลืออยู่เทียบกับเกณฑ์ความสมบูรณ์
นำปัจจัยเหล่านี้มาพิจารณาร่วมด้วย เพื่อตัดสินใจว่าวิธีแบ่งงานแบบเดิมจะใช้ได้ผลในครั้งต่อไปหรือไม่
เริ่มต้นด้วยเครื่องมือเล็ก ๆ ที่ใช้รายสัปดาห์
คนที่ไม่ใช่วิศวกรจะหาจุดที่ได้ผลลัพธ์ง่ายที่สุดได้จากงานที่พวกเขาตัดสินความถูกต้องได้ด้วยตัวเอง
- การติดตามคำถามหรือคำขอ
- การตรวจสอบกำหนดส่งคำสั่งซื้อ
- การจัดรูปแบบ CSV พร้อมการเรียงลำดับที่สม่ำเสมอ
ให้เริ่มจาก use case ที่อธิบายได้ง่าย ๆ
อยากเห็นงานที่ใกล้ถึงกำหนดส่งขึ้นมาก่อนไหม? ต้องการตัดงานที่ทำเสร็จแล้วออกไหม? หรือแจ้งเตือนเมื่อขาดข้อมูลนำเข้า? ความต้องการในชีวิตประจำวันเหล่านี้จะกลายเป็นเกณฑ์ความสมบูรณ์สำหรับ AI
ไม่จำเป็นต้องเขียนโค้ดเก่งก่อน ค่อย ๆ สร้าง prototype จากเงื่อนไขที่มี ใช้งาน แล้วแก้ไขไปเรื่อย ๆ ข้อควรระวัง: ระบบข้อมูลลูกค้าหรือบริการสาธารณะจำเป็นต้องได้รับการตรวจสอบจากผู้เชี่ยวชาญ แม้ prototype จะทำงานสำเร็จแล้วก็ตาม
ทีมเริ่มต้นเท่านี้ก็เพียงพอ:
- ให้ Claude จัดระเบียบข้อกำหนด (specs)
- ให้ Codex ทำงานหนึ่งอย่าง
- ตรวจสอบผลลัพธ์ที่ได้ด้วยมุมมองที่แตกต่างออกไป
เก็บ prompt และวิธีการตรวจสอบที่ใช้ได้ดีเอาไว้ จะได้ไม่ต้องมานั่งอธิบายใหม่ทั้งหมดตอนทำแอปตัวถัดไป
ขอบคุณที่อ่านครับ
LINE Open Chat "Niku's AI Speed Strategy" แจกชุดข้อมูลฟรี 8 รายการ
- คู่มือแนะนำ Codex/Claude Code
- คำสั่งสำหรับคัดลอกและวาง
- ตารางอ้างอิงด่วน
- มินิแอป 50 ตัว
- Image prompt 50 แบบ
- วิธีติดตั้ง yomiyasu
- เครื่องมือสร้างชื่อเรื่อง
- ขั้นตอนและรายได้จากการสร้างรายได้บน X
รับได้ที่นี่ 👇 https://x.gd/VtPmw





