Fable 5 + GPT-5.6: การสร้าง Agent Stack ตั้งแต่ A ถึง Z ที่ทำงานได้แม้คุณหลับ
นี่คือการสร้างแบบสมบูรณ์ เรียงตามลำดับ พร้อมจุดตรวจสอบหลังจากแต่ละขั้นตอน
คั่นหน้านี้ไว้ก่อนจะลืม 12 Builds นี้
บทนำ
คุณมีโมเดลที่ทรงพลังที่สุดสองตัวที่เปิดให้ใช้ทั่วไป แต่คุณยังคงใช้ทีละตัว ด้วยมือของคุณเอง
สามสิ่งเปลี่ยนไปในเดือนที่แล้ว
- Claude Fable 5 วางแผนข้ามขั้นตอน ส่งมอบหมายให้ subagent ของตัวเอง และตรวจสอบผลลัพธ์ของตัวเอง $10 ต่อล้านโทเค็นขาเข้า $50 ต่อล้านโทเค็นขาออก
- GPT-5.6 เปิดตัว 9 กรกฎาคม เป็นสามระดับถาวร Sol ที่ $5 และ $30, Terra ที่ครึ่งราคาของ Sol, Luna ที่ $1 และ $6 ตอนนี้ OpenAI ขายการตัดสินใจเลือกเส้นทางเป็นผลิตภัณฑ์
- Fable 5 ถูกระงับ 19 วันในเดือนมิถุนายน ภายใต้คำสั่งส่งออก ความพร้อมใช้งานกลายเป็นสิ่งที่เกิดขึ้นกับคุณได้
ถ้าใช้แบบไม่เป็นระบบ โมเดลเหล่านี้เป็นวิธีแพงๆ ในการสร้างสิ่งที่ผิดพลาดอย่างน่าประทับใจ
ถ้าใช้ภายในระบบที่มีโครงสร้าง มันคือสิ่งที่ใกล้เคียงพนักงานมากที่สุดที่คุณสามารถเช่าได้ ตัวเลขระดับองค์กรของ Anthropic บอกว่า Claude Code มีค่าใช้จ่ายประมาณ $13 ต่อนักพัฒนาต่อวันที่ใช้งาน OpenAI บอกว่า Codex อยู่ที่ $100 ถึง $200 ต่อเดือน
คู่มือนี้สร้างระบบนั้นใน 12 Builds: ไฟล์จริง เรียงตามลำดับ ทดสอบแต่ละตัวก่อนเผยแพร่ โดยมีจุดตรวจสอบหลังจากแต่ละตัว เพื่อให้คุณรู้ว่าชิ้นส่วนนั้นใช้งานได้ก่อนที่จะต่อยอดชิ้นต่อไป
เหมาะสำหรับทุกคนที่มี repo, terminal, และการเข้าถึง CLI ตัวใดตัวหนึ่ง ตัวอย่างเป็นแนวโค้ดเพราะ loops เติบโตมากับโค้ด แต่ router, advisor, และ gate ทำงานกับใบแจ้งหนี้และรายงานได้เช่นเดียวกัน
อ่านตามลำดับ พร้อมทำเช็ค แต่ละ build ใช้เวลา 10 ถึง 20 นาที รวมประมาณสองชั่วโมง ส่วน 30 วันท้ายคือตารางเวลาที่ระบบจะได้รับสิทธิ์ให้ทำงานโดยไม่มีคุณ
สามหลักการคาดการณ์ทุกการตัดสินใจออกแบบด้านล่างนี้:
- กำหนดเส้นทางที่ขอบเขต ใช้ความพยายามก่อนโมเดล การเปลี่ยนโมเดลกลางคันจะเผาส่วนลด cache ที่มีค่า 90 เปอร์เซ็นต์ การเพิ่มความพยายามในการคิดบนโมเดลเดียวกันไม่มีค่าใช้จ่ายเพิ่มเติมในระบบท่อ
- ไม่มีอะไรตรวจการบ้านของตัวเอง นักเขียน, router, advisor, และ reviewer เป็นฝ่ายที่แตกต่างกัน มาจากสายเลือดที่แตกต่างกันถ้าเป็นไปได้ และการลงคะแนนครั้งสุดท้ายคือ bash script
- เสร็จคือข้อเท็จจริงเกี่ยวกับสภาพแวดล้อม ชุดการทดสอบที่ผ่าน, ไฟล์งานที่ถูกติ๊ก, บรรทัดคำตัดสิน ไม่ใช่ความคิดเห็นของโมเดลเกี่ยวกับตัวเอง
แผนที่ และเหตุผลที่แผนที่ปกติผิด
วิศวกรรม Loop คือการทำงานแบบ agentic workflow ที่มีเงื่อนไขการหยุดที่ชัดเจนและตรรกะการลองใหม่ ระบบควบคุม (harness) เป็นผู้ตัดสินว่างานเสร็จเมื่อใด แทนที่จะปล่อยให้ "ฉันเสร็จหรือยัง" อยู่ที่โมเดล
ภาพมาตรฐานคือ Loopcraft stack ของ swyx: ห้า loops ซ้อนกันอยู่ภายในกันและกัน execution ภายใน task ภายใน product ภายใน system ภายใน oversight แต่ละอันมีทางออกของตัวเอง มันเป็นภาพที่ดีที่สุดที่ใครก็ตามเคยวาด
ผมใช้มันเป็นเวลาหลายสัปดาห์ จากนั้นผมลองสร้างตามมัน และมันพังในสี่จุด
1) ปัญหาที่หนึ่ง: loops ไม่ได้ซ้อนกัน
การซ้อนกันหมายความว่าหนึ่งรอบของ outer loop เท่ากับหนึ่งการทำงานที่สมบูรณ์ของ inner loop นั่นไม่ใช่สิ่งที่เกิดขึ้น system loop ไม่ได้รอให้ product loop เสร็จ มันทำงานในวันอาทิตย์ไม่ว่าอะไรจะถูกส่งออกไปหรือไม่
คุณสามารถขัดจังหวะกระแสโทเค็นด้วยมือได้โดยไม่ต้องคลายสี่ชั้น มันเป็นภาพของการกักขังที่วาดทับบนระบบที่ทำการส่งต่อ
2) ปัญหาที่สอง: loop ที่วาดว่าไม่มีที่สิ้นสุดคือค่าใช้จ่าย
ต้นฉบับวาด product loop แบบนั้น ในทางปฏิบัติมันจบลงที่งบประมาณ ที่จุดตรวจสอบ หรือที่ใครบางคนหมดความอดทน
การเรียกสิ่งนั้นว่า "ไม่มีโดยการออกแบบ" ซ่อนจุดที่เงินรั่วไหลออกจากระบบ agent อย่างแท้จริง: loop ที่ไม่มีใครบอกให้เลิก
3) ปัญหาที่สาม: ไม่มีการยกเลิก (abort)
ทุกชั้นมีตอนจบที่มีความสุขและไม่มีตอนจบที่ไม่มีความสุข Loops จริงต้องการทั้งสองอย่าง: มันจบอย่างไรเมื่อมันทำงานได้ และมันหยุดอย่างไรเมื่อมันทำไม่ได้
ทุกค่าใช้จ่ายที่หนีมือที่ผมเคยเห็นคือ loop ที่มีทางออกที่กำหนดไว้และไม่มีทางยกเลิกที่กำหนดไว้
4) ปัญหาที่สี่: การตรวจสอบหายไป และมันคือทั้งเกม
การตรวจสอบคือสัญญาระหว่างชั้น เมื่อ lower loop ส่งรายงานแทนที่จะเป็นข้อเท็จจริงไปยัง upper loop upper loop จะปิดลงบนความเท็จ
ช่องว่างเดียวนี้คือสาเหตุที่ loop สามารถถึงเงื่อนไขการหยุดของมันและยังคงผิดได้
นี่คือเวอร์ชันที่ผมสร้างขึ้นมา
บันไดหลักฐาน (Evidence Ladder)
หกขั้น แต่ละขั้นมีสองทางออก และกฎข้อเดียว: การควบคุมไหลลงเป็นเป้าหมาย หลักฐานไหลขึ้นเป็นข้อเท็จจริง และไม่มีขั้นใดปิดลงบนรายงานจากขั้นที่อยู่ด้านล่าง

กฎห้าข้อเกิดจากรูปร่างนี้
ทุกขั้นมีการยกเลิก (abort) มิฉะนั้นมันคือค่าใช้จ่าย ถ้าคุณบอกไม่ได้ว่า loop จบลงอย่างเลวร้ายได้อย่างไร คุณได้สร้างการสมัครสมาชิกแล้ว นี่คือสาเหตุที่ ralph.sh มีสองขีดจำกัด และ swarm มี cycle cap
หลักฐานไหลขึ้นและการควบคุมไหลลง ขั้นหนึ่งปิดลงบนข้อเท็จจริงที่ผลิตขึ้นด้านล่าง ไม่เคยปิดลงบนบทสรุปที่เขียนขึ้นด้านล่าง
ประตูโรงงาน (factory gate) คือกฎนี้ใน SQL Reviewer สองคนบอกว่าผ่าน Gate ยังคงปฏิเสธ เพราะไม่มีใครสร้างแถวการทดสอบที่ผ่าน
คำตัดสินคือความคิดเห็น แถวคือหลักฐาน
ต้นทุนต่อรอบเพิ่มขึ้นประมาณสิบเท่าต่อขั้น
ข้อบกพร่องที่หลุดจากขั้น 2 มีค่าใช้จ่ายในการตรวจสอบที่ขั้น 3 มากกว่าสิบเท่า และที่ขั้น 4 มากกว่าร้อยเท่า
นั่นคือข้อโต้แย้งทั้งหมดสำหรับการวางการตรวจสอบที่ดีที่สุดของคุณให้ต่ำที่สุดเท่าที่จะทำได้บนบันได ซึ่งเป็นเหตุผลที่ gate คือ bash script ไม่ใช่การประชุม
ช่วงเวลาขึ้นอยู่กับโมเดล ไม่ใช่ขั้น
ขั้น 2 ใช้เวลาเป็นนาทีในปี 2024 ใช้เวลาเป็นชั่วโมงในปี 2026 และจะใช้เวลาเป็นวันในเร็วๆ นี้ ออกแบบโดยคำนึงถึงเงื่อนไขการออก ไม่ใช่ตามนาฬิกา นี่คือจุดที่ภาพเก่าแก่เร็วที่สุด
มีเพียงขั้น 5 เท่านั้นที่ไม่มีเงื่อนไขการออก และนั่นคือความหมายของมนุษย์
คุณอยู่ที่นั่น บันไดมีอยู่เพื่อให้ได้มาซึ่งประโยคเดียว: loop สามารถถึงเงื่อนไขการหยุดของมันและยังคงผิดได้
การทดสอบผ่าน gate เปลี่ยนเป็นสีเขียว reviewer ทั้งสองเซ็น และ commit ล่าสุดก็ยังเป็นความผิดพลาด ทุกขั้นที่อยู่ต่ำกว่าคุณมีอยู่เพื่อทำให้การตรวจสอบนั้นเล็กลง ไม่มีขั้นใดสามารถเอาสิ่งนั้นไปจากคุณได้
ข้อกำหนดเบื้องต้น
1claude CLI (Claude Code) พร้อมการเข้าถึง Fable 52codex CLI พร้อมการเข้าถึง GPT-5.6 # หรือ plugin อย่างเป็นทางการภายใน Claude Code3python3, jq, git, gh, make, cron4repo ที่มีคำสั่งทดสอบที่ใช้งานได้ในวันนี้56# ไม่บังคับ สำหรับ mixed fleets (BUILD 7):7openai/codex-plugin-cc # ทางการ: เรียกใช้ Codex ภายใน Claude Code8claude-model-switch # proxy ท้องถิ่น: ผู้ให้บริการใดๆ ก็ตามภายใต้ Claude Code9CLIProxyAPI # ห่อการสมัครสมาชิก CLI เป็น API endpoints
สิ่งที่คุณกำลังสร้าง
1your-repo/2 CLAUDE.md # BUILD 1: รัฐธรรมนูญฝั่ง Claude3 AGENTS.md # BUILD 1: รัฐธรรมนูญฝั่ง Codex4 .claude/5 skills/model-bench/SKILL.md # BUILD 0: ราคา, API ids, ทางเลือกสำรอง ไฟล์เดียวที่มีตัวเลข6 skills/model-router/SKILL.md # BUILD 47 skills/stuck-protocol/SKILL.md # BUILD 58 skills/ship-gate/SKILL.md # BUILD 29 agents/fable-expert.md # BUILD 510 agents/fresh-eyes-reviewer.md # BUILD 611 agents/sol-reviewer.md # BUILD 612 agents/scout.md # BUILD 713 loop/14 ralph.sh # BUILD 3: หัวใจที่เต้น15 two_lane.sh # BUILD 6: วงตรวจสอบข้ามผู้ผลิต16 PROMPT.md TASKS.md # BUILD 3: โปรโตคอลการทำงาน17 gate/18 verify.sh # BUILD 2: การลงคะแนนครั้งสุดท้ายที่แน่นอน19 eval_gate.py eval/cases.jsonl # BUILD 2: ประตูการเปลี่ยนแปลงเส้นทาง20 router/21 router.py # BUILD 422 advisor_loop.py # BUILD 523 ~/.codex/24 config.toml # BUILD 0: โปรไฟล์ luna/terra/sol25 prompts/effort.md # /effort ให้คะแนนงาน ระบุที่นั่ง26 prompts/plan-stop.md # /plan-stop วางแผน กำหนดราคา แล้วหยุด27 prompts/fable-advice.md # /fable-advice คำปรึกษาจากผู้เชี่ยวชาญข้ามผู้ผลิต28 prompts/review-hostile.md # /review-hostile คำตัดสินในบริบทที่สะอาด29 prompts/compost.md # /compost ความล้มเหลวกลายเป็นกฎ รายสัปดาห์30 factory/31 factory_gate.py # BUILD 8: กระดานดำ + ประตูการเสร็จสิ้น32 factory.sh # BUILD 8: บรีฟ -> ใช้งาน -> ตรวจสอบ -> ประตู33 factory.db # BUILD 8: แถวที่ตัดสิน34 swarm/35 swarm.sh # BUILD 9: วางแผน -> ส่ง -> ให้คะแนน -> วางแผนใหม่36 goals.jsonl # BUILD 9: หนึ่งเป้าหมายต่อบรรทัด แต่ละเป้าหมายพร้อมการตรวจสอบ37 system/38 verify_goals.py # BUILD 10: การตรวจสอบซ้ำรายวันตลอดไป39 goals/ # BUILD 10: หนึ่งไฟล์ต่อสิ่งที่เสร็จสิ้น40 ROUTING.md # BUILD 12: นโยบายการกำหนดเส้นทางแบบเต็ม ทั้งสองระบบควบคุม41 progress.log # ทุก build จะเพิ่มข้อมูลที่นี่42 # ไม่บังคับ (BUILD 7): claude-model-switch proxy บน localhost:4000,43 # CLIProxyAPI สำหรับห่อการสมัครสมาชิก CLI เป็น API endpoints
BUILD 0: กำหนดค่าเครื่องยนต์
ตั้งค่าสิ่งเหล่านี้ก่อนที่จะเขียนไฟล์ใดๆ ของคุณเอง ทุกตัวเลขด้านล่างได้รับการยืนยันจากหน้าราคาอย่างเป็นทางการในสัปดาห์ที่เผยแพร่
ม้านั่ง: ทุกที่นั่ง กรกฎาคม 2026
รายชื่อที่ระบบว่าจ้างจาก
ราคาอยู่ในไฟล์ skill เดียว .claude/skills/model-bench/SKILL.md โหลดตามต้องการก่อนคำถามเกี่ยวกับเส้นทางหรือต้นทุนใดๆ ไม่มีไฟล์อื่นใดที่เขียนตัวเลขตายตัว
ราคาเปลี่ยนไปสามครั้งในหกสัปดาห์ก่อนที่บทความนี้จะถูกเขียน ราคาในบทความผิดพลาด ณ เวลาที่เผยแพร่ ราคาในไฟล์ skill คือการแก้ไขเพียงครั้งเดียว

การแบ่งแยกที่ตัดสินทุกอย่าง downstream:
- Fable 5 นำในงานซอฟต์แวร์ที่ยาก 80 เปอร์เซ็นต์บน SWE-Bench Pro เทียบกับ Sol ที่ 64.6 และมันเหนือกว่า Sol เล็กน้อยในด้านความฉลาดโดยรวม
- Sol นำในงาน terminal และ agent 88.8 เปอร์เซ็นต์บน Terminal-Bench 2.1 และมันเป็นอันดับหนึ่งในดัชนี coding-agent ที่ประมาณหนึ่งในสามของต้นทุนต่องานของ Fable
การแบ่งแยกนั้นคือสาเหตุที่ระบบนี้ใช้สองผู้ผลิต Fable ตัดสินและวางแผน Sol ตรวจสอบและขับเคลื่อน terminals และไม่มีตัวใดทำการพิมพ์จำนวนมาก

สองที่นั่งที่คนอ่านผิด
Opus 4.8 ไม่ใช่เรือธงเก่าที่สะสมฝุ่น มันเป็นทางเลือกสำรองอัตโนมัติภายใต้ Fable และค่าเริ่มต้นที่แนะนำสำหรับการเขียนโค้ด agentic ที่ซับซ้อน ระบบของคุณได้รับมันโดยอัตโนมัติไม่ว่าคุณจะวางแผนไว้หรือไม่
Sonnet 5 ที่ราคาแนะนำเป็นมูลค่าที่ดีที่สุดในกระดาน ใกล้เคียงกับ Opus 4.8 ในด้านความสามารถในเศษเสี้ยวของราคาขาเข้าของ Fable ซึ่งเป็นสาเหตุที่มันเป็นผู้ดำเนินการเริ่มต้นทุกที่ใน build นี้ อัตรานี้หมดอายุในวันที่ 31 สิงหาคม และไฟล์ skill ก็รู้แล้ว
ไฟล์ skill นั้นเป็นไฟล์เดียวในระบบที่มีตัวเลข:
1---2name: model-bench3description: แผ่นราคาปัจจุบัน, API model IDs, และห่วงโซ่การสำรองสำหรับทุกโมเดลที่ระบบนี้สามารถว่าจ้างได้4 โหลดก่อนการตัดสินใจเส้นทางใดๆ, การประมาณต้นทุน,5 คำถามเรื่องงบประมาณ, การเปรียบเทียบโมเดล, หรือเมื่อผู้ใช้ถามว่าบางอย่างมีค่าใช้จ่ายเท่าไร6---78# ม้านั่งโมเดล910แหล่งความจริงเดียวสำหรับราคาและตัวระบุ API ไม่มีอะไรอื่นใน repo นี้11ที่เขียนราคาตายตัว ดังนั้นเมื่อแล็บต่างๆ เปลี่ยนอัตราของพวกเขา คุณแก้ไขไฟล์นี้12ไฟล์เดียว ไม่มีอะไรอื่น ตรวจสอบแล้ว 2026-07-13 ราคาเปลี่ยนแปลง ตรวจสอบอีกครั้งก่อนคุณตั้งงบประมาณ1314## Anthropic (Messages API, /v1/messages)1516Effort: output_config {"effort": "low|medium|high|xhigh|max"} Adaptive thinking17เปิดอยู่เสมอสำหรับ Fable 5 และไม่สามารถปิดได้ max_tokens จำกัดการคิด บวกกับ18ข้อความตอบสนอง ดังนั้นให้ตั้งค่ามันให้ใหญ่ (เริ่มใกล้ 64k) ที่ระดับสูงขึ้นไป19มิฉะนั้นโมเดลจะไม่มีพื้นที่พอระหว่างการคิด2021| โมเดล | ขาเข้า/ขาออกต่อ Mtok | อ่าน Cache | ที่นั่ง |22|---|---|---|---|23| claude-fable-5 | $10/$50 | $1.00 | วาทยกร, นักวางแผน, ที่ปรึกษา, ผู้ตัดสิน สำรองไปที่ opus-4-8 โดยอัตโนมัติ |24| claude-opus-4-8 | $5/$25 | $0.50 | วาทยกรภายใต้กฎการคงไว้ |25| claude-sonnet-5 | $2/$10 (ถึง 31 ส.ค. จากนั้น $3/$15) | n/a | ผู้ดำเนินการเขียนโค้ดเริ่มต้น |26| claude-haiku-4-5 | $1/$5 | $0.10 | ลูกเสือ, subagent, งานกลไก |27281M context บน Fable, Opus 4.8, Sonnet 5, ราคาแบบ FLAT ที่ context ยาว29ซึ่งเป็นสาเหตุที่การอ่านยาวๆ มาที่นี่ ผลลัพธ์สูงสุด 128K3031## OpenAI (Responses API, /v1/responses)3233| โมเดล | ขาเข้า/ขาออกต่อ Mtok | Cached | ที่นั่ง |34|---|---|---|---|35| gpt-5.6-sol | $5/$30 | $0.50 | ผู้ตรวจสอบข้ามผู้ผลิต, งาน terminal |36| gpt-5.6-terra | $2.50/$15 | $0.25 | Codex daily driver (ทดสอบกับ Luna ก่อน) |37| gpt-5.6-luna | $1/$6 | $0.10 | งานกลไก, การติ๊กเงียบ |3839Context ยาวเกินเกณฑ์จะเพิ่มราคาขาเข้าประมาณสองเท่า ต่างจาก401M tiers แบบ flat ของ Anthropic ตระกูลแรกที่มี cache breakpoints ชัดเจน41การเขียนมีค่าใช้จ่าย 1.25x4243## โอเพนเวท (ผู้ปฏิบัติงานจำนวนมาก)4445| โมเดล | ขาเข้า/ขาออกต่อ Mtok | Cache hit |46|---|---|---|47| deepseek-v4-flash | $0.14/$0.28 | $0.0028 (ประมาณ 98 เปอร์เซ็นต์ลด) |48| deepseek-v4-pro | $0.435/$0.87 | n/a |49| kimi-k2.7-code | $0.95/$4.00 | $0.19 |5051## ส่วนลดที่ซ้อนทับกัน52 - การอ่าน cache มีค่าใช้จ่ายหนึ่งในสิบของข้อมูลขาเข้าใหม่ที่ทั้งสองแล็บ (ประมาณ 90 เปอร์เซ็นต์ลด)53 - การเขียน cache คุ้มทุนหลังจากอ่านครั้งเดียว (5 นาที) หรือสองครั้ง (1 ชั่วโมง)54 - Batch API ถูกลง 50 เปอร์เซ็นต์ทั้งสองทิศทาง55 - batch + การอ่าน cache บนคำนำหน้าซ้ำใกล้ถึง 95 เปอร์เซ็นต์ลด56 - tokenizer ใหม่ล่าสุดของ Anthropic สร้างโทเค็นมากขึ้นประมาณ 30 เปอร์เซ็นต์สำหรับข้อความเดียวกัน57 ดังนั้นต้นทุนที่แท้จริงจึงสูงกว่าป้ายราคา ตั้งงบประมาณตามต้นทุนที่แท้จริง5859## วิธีตอบคำถามเรื่องต้นทุน60 1. ประมาณการขาเข้าและขาออกแยกกัน Agents อ่านประมาณ 100 โทเค็นสำหรับทุก 1 โทเค็นที่พวกเขาเขียน61 ดังนั้นขาเข้าครอบงำและอัตราการ cache hit เป็นตัวตัดสินค่าใช้จ่าย62 2. ใช้อัตราการอ่าน cache กับคำนำหน้าซ้ำ ไม่ใช่อัตราฐาน63 3. คูณตัวเลขของ Anthropic ด้วยประมาณ 1.3 สำหรับ tokenizer64 4. อ้างอิงช่วง ตั้งชื่อสมมติฐาน บอกว่าคุณใช้บรรทัดใดของไฟล์นี้65 5. หากตัวเลขเกินขีดจำกัดรายวันของ repo ให้บอกก่อนที่จะรันอะไร6667อย่านำเสนอราคาที่คุณไม่ได้อ่านจากไฟล์นี้ ไม่มีโมเดลที่ไม่ได้ระบุไว้ที่นี่68อยู่ในม้านั่ง และการเพิ่มโมเดลคือการเปลี่ยนแปลงเส้นทางที่ต้องผ่าน gate
เจ็ดข้อเท็จจริงที่เปลี่ยนวิธีที่คุณสร้าง:
- ข้อมูลขาเข้าที่ถูกแคชลด 90 เปอร์เซ็นต์ที่ทั้งสองแล็บ การประทับเวลาหนึ่งครั้งใน system prompt ของคุณจะเผามันทุกครั้งที่เรียก คำนำหน้าที่เสถียร, ประวัติแบบต่อท้ายอย่างเดียว, เสมอ Agents อ่านประมาณ 100 โทเค็นสำหรับทุก 1 โทเค็นที่พวกเขาเขียน ดังนั้นส่วนลดนี้คือค่าใช้จ่ายส่วนใหญ่ของคุณ
- การเขียน cache มีค่าใช้จ่ายเพิ่มเติมแต่จ่ายคืนเร็ว การเขียน 5 นาทีของ Anthropic คิดค่าใช้จ่าย 1.25x และคุ้มทุนหลังจากอ่านครั้งเดียว GPT-5.6 เป็นตระกูลแรกของ OpenAI ที่มี cache breakpoints ชัดเจนและการเขียนที่คิดราคา ออกแบบสถาปัตยกรรมรอบ cache เหมือนที่โปรแกรมเมอร์ระบบออกแบบสถาปัตยกรรมรอบลำดับชั้นหน่วยความจำ
- tokenizer ใหม่ล่าสุดของ Anthropic สร้างโทเค็นมากขึ้นประมาณ 30 เปอร์เซ็นต์สำหรับข้อความเดียวกัน ราคาที่แท้จริงสูงกว่าป้ายราคา ตั้งงบประมาณตามราคาที่แท้จริง
- การปฏิเสธด้านความปลอดภัยจาก Fable 5 ไม่ใช่ข้อผิดพลาด การเรียกสำเร็จและงานตกไปที่ Opus 4.8 โดยการออกแบบ ในน้อยกว่า 5 เปอร์เซ็นต์ของเซสชัน อ่านสิ่งที่เกิดขึ้น ไม่ใช่แค่รหัสออก และกำหนดค่าห่วงโซ่การสำรองก่อนที่คุณจะต้องการ
- อย่าใช้ระดับกลางเป็นค่าเริ่มต้น การทดสอบอิสระพบว่าการตั้งค่า Luna หรือ Sol บางอย่างเอาชนะ Terra ได้เสมอบนขอบเขตต้นทุน-คุณภาพ ทดสอบ Terra กับ Luna บนปริมาณการใช้งานของคุณเองก่อนที่จะจ่ายเงิน
- Batch API ลดราคาครึ่งหนึ่งสำหรับสิ่งที่รอข้ามคืนได้ และส่วนลดซ้อนทับกับการแคช: คำนำหน้าซ้ำในงานแบบ batch ทำงานใกล้ถึง 95 เปอร์เซ็นต์ลด โปรแกรมเบิร์นข้ามคืนใน BUILD 7 มีอยู่เพื่อใช้ประโยชน์จากมัน
- ความพร้อมใช้งานคือความเสี่ยงในการปฏิบัติการ ไม่ใช่สมมติฐาน Fable 5 หายไป 19 วันในเดือนมิถุนายน ทุกการอ้างอิงโมเดลที่นี่มีทางเลือกสำรอง: fable-5 ตกไปที่ opus, sol ตกไปที่ terra และทุกการสำรองจะถูกบันทึก
มิเตอร์ที่สอง: ที่นั่งไม่ใช่คีย์ API
ทุกตัวเลขข้างต้นมีราคาเป็นดอลลาร์ต่อล้านโทเค็น นั่นคือสกุลเงินที่ถูกต้องถ้าคุณจ่ายต่อการเรียก
มันผิดถ้าคุณรันสิ่งนี้บนที่นั่ง Codex Pro $200 หรือที่นั่ง Claude Max
บนที่นั่ง มิเตอร์คือหน้าต่างห้าชั่วโมงและหน้าต่างรายสัปดาห์ ประเมินร่วมกัน และหนึ่งคำขอนับรวมกับทั้งสองอย่าง
คุณอาจมีเครดิตเหลือเฟือในสัปดาห์ แต่ยังถูกล็อคเป็นเวลาสี่ชั่วโมง เพราะข้อความเดียวใช้หน้าต่างสั้นหมด
หลักการเดียวกัน สกุลเงินต่างกัน การตั้งค่าสามอย่างตัดสินว่าหนึ่งข้อความสามารถใช้หน้าต่างได้มากแค่ไหน:

โหมดเร็ว (Fast mode) คือโหมดที่แพง เพราะมันคูณตัวเลขที่ใหญ่ขึ้นแล้ว
GPT-5.6 ทำงานนานกว่ามากต่อหนึ่งข้อความเมื่อเทียบกับ 5.5 ที่ทำ ส่วนใหญ่เป็นของขวัญ แต่มันยังทำให้การเผาผลาญคาดเดาไม่ได้
- Theo รายงานว่าเผาผลาญโทเค็นมากกว่า $200,000 บน Sol
- เขาเคยเห็นข้อความ 5.6 หนึ่งข้อความใช้ 15 เปอร์เซ็นต์ของหน้าต่างห้าชั่วโมง
- ที่ตัวคูณ นั่นคือ 40 เปอร์เซ็นต์ของหน้าต่างในข้อความเดียว
ความเร็วไม่ฟรี สิ่งที่มันเรียกเก็บจากคุณคือโทเค็นที่คุณกำลังจะเผาอยู่แล้ว อ่านตัวคูณบนเอกสารความเร็วอีกครั้งก่อนที่คุณจะเชื่อถือมัน: มันถูกเผยแพร่ต่อโมเดล และมันเปลี่ยนแปลง
Ultra คือกับดักที่ละเอียดกว่า เพราะไฟล์อินเทอร์เฟซวางไว้ในที่ที่ระดับความพยายามอยู่ และมันไม่ใช่หนึ่งในนั้น
- Max คือความลึก โมเดลเดียว ปัญหาเดียว เวลามากขึ้นบนห่วงโซ่การให้เหตุผลเดียว
- Ultra คือความกว้าง งานกระจายออกไปยังสี่ agents จากนั้นถูกสังเคราะห์
- แกนต่างกัน Ultra ไม่ใช่ "มากกว่า max"
ชี้ไปที่งานที่ไม่ได้แยกออกเป็นส่วนย่อยได้จริงๆ ultra ซื้อ agents สี่ตัวที่ทำซ้ำการสอบสวนหนึ่งครั้ง
มันมีค่าประมาณ 3.1 คะแนนบน Terminal-Bench 2.1 จาก 88.8 เป็น 91.9 สำหรับการเผาผลาญของทั้งกองเรือ ปิดไว้จนกว่าขอบเขตระหว่างปัญหาย่อยจะเป็นจริง
เหตุผลที่ Sol และ Terra ต่างก็เป็นค่าเริ่มต้นที่ถูกต้อง
รายงานภาคสนามใช้ Sol สำหรับเกือบทุกอย่าง ม้านั่งด้านบนทำให้ Terra เป็น Codex daily driver ทั้งสองถูกต้อง และมิเตอร์คือเหตุผล
- บัตรอัตราบอกว่าราคาขาออกของ Sol แพงเป็นสองเท่าของ Terra
- ที่นั่งบอกว่าคุณจ่ายไปแล้ว
- ดังนั้นคำถามเดียวที่ยังมีชีวิตคือต้องใช้กี่รอบกว่าจะถึงสีเขียว
- โมเดลที่แข็งแกร่งกว่าที่ความพยายามต่ำกว่ามักต้องการน้อยกว่า
อัตราไม่ใช่ต้นทุน ต้นทุนคืออัตราคูณรอบจนถึงสีเขียว และเทอมที่สองคือเทอมที่เปลี่ยนแปลง
ซึ่งเป็นกฎของ BUILD 4 ที่มาถึงจากทิศทางอื่น: อัปเกรดที่นั่งก่อนที่จะหมุนปุ่ม บนที่นั่งที่อ่านว่า Sol ที่ระดับสูงบนระดับ $200 Sol ที่ระดับต่ำด้านล่าง วัดก่อนที่จะเชื่อทั้งสองอย่าง
ตั้งค่าระดับ Codex ตอนนี้:
1# ~/.codex/config.toml2model = "gpt-5.6-terra" # daily driver3model_reasoning_effort = "medium"4# service_tier = "fast" # ให้คอมเมนต์ไว้ fast mode คิดค่าใช้จ่าย 2.5x5 # เครดิต เรียกใช้ /fast status เพื่อยืนยันว่าคุณ6 # ไม่ได้อยู่ในนั้นอยู่แล้ว78[profiles.fast] # งานกลไก ไม่ใช่ "fast mode": โปรไฟล์นี้9model = "gpt-5.6-luna" # เป็นโมเดลที่ถูกกว่า ไม่ใช่ 2.5x10model_reasoning_effort = "low" # มิเตอร์ สองสิ่งที่แตกต่างกัน หนึ่งคำ1112[profiles.deep] # การวางแผน, บั๊กที่ชั่วร้าย, การตรวจสอบ13model = "gpt-5.6-sol"14model_reasoning_effort = "high"
CHECK 0: CLI ทั้งสองยืนยันตัวตนได้ และคำสั่งทดสอบของคุณออก 0 บน repo ปัจจุบัน
BUILD 1: รัฐธรรมนูญ
โมเดลเหล่านี้ปฏิบัติตามกฎและปรับให้เหมาะสมรอบเคล็ดลับ ดังนั้นทุกบรรทัดต้องมีตัวเลข, คำว่า "ห้ามเด็ดขาด", หรือคำสั่งที่ตรวจสอบมัน
สร้าง CLAUDE.md:
1# CLAUDE.md23## ห้ามเด็ดขาด (ข้อยกเว้นต้องถามก่อน)4- ห้ามเปลี่ยนโมเดลกลางเซสชัน การกำหนดเส้นทางเกิดขึ้นที่ขอบเขตของเซสชันและ5 subagent เท่านั้น การสลับกลางงานจะเผา cache6- ห้ามตรวจสอบ diff ของตัวเอง การตรวจสอบต้องมาจากบริบทใหม่หรือ7 สายเลือดที่แตกต่างกัน Reviewer ของ Devin จับบั๊กได้ 2 ตัวต่อ agent PR8 เพราะมันไม่มีอะไร shared กับผู้เขียน9- ห้ามแก้ไข, ทำให้อ่อนแอลง, หรือลบการทดสอบเพื่อให้มันผ่าน ให้ถือว่าล้มเหลวอัตโนมัติ10- ห้ามรายงานว่าเสร็จจากการประเมินตนเอง เสร็จ = gate/verify.sh ผ่าน11- ห้ามขอคำปรึกษาจาก advisor ครั้งที่สี่ พลาดสามครั้ง = BLOCKED ถึงตาคน12- ห้าม merge การเปลี่ยนแปลงเส้นทางหรือ prompt ที่ eval_gate.py บล็อกไว้13- ห้ามรัน loop ใดๆ โดยไม่ตั้งค่าขีดจำกัดทั้งสอง: MAX_ITERS และ BUDGET_USD14- ห้ามคิดว่าโมเดลระดับแนวหน้าพร้อมใช้งานเสมอ ทางเลือกสำรอง: fable-5 -> opus,15 sol -> terra บันทึกทุกการสำรองไปยัง progress.log16- ห้ามสร้าง subagent ที่คุณไม่ได้ถูกขอให้สร้าง ลูกสืบทอดโมเดลของพ่อแม่17 และระดับความพยายาม ดังนั้นกองเรือที่กระตือรือร้นจะสืบทอดที่นั่งราคาแพง1819## การจัดส่ง (รายการแรกที่ตรงจะชนะ)20| # | งาน | ที่นั่ง |21|---|---|---|22| 1 | วางแผน / ออกแบบสถาปัตยกรรม / ย้ายระบบ | fable-5 วางแผน, sonnet ดำเนินการ |23| 2 | สกัด / จัดรูปแบบ / ทดสอบ / เอกสาร | haiku หรือ luna |24| 3 | บริบทเกิน 60,000 โทเค็น | ราคาแบบ flat 1M ของ Anthropic |25| 4 | ตรวจสอบโค้ดที่เขียนโดย agent | sol ผ่าน codex, harness ดั้งเดิม |26| 5 | คลุมเครือ | คะแนนความยาก: 0-1 ถูก, 2 sonnet, 3+ ระดับแนวหน้า |27| 6 | ยังไม่แน่ใจ | รันถูกครั้งเดียว ตรวจสอบ ยกระดับครั้งเดียวถ้าล้มเหลว |2829## เสร็จ30- ทุกงานมี done_when ที่ตรวจสอบได้ด้วยเครื่องก่อนเริ่มงาน31- Reviewer ในบริบทใหม่ตัดสิน spec กับ diff ไม่มีอะไรอื่น32- gate/verify.sh ถือคะแนนเสียงสุดท้าย สองความไม่ลงรอยกันระหว่างผู้สร้าง/ผู้ตรวจสอบ33 ในรายการเดียว -> หยุด จัดคิวให้มนุษย์
สร้าง AGENTS.md ที่ root ของ repo กฎหมายเดียวกันในภาษาถิ่นของ Codex ให้มันใกล้ 100 บรรทัด สารบัญ ไม่ใช่สารานุกรม:
1# AGENTS.md23## คำสั่ง4| วัตถุประสงค์ | คำสั่ง |5|---|---|6| ทดสอบ | make test (คำสั่งนี้คือคำจำกัดความของเสร็จ) |7| ตรวจสอบไวยากรณ์ | make lint |89## โปรโตคอลเซสชัน101. อ่าน progress.log และ TASKS.md ก่อน 2. หนึ่งงานที่ยังไม่ได้ตรวจสอบ113. ใช้งาน, รันชุดทดสอบทั้งหมด, commit เฉพาะเมื่อผ่าน, ข้อความอธิบาย124. ติ๊กงาน, เพิ่มหนึ่งบรรทัดใน progress.log, หยุด13การทดสอบกำหนดว่าเสร็จแล้ว ห้ามทำให้อ่อนแอ, ข้าม, หรือลบการทดสอบ การทดสอบผิด =14ทำเครื่องหมายงานว่า BLOCKED และบอกสาเหตุ1516## นโยบายโมเดล17ค่าเริ่มต้น: terra, ความพยายามระดับกลาง งานกลไก: profile fast (luna, low)18การวางแผนและบั๊กที่ชั่วร้าย: profile deep (sol, high)19ความพยายามมาก่อนโมเดล เลือกโปรไฟล์เมื่อเริ่มเซสชัน ห้ามเปลี่ยนกลางงาน20โหมดเร็ว OFF (2.5x เครดิต) Ultra OFF ทั้งสองอย่างไม่ใช่ระดับความพยายาม21สร้าง subagent ก็ต่อเมื่อฉันขอเท่านั้น ลูกสืบทอดโมเดลของเซสชันนี้22และระดับการให้เหตุผล ดังนั้นการสร้างที่กระตือรือร้นที่ความพยายามสูงคือทั้งกองเรือที่ความพยายามสูง2324## ติดขัด25สัญญาณ: ข้อผิดพลาดเดียวกันสองครั้ง; สองขั้นตอนที่ไม่มีความคืบหน้า; การทดสอบที่รอด26การแก้ไขที่แตกต่างกันสองครั้ง จากนั้น /fable-advice สูงสุด 3 ครั้ง จากนั้น BLOCKED2728## ตรวจสอบ29/review-hostile ในเซสชันใหม่ก่อนการ merge ใดๆ หรือช่องทางข้ามผู้ผลิต30จากฝั่ง Claude ห้าม merge งานที่ไม่ได้ตรวจสอบของตัวเอง
หลักคำสอนหนึ่งข้อต้องอยู่ทั้งสองฝั่ง มิฉะนั้น harness ใดที่มีนิสัยหย่อนยานกว่าจะชนะทุกครั้งที่คุณเปลี่ยนเครื่องมือ
CHECK 1: สำหรับทุกบรรทัด ให้ถามว่าโมเดลสามารถปฏิบัติตามได้ 80 เปอร์เซ็นต์และอ้างว่าสำเร็จได้หรือไม่ ถ้าใช่ ให้เขียนใหม่ด้วยตัวเลขหรือคำว่า "ห้ามเด็ดขาด" wc -l CLAUDE.md ต่ำกว่า 60
BUILD 2: ประตู (The Gate)
bash script ต้องถือคะแนนเสียงสุดท้ายก่อนที่จะมีสิ่งอื่นใด เพราะทุก build ต่อมาสมมติว่ามันมีอยู่แล้ว
สร้าง gate/verify.sh สำหรับ stack ของคุณ:
1#!/usr/bin/env bash2set -e3npm run typecheck --if-present4npm test --if-present5npm run lint --if-present
สร้าง gate/eval_gate.py เข็มขัดนิรภัยสำหรับทุกการเปลี่ยนแปลงเส้นทางหรือ prompt ในอนาคต มันรัน 50 ถึง 500 กรณีที่กันไว้ผ่าน config ปัจจุบันและ config ที่เสนอ โดยมีการตรวจสอบที่แน่นอนเท่านั้น:
1for case in cases: # {prompt, must_include, must_not_include, max_words}2 hits += passes(case, run_config(case.prompt))3verdict = "SHIP" if new_score >= old_score - 0.02 else "BLOCKED"
จากนั้นทำให้ประตูไม่สามารถข้ามได้ในฐานะ skill, .claude/skills/ship-gate/SKILL.md:
1---2name: ship-gate3description: รัน eval gate ก่อนที่การเปลี่ยนแปลง routing, model, หรือ prompt ใดๆ จะถูกส่งมอบ (ship) ใช้เมื่อผู้ใช้ขอเปลี่ยนกฎ routing, สลับ tier โมเดล, แก้ system prompt, ปรับระดับ effort, หรือรวมอะไรก็ตามที่เกี่ยวข้องกับ router, prompts, หรือ model config4---56# Ship gate78การเปลี่ยนแปลงใดๆ เกี่ยวกับ routing หรือ prompt ถือเป็นการพนันคุณภาพ จนกว่า gate จะบอกว่าผ่าน ทักษะนี้มีไว้เพื่อไม่ให้การพนันถูกส่งออกไปอย่างเงียบๆ910 1. ค้นหา eval/cases.jsonl หากไม่มี ให้ STOP และบอกผู้ใช้ให้สร้างกรณีตัวอย่างที่แทนทีทราฟฟิกจริง 50 ถึง 500 กรณีก่อน ห้ามสร้างกรณีเอง11 2. รัน: python3 eval_gate.py eval/cases.jsonl, config ปัจจุบันเทียบกับที่เสนอ12 3. BLOCKED: รายงานคะแนนทั้งสอง, ระบุกรณีที่ถดถอย, อย่าใช้การเปลี่ยนแปลง, แนะนำการย้อนกลับที่เล็กที่สุดที่ผ่าน gate13 4. SHIP: นำไปใช้, และเพิ่มหนึ่งบรรทัดใน progress.log พร้อมคะแนนทั้งสอง1415กฎตายตัว:16 - ห้ามแทนที่คำตัดสิน BLOCKED แม้จะถูกร้องขออย่างสุภาพ ให้ส่งต่อให้มนุษย์พร้อมแนบกรณีที่ล้มเหลว17 - ห้ามแก้ไขไฟล์ cases ในเซสชันเดียวกับการเปลี่ยนแปลง routing gate และการเปลี่ยนแปลงต้องไม่มีผู้เขียนคนเดียวกัน18 - ตัวเลขต้นทุนไม่ใช่ข้อแก้ตัวสำหรับคุณภาพที่ลดลง gate ชนะเสมอ
gate ใช้การตรวจสอบแบบกำหนดได้เท่านั้น เพราะมันต้องไม่สืบทอดปัญหา ใครตรวจสอบผู้ตรวจสอบ การเปลี่ยนแปลง routing โดยไม่มี eval gate คือการทดลองต้นทุนที่คุณกำลังทำกับลูกค้าของคุณ
CHECK 2: ./gate/verify.sh exit 0 ในวันนี้ และ eval_gate.py พิมพ์ SHIP ในการทดลองสาธิต หาก verify.sh ล้มเหลวตอนนี้ ให้แก้ไขก่อนอย่างอื่น ระบบยืนอยู่บนสคริปต์นี้
BUILD 3: จังหวะหัวใจ (The Heartbeat)
โมเดลนำความฉลาด ลูปนำวินัย
- บริบทใหม่ในแต่ละ iteration ฆ่าการเน่าเปื่อยของบริบท
- repo บรรทุกความทรงจำทั้งหมด
- ขีดจำกัดสองอย่างเปลี่ยนเอเจนต์ที่失控เป็นบทเรียนราคาสิบดอลลาร์
นี่คือรูปแบบที่แน่นอนเบื้องหลังการรัน 16 ลูปของ Anthropic ที่สร้างคอมไพเลอร์ C 100,000 บรรทัดด้วยราคาประมาณ 20,000 ดอลลาร์ โดยไม่มีโมเดลผู้ควบคุมใดๆ
สร้าง loop/PROMPT.md:
1อ่าน progress.log และ TASKS.md เลือกงานที่ยังไม่ได้ทำเพียงงานเดียว ดำเนินการ เรียกใช้การทดสอบ หากผ่าน (สีเขียว): commit พร้อมข้อความที่สื่อความหมาย ทำเครื่องหมายงานเป็นเสร็จ เพิ่มหนึ่งบรรทัดใน progress.log แล้วหยุด หากงานเดียวกันล้มเหลวสองครั้ง ให้ทำเครื่องหมาย BLOCKED พร้อมข้อความผิดพลาดแล้วหยุด สร้างไฟล์ชื่อ DONE เมื่อทุกงานถูกทำเครื่องหมายและชุดทดสอบทั้งหมดผ่านเท่านั้น ห้ามแก้ไขการทดสอบเพื่อให้ผ่าน
สร้าง loop/ralph.sh:
1#!/usr/bin/env bash2set -u3MAX_ITERS="${MAX_ITERS:-25}" # cap one: iterations4BUDGET_USD="${BUDGET_USD:-10}" # cap two: dollars5MAX_FAILS=3; fails=0; spent=0; i=067while [ ! -f DONE ] && [ "$i" -lt "$MAX_ITERS" ]; do8 i=$((i + 1))9 # fresh session every iteration: no memory except the repo itself10 claude -p "$(cat PROMPT.md)" --max-turns 30 \11 --output-format json > out.json 2> err.log \12 && fails=0 || fails=$((fails + 1))13 [ "$fails" -ge "$MAX_FAILS" ] && exit 2 # circuit breaker14 cost=$(jq -r '.total_cost_usd // 0' out.json)15 spent=$(awk -v a="$spent" -v b="$cost" 'BEGIN{printf "%.4f", a+b}')16 awk -v s="$spent" -v c="$BUDGET_USD" 'BEGIN{exit !(s>c)}' && exit 3 # cap17 sleep 218done19[ -f DONE ] && echo "done in $i ticks, \$$spent" || echo "cap hit, \$$spent"
สลับบรรทัด claude เป็น codex exec และลูปเดียวกันขับเคลื่อน GPT-5.6
แผนผังการออกจงใจ: 0 เสร็จหรือเงียบ, 2 เบรกเกอร์วงจร, 3 งบประมาณ ทุกสัญญาณเตือนใน BUILD 12 ใช้ค่าเหล่านี้
บรรทัดต้นทุนอ่านรายงานต้นทุน JSON ของเซสชันเอง ดังนั้นขีดจำกัดถูกบังคับใช้โดยระบบควบคุมกับค่าใช้จ่ายจริง ไม่ใช่การประมาณ
นับจุดหยุดในพรอมต์นั้น ทุกสาขาสิ้นสุดที่จุดหยุด และนั่นคือการออกแบบ ไม่ใช่พฤติกรรมประสาท
เจนเนอเรชันนี้ทำงานนานกว่าต่อข้อความเมื่อเทียบกับรุ่นก่อน ส่วนใหญ่เป็นของขวัญ บางครั้งเป็นค่าใช้จ่าย เพราะโมเดลที่ไม่ต้องการการกระตุ้นให้ทำต่ออีกต่อไปจะทำงานต่อไปอีกสี่ขั้นตอนเกินจุดที่คุณต้องการดู
ลูปแก้ปัญหานั้นในเชิงโครงสร้าง: หนึ่งงานต่อ tick หยุดทันทีเมื่อจบ
ในการโต้ตอบคุณต้องพูดออกมาดังๆ พรอมต์สองตัวทำงาน:
- "เขียนแผนแล้วหยุดและแสดงให้ฉันดูก่อนที่คุณจะสร้างอะไร"
- "สร้าง ทดสอบ เปิด PR จัดการความคิดเห็นรอบแรกแล้วหยุด"
โมเดลที่ทำงานนานเป็นอันตรายก็ต่อเมื่อไม่มีใครบอกมันว่าขอบอยู่ตรงไหน
งานยาวล้มเหลวแบบที่บริบทล้มเหลว ดังนั้น iteration จึงสั้นและสภาพแวดล้อมเป็นผู้จดจำ Fable 5 และโมเดล Codex ตอนนี้บีบอัดบริบทของตัวเองระหว่างการทำงาน ดังนั้นอย่าเพิ่มระบบความจำที่ซับซ้อน ปริมาณที่เหมาะสมลดลงทุกไตรมาส
CHECK 3: งานจริงขนาดเล็กสองงานใน TASKS.md หนึ่ง tick ที่รันด้วยมือที่ BUDGET_USD=2 ยืนยันหนึ่ง commit หนึ่งงานที่ทำเครื่องหมาย หนึ่งบรรทัดใน log และลูปออกแทนที่จะเริ่มงานที่สอง
BUILD 4: เราท์เตอร์ที่พิสูจน์คุณค่า (model แล้ว effort)
การวัดประสิทธิภาพเราท์เตอร์ที่เข้มงวดที่สุดในปี 2026 อย่าง LLMRouterBench พบว่าเราท์เตอร์หลายตัว รวมถึงของเชิงพาณิชย์ ล้มเหลวในการเอาชนะการเลือกโมเดลเดี่ยวที่ดีที่สุดอย่างสม่ำเสมอ ดังนั้นเราท์เตอร์จึงมีความผิดจนกว่าจะพิสูจน์ว่าบริสุทธิ์ในทราฟฟิกของคุณเอง
กฎการตัดสินใจ ก่อนเขียนโค้ดใดๆ เพิ่มเราท์เตอร์เมื่อทั้งสองเงื่อนไขนี้เป็นจริงเท่านั้น:
- ระดับราคาถูกและ frontier แสดงช่องว่างความสามารถต่อดอลลาร์ประมาณห้าเท่าในทราฟฟิกของคุณ
- ชุดการประเมินจาก BUILD 2 มีอยู่เพื่อควบคุมมัน
หากโมเดลที่เลือกมาอย่างดีตัวเดียวเอาชนะเราท์เตอร์ของคุณในการประเมินเหล่านั้น ให้ลบเราท์เตอร์และเก็บความเรียบง่ายไว้
เมื่อผ่านเกณฑ์แล้ว router/router.py จะรันสามชั้น โดยตัดสินใจจากถูกที่สุดก่อน หมายเหตุ: tier ตั้งชื่อที่นั่ง ไม่ใช่ราคา: อัตรามาจาก bench skill ขณะรัน ดังนั้นการเปลี่ยนแปลงราคาไม่เคยแตะเราท์เตอร์ของคุณ
1TIERS = { # seats, not numbers2 "cheap": "gpt-5.6-luna", # or claude-haiku-4-53 "mid": "claude-sonnet-5",4 "frontier": "claude-fable-5", # or gpt-5.6-sol5}6PRICES = load_bench(".claude/skills/model-bench/SKILL.md") # one source of truth78RULES = [9 (kind in {"extract", "format", "summarize"}, "cheap"),10 (kind in {"plan", "architect", "migrate"}, "frontier"),11 (context_length > 60_000, "mid"),12]13tier = layer1_rules(task) or layer2_classifier(task)14if tier: return call(TIERS[tier], task)15return cascade(task) # cheap first, verify, escalate ONCE on fail
ชั้นกลางให้คะแนนความยากจากตัวบ่งชี้ที่คุณอ่านได้: why, debug, race, deadlock, refactor, security, บวกโค้ดใน prompt, ความพยายามที่ล้มเหลวก่อนหน้า, และ子系统ที่ถูกแตะมากกว่าหนึ่ง
ศูนย์หรือหนึ่งคะแนนไป cheap สองไป mid สามขึ้นไป frontier ตัวตรวจสอบของ cascade เป็นแบบกำหนดได้และเลื่อนระดับเพียงครั้งเดียว
เชื่อมต่อการตัดสินใจเดียวกันเข้ากับระบบควบคุม เพื่อให้ทำงานโดยไม่ต้องเรียกใช้ .claude/skills/model-router/SKILL.md หมายเหตุ: skill ไม่ได้ระบุกฎซ้ำ แต่อ่านมัน เทคนิคแหล่งความจริงเดียวเดียวกับที่ bench ใช้สำหรับราคา:
1---2name: model-router3description: กำหนดเส้นทางแต่ละงานไปยังที่นั่งและ effort ที่เหมาะสมก่อนเริ่มทำงาน ใช้เมื่อเริ่มเซสชัน ก่อนสร้าง subagents เมื่อผู้ใช้ถามว่าจะใช้โมเดลไหน หรือเมื่องานผสมการวางแผนและการดำเนินการ4---56# Model router78อ่าน ROUTING.md และนำไปใช้ อย่าสร้างนโยบายเอง และอย่าเขียนซ้ำที่นี่: ไฟล์นี้จะเน่า และไฟล์นโยบายเป็นไฟล์ที่อยู่ภายใต้ eval gate910สามสิ่งที่ skill นี้บังคับใช้เพิ่มเติมจากไฟล์นั้น:1112 1. กำหนดเส้นทางที่ขอบเขตเท่านั้น จุดเริ่มเซสชันและการสร้าง subagent การสลับกลางงานทำให้ cache ใช้ไม่ได้และเรียกเก็บเงินบริบทใหม่ในอัตราสิบเท่าของ cache13 2. เมื่อสิ้นสุดเซสชัน ให้เพิ่มส่วนแบ่ง cheap-tier ใน progress.log การประหยัดจะทบต้นเมื่อทราฟฟิกส่วนใหญ่ไปที่ cheap ดังนั้นตัวเลขนั้นคือตัวเลขที่ต้องติดตาม14 3. การเปลี่ยนแปลงใดๆ ต่อ ROUTING.md ส่งมอบผ่าน ship-gate skill ไม่มีข้อยกเว้น
ลำดับการตัดสินใจสะท้อนต้นทุน: เช็คฟรีก่อน, การเดาแบบให้คะแนนที่สอง, การทดลองที่เสียเงินสุดท้าย
เงินอยู่ที่การแบ่งทราฟฟิก ไม่ใช่ความฉลาด
- ส่งงาน 70 เปอร์เซ็นต์ไปยังระดับราคาหนึ่งในสิบ ค่าใช้จ่ายจะลดลงประมาณสองในสาม
- รายงานการผลิตกระจุกตัวระหว่าง 40 ถึง 85 เปอร์เซ็นต์ที่ประหยัดได้ และการกระจายเกือบทั้งหมดมาจากการแบ่ง
- การประหยัดจะทบต้นเมื่อทราฟฟิกส่วนใหญ่ไปที่ cheap
นั่นคือเหตุผลที่ส่วนแบ่งราคาถูกใน progress.log เป็นตัวเลขเดียวที่ระบบนี้บังคับให้คุณดู
Effort คือปุ่มปรับที่สอง
Effort คือการกำหนดเส้นทางลงไปอีกหนึ่งระดับ: ทักษะเดียวกัน ใช้กับระยะเวลาที่โมเดลคิด แทนที่จะเป็นโมเดลที่ทำงาน
ทุกเครื่องมือซ่อนปุ่มปรับนี้ไว้ในค่าเริ่มต้นที่แตกต่างกัน สูงใน Claude Code ปานกลางใน Codex ซ่อนอยู่ในแอปส่วนใหญ่ ดังนั้นคนจึงใช้การตั้งค่าเดียวสำหรับทุกอย่าง และจ่ายเกินหรือคิดน้อยเกินไป

กำหนดค่าเริ่มต้นเป็นสูง (high) และให้ max เป็นทางเลือกสุดท้าย ไม่ใช่การอวด
- เอกสาร effort ของ Anthropic เองวางจุดหวานไว้ที่ high และเตือนว่า max จะเข้าสู่การคิดมากเกินไป
- การวัดประสิทธิภาพสาธารณะหนึ่งครั้งจาก 26 งานเขียนโค้ดพบว่า high ทำให้คุณภาพเพิ่มขึ้นประมาณสามเท่าจาก low
- การวัดประสิทธิภาพเดียวกันพบว่า xhigh มีค่าใช้จ่ายมากกว่าสองเท่าเพื่อการปรับปรุงที่แทบไม่คุ้มค่า
โมเดลมีความสำคัญอย่างน้อยเท่ากับปุ่มปรับ Fable 5 ที่ effort ต่ำกว่ามักจะเอาชนะโมเดลเก่าที่รันที่ xhigh ดังนั้นให้เลือกโมเดลที่ดีกว่าก่อนการตั้งค่าที่สูงขึ้น
การตั้งค่าสองอย่างถูกเข้าใจผิดว่าเป็นขั้นที่สูงกว่าของบันไดนี้ ทั้งสองไม่ได้อยู่บนนั้น
- Max คือความลึก หนึ่งโมเดล ปัญหาหนึ่ง เวลามากขึ้น
- Ultra คือความกว้าง งานหนึ่งถูกกระจายไปยังเอเจนต์ขนานสี่ตัว แล้วสังเคราะห์
แกนที่แตกต่างกัน Ultra ไม่ใช่ "มากกว่า max" และการชี้ไปที่งานที่ไม่สามารถแบ่งได้จริง จะซื้อเอเจนต์สี่ตัวที่ทำซ้ำการสอบสวนเดียวกัน
บันไดนี้ไม่สามารถพอร์ตข้ามเวอร์ชันได้ คำเดียวกันซื้อปริมาณการคิดที่แตกต่างกันบนโมเดลใหม่เมื่อเทียบกับโมเดลเก่า
การย้ายงานที่คุ้นเคยไปยังที่นั่งใหม่ ให้เริ่มหนึ่งขั้นต่ำกว่าการตั้งค่าที่คุณเชื่อถือ ไต่อันขึ้นก็ต่อเมื่อผลลัพธ์ขอ
กับดักหนึ่งเป็นของ swarm โดยเฉพาะ
Subagents สืบทอดโมเดลของ parent และ effort ของ parent กองยานที่เกิดจาก conductor ที่ max-effort คือกองยานที่ max-effort และมันระบาย window ในข้อความเดียว
ปักหมุดพวกมันใน frontmatter ของตัวเอง และรู้ว่าคุณอยู่ในระบบควบคุมใดเมื่อคุณทำ เพราะปักหมุดนั้นดีเท่ากับ spawner ที่อ่านมัน
- ฝั่ง Claude frontmatter ด้านล่างคือการควบคุมที่ใช้งานได้
- ฝั่ง Codex 5.6 สร้าง children ที่โมเดลและระดับการใช้เหตุผลของ parent และมันสร้างอย่างกระตือรือร้น การตั้งค่าของ parent คือการตั้งค่าของกองยาน
บนฝั่ง Codex การควบคุมที่ใช้งานได้จริงเพียงอย่างเดียวคือการตั้งค่าที่คุณเปิดเซสชันด้วย และบรรทัดใน AGENTS.md ที่บอกว่าไม่ต้องสร้างเว้นแต่ถูกขอ ตรวจสอบว่าคุณมีอันไหนก่อนที่จะเชื่อถือ:
1name: scout2model: haiku3effort: low # subagents inherit the parent. a max-effort swarm4 # empties a window in one message. pin them down.
ตั้งค่าต่อเครื่องมือ: /effort ใน Claude Code และ Codex TUI, แฟล็กเช่น codex -e high, บรรทัดใน config, หรือฟิลด์ effort บน API
การกำหนดเส้นทางโมเดลตัดสินว่าใครคิด การกำหนดเส้นทาง Effort ตัดสินว่านานแค่ไหน และปุ่มปรับที่สองถูกกว่าในการหมุนเพราะไม่มีอะไรอื่นในการตั้งค่าเปลี่ยนแปลงและแคชยังอุ่นอยู่ ใช้ effort ในจุดที่ลูปแตกแขนง ที่อื่นเป็นภาษี
ติดตามหมายเลขเดียวทุกสัปดาห์:
1grep '^route' progress.log | awk -F'\t' \2 '{r++; if($3!="frontier")c++} END{printf "cheap share: %.0f%%\n", c/r*100}'
ROUTING.md นโยบายที่ทั้งสองระบบอ่าน
ทุกอย่างข้างบนรวมเป็นไฟล์เดียวที่ root ของ repo
1# ROUTING.md23การกำหนดเส้นทางคือการตัดสินใจสี่อย่าง และลำดับคือประเด็น:4 1. ที่ไหน (WHERE): ระบบควบคุมใดทำงาน5 2. เมื่อไหร่ (WHEN): ที่ขอบเขตใดที่การตัดสินใจเกิดขึ้น6 3. ใคร (WHO): โมเดลใดที่นั่ง7 4. แค่ไหน (HOW HARD): ระดับ effort ที่โมเดลนั้นทำงาน8ทีมส่วนใหญ่โต้เถียงกันแค่ข้อ 3 เงินอยู่ที่ข้อ 2 และ 4910## 1. ที่ไหน (WHERE): ระบบควบคุมก่อนโมเดล11โมเดลที่ผ่านการ post-training ภายในระบบควบคุมทำงานนอกการกระจายที่อื่น การวัดที่เผยแพร่: 20.2 เปอร์เซ็นต์ของเจ้าของภาษาเทียบกับ 7.7 เปอร์เซ็นต์ของบุคคลที่สาม น้ำหนักเดียวกัน1213| งาน | ระบบควบคุม | เหตุผล |14|---|---|---|15| เขียนโค้ด | ระบบควบคุมดั้งเดิมของโมเดล | นักเขียนลดประสิทธิภาพเมื่ออยู่นอกการกระจาย |16| ตรวจสอบโค้ด | ระบบควบคุมดั้งเดิมของผู้ตรวจสอบ | การตรวจสอบที่อ่อนแอแย่กว่าไม่ตรวจสอบ |17| อ่าน, สำรวจ | ทุกที่ | การอ่านถูกและตรวจสอบได้ |18| การแปลงเชิงกล | ทุกที่ | หากการตรวจสอบเป็นแบบกำหนดได้ ระบบควบคุมแทบไม่สำคัญ |1920กฎ: เปลี่ยนเส้นทางเลนผู้อ่านและผู้ตรวจสอบได้อย่างอิสระ เลนผู้เขียนยังคงเป็นของระบบควบคุมต้นทาง จนกว่าชุดการประเมินของคุณจะบอกเป็นอย่างอื่น การแทนที่นั้นต้องเป็นการวัด ไม่ใช่ความชอบ2122## 2. เมื่อไหร่ (WHEN): กำหนดเส้นทางที่ขอบเขต ไม่เคยภายใน23การสลับกลางเซสชันจะโยน prompt cache ทิ้ง ต้นทุนอินพุตที่ cache แล้วคือหนึ่งในสิบของอินพุตสด ดังนั้นการสลับที่ไม่จำเป็นจะเรียกเก็บเงินบริบททั้งหมดในราคาสิบเท่าและไม่ได้อะไร2425ขอบเขตที่ถูกกฎหมาย คือที่เดียวที่การตัดสินใจกำหนดเส้นทางอาจเกิดขึ้น:26 - จุดเริ่มเซสชัน27 - การสร้าง subagent28 - เป้าหมายใหม่ใน swarm29 - การส่งต่อการตรวจสอบไปยัง lineage อื่น30 - fallback ที่เกิดจาก outage หรือ safeguard3132ที่อื่นผิดกฎหมาย ไม่มีการกำหนดเส้นทางต่อรอบ ไม่มีการสลับแบบปรับตัวกลางงาน cascade ได้รับการเลื่อนระดับเพียงครั้งเดียว และมันเปิดขอบเขตใหม่3334กฎ: เลือกที่นั่งเมื่อขอบเขตเปิด แล้วอยู่กับที่จนกว่าขอบเขตถัดไป3536## 3. ใคร (WHO): ขั้นตอนการตัดสินใจ (รายการแรกที่ตรงชนะ, log ผลลัพธ์)3738ชั้น 1 กฎ ฟรี ตรวจสอบก่อนเสมอ3940| สัญญาณ | ที่นั่ง |41|---|---|42| extract / format / summarize / classify / tests | Haiku หรือ Luna, effort low |43| plan / architect / migrate / root-cause | Fable วางแผน, Sonnet ดำเนินการ |44| บริบทเกิน 60k tokens | Anthropic 1M tier (ราคา flat) |45| ตรวจสอบโค้ดที่เอเจนต์เขียน | lineage อื่น, ระบบควบคุมดั้งเดิม |46| เป้าหมายแบ่งเป็นชิ้นส่วนอิสระ | swarm: Fable เขียนและให้คะแนน |4748ชั้น 2 คะแนน หนึ่งคะแนนต่อ:49 - มีคำว่า why / debug / race / deadlock / refactor / security / optimize50 - แตะมากกว่าหนึ่ง subsystem51 - ความพยายามก่อนหน้าล้มเหลวแล้ว52 - การเปลี่ยนแปลงไม่สามารถย้อนกลับหรือ面向ผู้ใช้53 0-1 -> cheap tier, low effort. 2 -> Sonnet, medium. 3+ -> frontier, high.5455ชั้น 3 cascade รัน cheap, ตรวจสอบแบบกำหนดได้, เลื่อนระดับครั้งเดียว ไม่เคยสองครั้ง ความล้มเหลวครั้งที่สองคือปัญหาสเปก และโมเดลที่ใหญ่กว่าจะไม่แก้ไขสเปกของคุณ5657ที่นั่งและ fallback อยู่ใน .claude/skills/model-bench/SKILL.md ไม่มีราคาที่นี่5859## 4. แค่ไหน (HOW HARD): การกำหนดเส้นทาง effort60Effort คือการกำหนดเส้นทางลงไปหนึ่งระดับ ปุ่มปรับที่ถูกที่สุดในไฟล์นี้: ไม่มีอะไรอื่นเปลี่ยนแปลงและ cache ยังอุ่นอยู่6162| Effort | ใช้สำหรับ |63|---|---|64| low | พิมพ์ผิด, เปลี่ยนชื่อ, เรียงลำดับ, แยกข้อมูล, ทุก subagent โดยค่าเริ่มต้น |65| medium | โค้ดประจำจากสเปกที่ชัดเจน, สรุป, การเขียนมาตรฐาน |66| high | รื้อถอน, ย้ายระบบ, บั๊กที่ยาก, งาน conductor ทั้งหมด (ค่าเริ่มต้น) |67| max | เฉพาะปัญหาที่ high ล้มเหลวในการแก้ไขแล้ว |68| ultra | ไม่ได้อยู่บนบันไดนี้ กว้าง ไม่ใช่ลึก: 4 เอเจนต์แบบขนาน ปิดโดยค่าเริ่มต้น |6970 1. กำหนดค่าเริ่มต้นเป็น high จุดหวานอยู่ที่นั่น max เข้าสู่การคิดมากเกินไป71 2. โมเดลที่ดีกว่าเอาชนะปุ่มปรับที่สูงกว่า อัปเกรดที่นั่งก่อนการตั้งค่า72 3. Subagents สืบทอดโมเดลของ parent และ effort กองยานที่เกิดจาก conductor ที่ max-effort รันที่ max และระบาย window ในหนึ่งข้อความ ปักหมุดทุก subagent ใน frontmatter ของตัวเอง: effort: low เมื่อ spawner ไม่สนใจปักหมุด การตั้งค่าของ parent คือการตั้งค่าของกองยาน ตรวจสอบว่าคุณมีอันไหน73 4. Max คือความลึก Ultra คือความกว้าง Ultra เมื่อปัญหาแยกย่อยเป็นอิสระจริงๆ ไม่เคยเป็นค่าเริ่มต้น และไม่ใช่เลยในขณะที่ระบบควบคุม spawn มากเกินไป74 5. บันไดนี้ไม่สามารถพอร์ตข้ามเวอร์ชันได้ บนโมเดลใหม่ เริ่มหนึ่งขั้นต่ำกว่าการตั้งค่าที่คุณเชื่อถือบนโมเดลเก่า75 6. โหมดเร็วก็ไม่ใช่ระดับ effort เช่นกัน มันซื้อ latency ที่เครดิต 2.5 เท่าบนโทเคนที่คุณกำลังเผาอยู่แล้ว ปิด7677ปุ่มปรับอยู่สี่ที่: /effort ใน Claude Code และ Codex TUI, codex -e high, model_reasoning_effort ใน config, ฟิลด์ effort บน API Claude Code เริ่มต้น high, Codex เริ่มต้น medium, แอปส่วนใหญ่ซ่อนไว้ทั้งหมด ซึ่งเป็นเหตุผลที่ทีมทำงานโดยใช้ระดับเดียวสำหรับทุกอย่างโดยไม่ได้ตั้งใจ7879## 5. Fallback: สมมติว่า frontier ล่ม80ความพร้อมใช้งานของ frontier ไม่ได้รับการรับประกัน และ safeguard สามารถ reroute การเรียกไปยัง Opus 4.8 ระหว่างรัน ในต่ำกว่า 5 เปอร์เซ็นต์ของเซสชัน โดยไม่มีข้อผิดพลาด81 - ทุกที่นั่งมี fallback ที่มีชื่อ ไม่มีข้อยกเว้น82 - ทุก fallback ถูกบันทึก การ reroute ที่เงียบคือบั๊ก เพราะคุณอาจกำลังอ่านผลลัพธ์จากโมเดลที่คุณไม่ได้เลือก83 - ห้าม iterated บนผลลัพธ์จากโมเดลที่คุณไม่ได้เลือก8485## 6. ตัวเลขที่ตัดสินว่าทั้งหมดนี้ได้ผลหรือไม่86ต้นทุนผสมคือการแบ่งทราฟฟิกของคุณ ไม่มีอะไรอื่น 70 เปอร์เซ็นต์ cheap ตัดค่าใช้จ่ายประมาณสองในสาม 10 เปอร์เซ็นต์ประหยัดเงินไม่กี่บาท ความแม่นยำของเราท์เตอร์มีค่ามากกว่าความฉลาดของเราท์เตอร์มาก8788ติดตามด้วยหนึ่งบรรทัดใน BUILD 4 ต่ำกว่า 50 เปอร์เซ็นต์ การประหยัดยังไม่เริ่มทบต้น แก้ไขการแบ่งก่อนแตะอย่างอื่นที่นี่8990## 7. Gate บนไฟล์นี้91กฎ: ไม่มีการเปลี่ยนแปลงใดๆ ต่อไฟล์นี้ส่งมอบโดยไม่ผ่าน eval_gate.py บนกรณีที่กันไว้ 50 ถึง 500 กรณี คำตัดสิน BLOCKED เป็นที่สิ้นสุดและไม่สามารถแทนที่ในเซสชันได้ gate และการเปลี่ยนแปลงต้องไม่มีผู้เขียนคนเดียวกัน9293## 8. เมื่อไหร่ควรลบไฟล์นี้94หากโมเดลที่เลือกมาอย่างดีตัวเดียวเอาชนะ stack ทั้งหมดนี้ในการประเมินของคุณ ให้ลบเราท์เตอร์และเก็บความเรียบง่ายไว้ การวัดประสิทธิภาพ routing ที่เข้มงวดที่สุดในปี 2026 พบว่าเราท์เตอร์หลายตัว รวมถึงของเชิงพาณิชย์ ล้มเหลวในการเอาชนะการเลือกโมเดลเดี่ยวที่ดีที่สุดอย่างสม่ำเสมอ95วัดก่อน กำหนดเส้นทางทีหลัง ลบอย่างมีความสุข
CHECK 4: router.py ทำงานแบบออฟไลน์และพิมพ์การตัดสินใจ เหตุผล และการแบ่งส่วน บันทึกของคุณเก็บการวัดช่องว่าง 5 เท่า หรือบันทึกที่ระบุวันที่ว่าเราท์เตอร์ยังไม่สมเหตุสมผล
BUILD 5: การสลับบทบาทที่ปรึกษา (The Advisor Inversion)
รูปแบบคลาสสิกให้โมเดลอัจฉริยะเป็นผู้ควบคุมและเผาโทเคน frontier ไปกับการดำเนินการจำนวนมาก ให้กลับด้าน
ผลลัพธ์ที่ปรึกษาของ Anthropic: Haiku ที่มีที่ปรึกษาระดับ Opus ทำคะแนนเพิ่มขึ้นมากกว่าสองเท่าในการวัดประสิทธิภาพการท่องเว็บที่ยาก 41.2 ต่อ 19.7 เพียงลำพัง ด้วยต้นทุนต่ำกว่าต่องาน 85 เปอร์เซ็นต์เมื่อเทียบกับระดับกลาง
การดำเนินการเป็นจำนวนมาก คำแนะนำเป็นกรัม
ระบบควบคุมเป็นผู้ตัดสินใจเมื่อคนขับติดขัด ไม่ใช่คนขับ .claude/skills/stuck-protocol/SKILL.md:
1---2name: stuck-protocol3description: เลื่อนระดับไปยังที่ปรึกษาผู้เชี่ยวชาญ fable เมื่อความคืบหน้าหยุดชะงัก ใช้เมื่อข้อผิดพลาดเดียวกันปรากฏสองครั้ง เมื่อสองขั้นตอนติดต่อกันไม่เปลี่ยนไฟล์ใดๆ ในขณะที่ข้อผิดพลาดยังคงอยู่ เมื่อการทดสอบล้มเหลวหลังจากพยายามแก้ไขสองครั้งที่แตกต่างกัน หรือเมื่อผู้ใช้บอกว่าเอเจนต์วนกลับไปที่เดิม4---56# Stuck protocol (การสลับบทบาทที่ปรึกษา)78คุณคือคนขับราคาถูกและนั่นคือคุณสมบัติ: การดำเนินการเป็นจำนวนมาก คำแนะนำเป็นกรัม แต่โมเดลขนาดเล็กมั่นใจเกินไป ดังนั้นคุณไม่ได้เป็นคนตัดสินใจว่าคุณโอเค ให้ตรวจสอบสัญญาณแบบกำหนดได้แทน910สัญญาณติดขัด (สัญญาณใดสัญญาณหนึ่งทำให้โปรโตคอลทำงาน):11 1. สตริงข้อผิดพลาดเดียวกันในสองขั้นตอนติดต่อกัน12 2. สองขั้นตอนติดต่อกันโดยไม่มีการเปลี่ยนแปลงไฟล์ใดๆ ในขณะที่ข้อผิดพลาดยังคงอยู่13 3. การทดสอบเดียวกันล้มเหลวหลังจากพยายามแก้ไขสองครั้งที่แตกต่างกันจริงๆ1415ขั้นตอน:16 1. นับการปรึกษาในเซสชันนี้ เมื่อถึง 3 ให้ STOP: ทำเครื่องหมายงานเป็น BLOCKED พร้อมแนบข้อผิดพลาด สรุปให้มนุษย์ ดำเนินการต่อ ห้ามปรึกษาครั้งที่สี่17 2. สร้างข้อมูลสรุป ไม่มีอย่างอื่นอยู่ในนั้น:18 GOAL: หนึ่งบรรทัด19 ATTEMPT x2: ความพยายามสองครั้งล่าสุด 200 ตัวอักษรต่อครั้ง20 ERROR: ข้อผิดพลาดที่แน่นอน 300 ตัวอักษร21 3. สร้าง fable-expert พร้อมข้อมูลสรุป มันจะส่งคืนคำแนะนำ ไม่ใช่โค้ด22 4. ใช้คำแนะนำในขั้นตอนถัดไปทันที ก่อนทำอะไรของคุณเอง23 5. เพิ่มหนึ่งบรรทัดใน progress.log: consult #N, สิ่งที่มันพูด, ว่ามันได้ผลหรือไม่2425กฎที่เข้มงวด:26 - ห้ามขอให้ผู้เชี่ยวชาญทำงาน หากคำตอบมีการใช้งานเต็มรูปแบบ ให้นำแนวคิดและทิ้งโค้ด27 - ห้ามยัดเยียดประวัติการใช้เหตุผลของคุณในข้อมูลสรุป คุณค่าของผู้เชี่ยวชาญคือบริบทที่สะอาด ข้อมูลสรุปที่ยาวเป็นพิษ28 - หากคำแนะนำล้มเหลว นับเป็นหนึ่งในสองความพยายามของคุณสำหรับการปรึกษาครั้งถัดไป การปรึกษาที่ล้มเหลวสามครั้งหมายความว่างานนั้นเกินระดับความสามารถของเซสชันนี้ และการพูดเช่นนั้นเป็นผลลัพธ์ที่ถูกต้อง
ที่นั่งผู้เชี่ยวชาญ, .claude/agents/fable-expert.md:
1---2name: fable-expert3description: ที่ปรึกษาระดับ frontier สำหรับช่วงเวลาที่ติดขัด รับข้อมูลสรุปขนาดกะทัดรัดจาก stuck-protocol ส่งคืนคำแนะนำต่ำกว่า 600 โทเคน ไม่เคยทำงานเอง4model: claude-fable-5 # swap to opus if retention rules bite5effort: high6tools: Read, Grep, Glob # may read, may never edit7---89คุณคือที่ปรึกษาผู้เชี่ยวชาญ ไม่ใช่ผู้รับเหมา โมเดลที่ถูกกว่ากำลังขับและชนกำแพง คุณค่าของคุณคือการตัดสินใจในปริมาณน้อย และบริบทที่สะอาด: คุณไม่รู้อะไรเลยเกี่ยวกับว่าคนขับมาที่นี่ได้อย่างไร ซึ่งเป็นเหตุผลว่าทำไมการอ่านของคุณแม่นยำกว่า1011คุณได้รับข้อมูลสรุป: GOAL, ATTEMPT สองครั้งล่าสุด, และ ERROR หากข้อมูลสรุประบุชื่อไฟล์เฉพาะ คุณอาจอ่านได้ คุณอาจไม่แก้ไขอะไร1213 1. หากข้อมูลสรุปขาดสิ่งที่คุณต้องการ ให้ตอบด้วย ONE line ที่ระบุสิ่งที่ขาด อย่าเดามั่ว14 2. วินิจฉัยก่อนสั่งการ: หนึ่งหรือสองประโยคว่าอะไรผิดจริงๆ15 3. จากนั้นตอบในรูปแบบนี้และไม่มีอะไรหลังจากนั้น:16 GUIDANCE:17 1. (แนวทางแก้ไขที่เป็นไปได้มากที่สุด: สิ่งที่ควรลอง และทำไมควรได้ผล)18 2. (ทางเลือกสำรองหาก 1 ล้มเหลว)19 3. (เฉพาะเมื่อมีเส้นทางที่สามที่แตกต่างจริงๆ)20 CONFIDENCE: high | medium | low21 4. ต่ำกว่า 600 โทเคน ไม่มีบล็อกโค้ดเกิน 10 บรรทัด ให้แนวคิด ไม่ใช่การนำไปใช้ หากคำตอบของคุณมีวิธีแก้ปัญหาที่สมบูรณ์ แสดงว่าคุณล้มเหลวในบทบาท22 5. หากงานนั้นเข้าใจผิด ให้พูดในข้อ 1 และแนะนำสิ่งที่ควรบอกมนุษย์2324หมายเหตุผู้ปฏิบัติงาน: หากองค์กรของคุณไม่สามารถยอมรับการเก็บรักษาระดับ Mythos ให้เปลี่ยนบรรทัดโมเดลเป็น opus บทบาททำงานเหมือนเดิม ผลลัพธ์ที่ปรึกษาได้รับการพิสูจน์ครั้งแรกกับที่ปรึกษาระดับ Opus
และช่องทางเดียวกันในทางกลับกันสำหรับเซสชัน Codex, ~/.codex/prompts/fable-advice.md:
1claude --model claude-fable-5 -p "You are an expert advisor.2 A cheaper model is driving and is stuck. BRIEF: <goal, two3 attempts, error>. Reply GUIDANCE: up to 3 numbered items,4 under 600 tokens. Do not do the work."
โมเดลขนาดเล็กมีความมั่นใจเกินไป ดังนั้นระบบควบคุมจึงดูพฤติกรรมแทนที่จะถาม
ข้อมูลสรุปยังคงสั้น เพราะคุณค่าของผู้เชี่ยวชาญคือบริบทที่สะอาด และข้อมูลสรุปที่ยาวเป็นพิษ
การปรึกษาแต่ละครั้งใช้คำแนะนำสองสามร้อยโทเคน นั่นคือเหตุผลที่เศรษฐศาสตร์ถล่ม: การดำเนินการนับล้านอยู่ที่ระดับ $1 และการตัดสินใจมาเป็นกรัมที่ $50 ต่อล้าน
Cognition เผยแพร่ความล้มเหลวเป็นรายแรก เพดานถูกกำหนดโดยคนขับ ไม่ใช่ที่ปรึกษา และรูปแบบก็คุ้มค่าก็ต่อเมื่อคนขับของพวกเขาพัฒนาขึ้นหนึ่งรุ่น
ปัญหาที่ยังเปิดอยู่คือคนขับสังเกตว่าติดขัด ซึ่งเป็นเหตุผลว่าทำไมสัญญาณด้านบนเป็นเชิงพฤติกรรม และทำไมพวกมันถึงอยู่ในระบบควบคุม
CHECK 5: advisor_loop.py ผ่านการตรวจสอบ: คนขับล้มเหลวสองครั้งในลักษณะเดียวกัน การปรึกษาหนึ่งครั้งทำงาน งานเสร็จสมบูรณ์ การปรึกษายังคงอยู่ภายใต้ขีดจำกัด
BUILD 6: การทดสอบสองช่องทาง (The Two-Lane Bench)
ไม่มีสิ่งใดตรวจการบ้านของตัวเองเป็นกฎ และ build นี้บังคับใช้ข้ามผู้ให้บริการ
น้ำหนักเดียวกันในระบบควบคุมต่างประเทศลดลงอย่างมาก การวัดหนึ่งในปี 2026 แสดงให้เห็น 20.2 เปอร์เซ็นต์ของเจ้าของภาษาเทียบกับ 7.7 เปอร์เซ็นต์ของบุคคลที่สาม
ดังนั้นผู้ตรวจสอบแต่ละคนจึงทำงานในบ้านของตัวเอง Claude ตรวจสอบใน Claude Code Sol ตรวจสอบผ่าน Codex CLI
ผู้ตัดสินในบ้าน, .claude/agents/fresh-eyes-reviewer.md:
1---2name: fresh-eyes-reviewer3description: ผู้ตรวจสอบโค้ดแบบไม่รู้บริบท เรียกใช้หลังจากการเปลี่ยนแปลงที่เขียนโดย agent ใดๆ4 ไม่มีการแชร์ประวัติกับผู้เขียนเลย อ่าน diff เอง อาจไม่แก้ไข5model: haiku # เปลี่ยนเป็น opus เมื่อ diff มีความสำคัญมาก6effort: medium7tools: Read, Grep, Glob, Bash8---910คุณไม่มีความทรงจำว่าการเปลี่ยนแปลงนี้ถูกเขียนขึ้นมาได้อย่างไร และนั่นคือประเด็น อย่าถาม11หาเหตุผลของผู้เขียน อย่าเชื่อถือบทสรุปใดๆ ใช้หลักฐานเท่านั้น1213 1. git diff HEAD~1 (หรือช่วงที่ระบุ) และอ่านทุก hunk14 2. อ่านเนื้อหา FULL ของแต่ละไฟล์ที่ถูกแตะ ไม่ใช่แค่ hunk ข้อบกพร่องซ่อนอยู่ใน15 บรรทัดที่ไม่เปลี่ยนแปลงรอบๆ การเปลี่ยนแปลง16 3. รันชุดทดสอบที่ระบุใน README หรือ CLAUDE.md17 4. ล่าหาความล้มเหลวของ agent แบบคลาสสิกสามอย่าง:18 ความเกียจคร้าน: การนำไปใช้บางส่วน, TODO, จัดการเฉพาะกรณีเดียว19 การให้คะแนนตัวเอง: การทดสอบที่อ่อนแอลง, การลบ assertion, การข้ามชุดทดสอบ20 การนอกลู่นอกทาง: การเปลี่ยนแปลงนอกขอบเขตของงานที่ระบุ21 5. คำตัดสิน ในรูปแบบนี้เท่านั้น:22 VERDICT: PASS หรือ FAIL23 BUGS: เรียงลำดับ แต่ละรายการมี file:line และเหตุผลหนึ่งประโยค24 RISK: หนึ่งประโยคเกี่ยวกับสิ่งที่เสี่ยงที่สุดที่การเปลี่ยนแปลงนี้แตะต้อง2526กฎตายตัว: คุณห้ามแก้ไขไฟล์, ห้ามรันงานของผู้เขียนอีกครั้ง, และรายการ27BUGS ที่ว่างเปล่ากับ VERDICT: FAIL นั้นไม่ถูกต้อง หากการทดสอบไม่สามารถรันได้28นั่นคือ FAIL อัตโนมัติพร้อมกับเหตุผล
ผู้ตรวจสอบข้ามผู้ให้บริการ .claude/agents/sol-reviewer.md เป็นท่อที่รันคำสั่งเดียวและส่งต่อคำตัดสินตามตัวอักษร Sol คือผู้ตรวจสอบ ไฟล์นี้ทำให้มันอยู่ในเครื่องมือของตัวเอง:
1---2name: sol-reviewer3description: ผู้ตรวจสอบข้ามผู้ให้บริการ ส่งคอมมิตล่าสุดไปยัง GPT-5.6 Sol ผ่าน4 Codex CLI ในเครื่องมือดั้งเดิมของ Sol และส่งต่อคำตัดสินโดยไม่เปลี่ยนแปลง5model: haiku # แค่ท่อเท่านั้น Sol คือผู้ตรวจสอบ6effort: low7tools: Bash, Read8---910คุณเป็นแค่ท่อ ไม่ใช่ผู้ตรวจสอบ โมเดลจากตระกูลเดียวกันมีจุดบอดร่วมกัน เส้นทางนี้11มีอยู่เพราะ Sol ไม่ได้มีจุดบอดเหมือนกับ Claude1213 1. ตรวจสอบ CLI: codex --version. ถ้าไม่มี ให้ส่งออก VERDICT: FAIL พร้อมเหตุผล14 "codex CLI ไม่ได้ติดตั้ง" พร้อมเส้นทางการติดตั้ง (หรือปลั๊กอินอย่างเป็นทางการ:15 /plugin marketplace add openai/codex-plugin-cc, /plugin install, /codex:review)16 2. รันการตรวจสอบด้วยความพยายามสูง ในเครื่องมือของ Sol เอง:1718 codex --profile deep exec "ตรวจสอบคอมมิตล่าสุด (git show HEAD) ในฐานะ19 วิศวกรอาวุโสที่ไม่เป็นมิตรซึ่งไม่เคยพบผู้เขียน อ่านทุกไฟล์ที่ถูกแตะ20 แบบ FULL ไม่ใช่แค่ hunk ค้นหา: การนำไปใช้บางส่วน, การทดสอบที่อ่อนแอหรือถูกลบ,21 การเปลี่ยนแปลงนอกขอบเขตงานที่ระบุ ลงท้ายด้วย 'VERDICT: PASS' หรือ 'VERDICT: FAIL' ตามด้วยผลการค้นพบที่มีหมายเลข แต่ละรายการมี22 file:line และเหตุผลหนึ่งประโยค"2324 3. บันทึกผลลัพธ์ทั้งหมดไปยัง .review_sol_<short-hash>.md25 4. ส่งต่อขึ้นไป: บรรทัด VERDICT ก่อน จากนั้นผลการค้นพบตามตัวอักษร อย่า26 สรุปผลการค้นพบ อย่าเพิ่มความมั่นใจ อย่าโต้แย้งกับ Sol27 หากคำตัดสินคือ FAIL ตัวหลักจะเป็นผู้ตัดสินใจว่าจะแก้ไขอะไร คุณไม่ตัดสินใจอะไร2829กฎตายตัว: ห้ามแก้ไขไฟล์, ห้ามรันงานของผู้เขียนอีกครั้ง, ห้ามแทนที่30การตรวจสอบของคุณเอง หาก codex เกิดข้อผิดพลาดระหว่างรัน ให้รายงานเป็น FAIL พร้อมแนบ stderr31แทนที่จะลองใหม่เงียบๆ มากกว่าหนึ่งครั้ง
สำหรับ CI, loop/two_lane.sh ขับเคลื่อนการแลกเปลี่ยนทั้งหมด สูงสุดสามรอบ:
1claude -p "Implement: $TASK. Run the tests. Commit when green."2review=$(codex exec "Review HEAD ... VERDICT: PASS or FAIL plus findings.")3grep -q "VERDICT: PASS" <<< "$review" && exit 04claude -p "A reviewer from another model family found these issues.5 Fix every one, rerun tests, commit: $review"
ภายใน Claude Code คุณสามารถข้ามสคริปต์ทั้งหมดได้
OpenAI เปิดตัวปลั๊กอิน Codex อย่างเป็นทางการสำหรับ Claude Code ใช้งานจริงตั้งแต่เดือนมีนาคม 2026 และมีดาว GitHub ประมาณสองหมื่นดวงภายในเก้าสัปดาห์ นั่นคือตลาดที่บอกคุณว่าการตรวจสอบข้ามผู้ให้บริการกลายเป็นกระแสหลัก ติดตั้งครั้งเดียว:
1/plugin marketplace add openai/codex-plugin-cc2/plugin install codex@openai-codex3/codex:setup
สามคำสั่งภายในเซสชัน Claude ใดๆ:
- /codex:review สำหรับการตรวจสอบมาตรฐาน
- โหมด adversarial ซึ่งจงใจโจมตีการตัดสินใจออกแบบของคุณ
- การส่งต่อพื้นหลัง ไปยัง Codex
ใช้ adversarial กับอะไรก็ตามที่มีความสำคัญ ใช้ handoff เมื่องานหนักไปทาง terminal ซึ่งเป็นจุดที่ Sol ถนัดที่สุด
นักพัฒนาจำนวนมากขึ้นเรื่อยๆ ตอนนี้รัน GPT-5.6 Sol ภายใน Claude Code ผ่านพร็อกซีจาก BUILD 7 และชอบมันมากกว่า Codex สำหรับงานประจำวัน
มันแสดงให้เห็นถึงแนวคิด: เช่า weights, เป็นเจ้าของ harness
ข้อเสียคือกฎของ native-harness เนื่องจาก Sol ใน Claude Code รันนอกบ้านของมัน ยืนยันด้วยชุด eval ของคุณเอง หาก eval ของคุณบอกว่า harness ต่างประเทศชนะ แสดงว่า eval ของคุณเหนือกว่า benchmark
คุณสมบัติสามประการที่ทำให้ผู้ตรวจสอบมีค่า:
- บริบทที่สะอาด มันมาถึงโดยไม่มีประวัติของผู้เขียน
- สายเลือดที่แตกต่าง มันไม่มีจุดบอดร่วมกับผู้เขียน
- เครื่องมือดั้งเดิม มันตัดสินอย่างเต็ม strength
คำตัดสินที่อ่อนลงคือตัวตรวจสอบที่พัง ดังนั้นการส่งต่อจึงเป็นแบบตามตัวอักษร FAIL ครั้งที่สามจะส่งไปหามนุษย์แทนที่จะลองครั้งที่สี่
CHECK 6: รัน two_lane.sh หรือ /codex:review บนคอมมิตล่าสุดของคุณ VERDICT จะลงในไฟล์ .review และ FAIL จะถูกส่งกลับไปยังเลนของผู้เขียน
BUILD 7: Optional Fan-Outs (ติดตั้งเมื่อเงื่อนไขปรากฏ)
ฝูงหน่วยสืบเสาะ ติดตั้งเมื่องานวิจัยหรือการขุดโค้ดเบสใช้เวลามากกว่า 30 นาทีต่อวัน ให้สร้างสามตัวขนานกันในส่วนที่แยกกัน:
1---2name: scout3description: ผู้อ่านขนานราคาถูกสำหรับการกระจายงานวิจัย เปิดหลายตัวพร้อมกัน4 สำหรับการสำรวจโค้ดเบส, การตรวจสอบ dependencies, การขุด log, การวิจัยเอกสาร5 อ่านอย่างเดียวตามหลักการ; การอ่านกระจายออก, การเขียนยังคงเป็นเธรดเดียว6model: haiku7effort: low # การป้องกันการสืบทอด (BUILD 4): ฝูงที่สืบทอด8 # ความพยายามสูงสุดจะล้างหน้าต่างในข้อความเดียว9tools: Read, Grep, Glob, Bash10---1112คุณเป็นหนึ่งในผู้อ่านหลายคนที่รันขนานกัน สำรวจส่วนของคุณและ13รายงานกลับมาให้สั้นและคมชัด เฉพาะข้อความสุดท้ายของคุณเท่านั้นที่จะกลับไปยังตัวหลัก ดังนั้น14ให้มันอยู่ต่ำกว่า 400 คำ และทำให้ทุกคำมีค่าควรแก่ตำแหน่ง1516 1. จำกัดงานของคุณให้เหลือเพียงส่วนเดียวด้วยตัวคุณเอง (หนึ่งไดเรกทอรี, หนึ่งซับซิสเต็ม,17 หนึ่งคำถาม) และบอกว่าคุณจำกัดเหลืออะไร18 2. อ่านอย่างเดียว: Read, Grep, Glob, และ shell แบบอ่านอย่างเดียว (ls, git log, git show, rg)19 ห้ามแก้ไข ติดตั้ง หรือลบ หากงานต้องการการเขียน ให้รายงาน อย่าทำ20 3. กว้างก่อน แล้วค่อยลึกในสองหรือสามจุดที่ร้อนแรงที่สุด2122รูปแบบรายงาน ไม่มีอะไรอื่น:23 FINDINGS: สูงสุด 10 หัวข้อย่อย แต่ละข้อคือข้อเท็จจริงพร้อมหลักฐาน (file:line, commit24 hash, หรือ URL)25 GAPS: สิ่งที่คุณไม่สามารถระบุได้และเพราะเหตุใด เพื่อให้ตัวหลักรู้ว่ายังมืดตรงไหน26 HOTSPOT: ไฟล์หรือฟังก์ชันเดียวที่สมควรได้รับการดูเชิงลึกมากที่สุด หนึ่งบรรทัด27 ว่าทำไม2829อย่าเขียนบทบรรณาธิการ อย่าเสนอการนำไปใช้ อย่าเพิ่มเนื้อหา หน่วยสืบเสาะที่30คืนค่า 300 คำที่มีประโยชน์ ดีกว่าตัวที่คืนค่า 3,000 คำที่ผสมกัน เพราะ31ทุกสิ่งที่คุณส่งออกจะไปอยู่ในหน้าต่างบริบทของตัวหลัก และตัวหลักเป็นคนจ่ายเงิน
การอ่านกระจายออกเพราะผู้อ่านแบบขนานทวีคูณ ข้อจำกัดคำมีอยู่เพราะทุกรายงานลงในหน้าต่างบริบทที่ตัวหลักจ่ายเงิน
การเขียนไม่เคยกระจายออก การศึกษาเรื่องงบประมาณเท่ากันในปี 2026 พบว่า agent เดียวเทียบเท่ากับการตั้งค่า multi-agent ในการใช้เหตุผลเมื่อ tokens คงที่ เลนนี้มีไว้สำหรับอ่านเท่านั้น
เครื่องข้ามคืน ติดตั้งเมื่อ TASKS.md มีรายการเล็กๆ ที่ตรวจสอบได้ตั้งแต่สิบรายการขึ้นไป ทักษะเครื่องข้ามคืนจะตั้งค่าไฟล์ ยืนยันขีดจำกัดทั้งสอง ตรวจสอบว่าคำสั่งทดสอบรันได้ จากนั้นเปิด ralph.sh ส่วนต่อประสานตอนเช้า: git log, progress.log, เครื่องหมายถูก
การแยกแผน ติดตั้งเมื่อ tokens การวางแผนครอบงำค่าใช้จ่ายของเซสชัน การตั้งค่าหนึ่งใน Claude Code รันโมเดลระดับ Opus สำหรับแผนและ Sonnet สำหรับการดำเนินการ วางแผนบน frontier ตามกรัม ดำเนินการเป็นจำนวนมาก
ม้านั่งสามคน ติดตั้งเมื่อการเปลี่ยนแปลงที่ยุ่งยากสมควรได้รับสามมุมมอง สองบทบาทอ่านและหนึ่งเขียน และบานที่สี่เป็นกับดัก ท่ออยู่ด้านล่าง
ท่อสำหรับฝูงบินแบบผสม
โอเพนซอร์สสองชิ้นเปลี่ยนการตั้งค่าสองผู้ให้บริการให้เป็นแบบผู้ให้บริการใดก็ได้ ติดตั้งเมื่อเงื่อนไขเรียกร้องผู้ให้บริการรายที่สามเท่านั้น
claude-model-switch (โอเพนซอร์ส, Rust, รันบน localhost:4000) พร็อกซีท้องถิ่นระหว่าง Claude Code และ endpoint ที่เข้ากันได้กับ Anthropic หรือ OpenAI ใดๆ
- จับคู่สามระดับภายในของ Claude Code (haiku, sonnet, opus) กับโมเดลใดก็ได้ที่ผู้ให้บริการของคุณมี
- สลับผู้ให้บริการโดยไม่ต้องรีสตาร์ท ผ่านการโหลด config ใหม่
- มาพร้อมเป็นปลั๊กอิน Claude Code พร้อมคำสั่ง slash
1claude-model-switch init # ชี้ Claude Code ไปที่พร็อกซี2claude-model-switch add openrouter sk-or-xxx3claude-model-switch add glm \4 --haiku glm-4.5-air --sonnet glm-4.7 --opus glm-55claude-model-switch use glm # ต่อเซสชัน ห้ามใช้กลางงาน6claude-model-switch orchestrate start --preset trio # planner/coder/reviewer
ชุด preset trio คือม้านั่งของ BUILD 7 ที่ทำให้เป็นจริง: สาม tmux pane แต่ละบทบาทบนผู้ให้บริการคนละราย แต่ละตัวกำหนดแอดเดรสได้ (orchestrate send coder "implement milestone 1") พร้อมการกำหนดบทบาทใหม่กลางเซสชันหากผู้ให้บริการเสื่อมประสิทธิภาพ
CLIProxyAPI (โอเพนซอร์ส) เทคนิคเดียวกัน แต่ชี้ไปอีกทิศทาง
มันห่อการเข้าสู่ระบบ OAuth ของ ChatGPT Codex, Claude Code, Gemini, และ Grok เป็น endpoint API ที่เข้ากันได้กับ OpenAI, Claude, และ Gemini
คำแปล: ที่นั่งแบบสมัครสมาชิกที่คุณจ่ายเงินอยู่แล้วจะกลายเป็นเป้าหมาย API ที่สามารถกำหนดเส้นทางได้ สำหรับสคริปต์เช่น ralph.sh และ two_lane.sh โดยไม่ต้องมีคีย์ API แยกต่างหาก Forks ของชุมชนขยายไปยัง Factory และ Amp และ wrappers เช่น ccs เพิ่มการสลับหลายบัญชี
กฎที่ควบคุมทั้งสอง จากข้อมูลของ BUILD 6: โมเดลที่ถูกจับคู่ใหม่จะรันใน harness ต่างประเทศ
จับคู่เลนผู้อ่านและผู้ตรวจสอบใหม่ได้อย่างอิสระ พวกมันราคาถูกและตรวจสอบได้
เก็บเลนที่เขียนโค้ดไว้บนโมเดลที่เป็นเจ้าของ harness ดั้งเดิม จนกว่าชุด eval ของคุณเองจะพิสูจน์เป็นอย่างอื่น
CHECK 7: fan-out ทุกตัวที่ติดตั้งจะมีเงื่อนไขการเรียกใช้เขียนไว้ข้างๆ การติดตั้งสิ่งเหล่านี้โดยคาดเดาล่วงหน้าคือวิธีที่ทำให้ stack พองตัว
BUILD 8: The Factory (ความสำเร็จกลายเป็นข้อเท็จจริงในฐานข้อมูล)
ทุกอย่างที่ผ่านมาพิสูจน์การทำงานในขณะนั้น gate, คำตัดสิน, และชุด eval ทั้งหมดทำงานระหว่างรัน
เมื่อ agent มากกว่าหนึ่งตัวแตะโปรเจกต์ในมากกว่าหนึ่งเซสชัน คุณต้องการหลักฐานที่อยู่รอดหลังการรัน: ใครทำงานอะไร เรียงลำดับอย่างไร และรอบการตรวจสอบล่าสุดผ่านหรือไม่

รูปแบบมาจากการสาธิต pi-factory (github.com/xpriment626/pi-factory) แนวคิดหลักคือหนึ่งประโยค
เธรดคือร่องรอย แถวคือหลักฐาน gate อ่านแถว
progress.log คือไดอารี่ กระดานดำคือบัญชีแยกประเภท SQLite คือบัญชีแยกประเภทเพราะสามารถสอบถามได้หลังจากทุกคนหยุดพูด
สร้าง factory/factory_gate.py มันมีสี่ตาราง (tickets, briefs, evidence, verdicts), คำสั่งบันทึกที่ agent แต่ละตัวเรียกขณะทำงาน, และ gate การสำเร็จ เงื่อนไขความล้มเหลวของ gate สอดคล้องกับงานเอง:
1checks = [2 (tickets == 0, "ไม่มี tickets ที่ถูกบันทึกไว้"),3 (done != tickets, "tickets ไม่ทั้งหมดที่เสร็จ"),4 (first_brief is None, "ไม่มีสถาปัตยกรรม brief ที่ถูกบันทึก"),5 (first_brief > first_code, "หลักฐานการนำไปใช้มาก่อน brief"),6 (code_ev == 0, "ไม่มีหลักฐานโค้ดจากผู้ดำเนินการที่ถูกบันทึก"),7 (build_ok == 0, "ไม่มีหลักฐานคำสั่ง build ที่ผ่าน"),8 (test_ok == 0, "ไม่มีหลักฐานคำสั่งทดสอบที่ผ่าน"),9 (latest("architect") != "green", "คำตัดสินล่าสุดของ architect ไม่ใช่สีเขียว"),10 (latest("reviewer") != "green", "คำตัดสินล่าสุดของ reviewer ไม่ใช่สีเขียว"),11]
รายการนั้นเข้ารหัสหลักคำสอนทั้งหมด
- ลำดับถูกบังคับใช้ brief ที่มาหลังจากหลักฐานโค้ดแรกคือการละเมิด ซึ่งทำให้ plan-before-build เป็นข้อเท็จจริงที่ตรวจสอบได้แทนที่จะเป็นนิสัย
- ที่นั่งผู้พิพากษาทั้งสองต้องเป็นสีเขียวในรอบล่าสุดเดียวกัน การอนุมัติที่ค้างอยู่หนึ่งครั้งไม่สามารถรับ diff ที่ใหม่กว่าได้
- ความสำเร็จโดยไม่มีแถวการทดสอบที่ผ่านนั้นเป็นไปไม่ได้ ไม่ว่าบทสนทนาจะฟังดูมั่นใจแค่ไหน
สร้าง factory/factory.sh ซึ่งเชื่อมต่อที่นั่งที่คุณสร้างไว้แล้วเข้ากับลำดับการรันและบันทึกแถวระหว่างทุกขั้นตอน:
1G ticket "kanban board" "columns render, drag persists" # แถว planner2G brief "$BRIEF" # ก่อนโค้ดใดๆ3../loop/ralph.sh && G evidence code pass "loop completed" # BUILD 3 ทำงาน4npm test && G evidence test pass "npm test green"5G verdict 1 architect green "layout matches brief" # ที่นั่ง Claude6G verdict 1 reviewer green "tests pass, scope clean" # ที่นั่ง Sol, ผ่าน codex7python3 factory_gate.py gate factory.db # แถวตัดสิน
ไม่มีอะไรใหม่ถูกว่าจ้าง
Fable ตัด tickets และเขียน brief อ่านอย่างเดียว ลูป BUILD 3 นำไปใช้ Claude และ Sol ต่างส่งคืนคำตัดสินจาก harness ของตัวเอง รอบวนซ้ำสูงสุดสามครั้งจนกว่าทั้งคู่จะเป็นสีเขียว
Factory คือผังองค์กรสำหรับพนักงานที่คุณมีอยู่แล้ว
การรันจริง ไม่ใช่ของจำลอง การเรียก gate ครั้งที่สองคือข้อโต้แย้งทั้งหมดสำหรับ build นี้:
1$ factory_gate.py record demo.db ticket "kanban-board" "columns render, drag persists"23$ factory_gate.py gate demo.db4GATE: REFUSED5 - Tickets ไม่ทั้งหมดที่เสร็จ6 - ไม่มีสถาปัตยกรรม brief ที่ถูกบันทึก7 - ไม่มีหลักฐานโค้ดจากผู้ดำเนินการที่ถูกบันทึก8 - ไม่มีหลักฐานคำสั่ง build ที่ผ่าน9 - ไม่มีหลักฐานคำสั่งทดสอบที่ผ่าน10 - ไม่มีรอบการตรวจสอบที่ถูกบันทึก11 exit: 11213... agents ทำงาน ทุกขั้นตอนเขียนแถว ...1415$ factory_gate.py record demo.db brief "Stack: node+sqlite. /tasks CRUD."16$ factory_gate.py record demo.db evidence code pass "src/board.js เขียนแล้ว"17$ factory_gate.py record demo.db evidence build pass "npm run build exit 0"18$ factory_gate.py record demo.db done "kanban-board"19$ factory_gate.py record demo.db verdict 1 architect green "layout ตรงตาม brief"20$ factory_gate.py record demo.db verdict 1 reviewer green "scope สะอาด"2122$ factory_gate.py gate demo.db23GATE: REFUSED24 - ไม่มีหลักฐานคำสั่งทดสอบที่ผ่าน25 exit: 12627$ factory_gate.py record demo.db evidence test pass "npm test 33/33"2829$ factory_gate.py gate demo.db30GATE: COMPLETE (1/1 tickets, cycle 1 green x2)31 exit: 0
ผู้ตรวจสอบทั้งสองบอกว่าสีเขียว สถาปนิกยืนยันว่าเลย์เอาต์ตรงตาม brief ผู้ตรวจสอบยืนยันว่า scope สะอาด
และ gate ยังปฏิเสธ ด้วยหนึ่งบรรทัด: ไม่มีหลักฐานคำสั่งทดสอบที่ผ่าน ไม่มีใครรันการทดสอบ
คำตัดสินคือความคิดเห็น สองความคิดเห็นยังไม่ใช่ข้อเท็จจริง หนึ่งแถว evidence test pass ต่อมา gate เดียวกันคืนค่า COMPLETE และออก 0
โมเดลโต้แย้งเพื่องานของพวกเขาอย่างน่าเชื่อถือ และบันทึกการสนทนาจับข้อโต้แย้งมากกว่าความจริง แถวไม่สามารถโต้แย้งได้
เมื่อ gate ปฏิเสธ มันจะระบุสิ่งประดิษฐ์ที่ขาดหายไปอย่างชัดเจน นั่นเปลี่ยน "การรันล้มเหลว" เป็น "สร้างแถวการทดสอบที่ผ่าน" งาน ไม่ใช่ปริศนา
เงื่อนไขการติดตั้ง: มากกว่าหนึ่งเซสชันผู้เขียนต่อวัน, รอบการตรวจสอบที่กินเวลาหลายวัน, หรือความจำเป็นในการพิสูจน์หลังจากข้อเท็จจริงว่าเกิดอะไรขึ้น สำหรับ repo คนเดียวที่มีลูปกลางคืนหนึ่งครั้ง BUILD 3 ก็เพียงพอแล้ว และนี่คือส่วนเกิน
CHECK 8: ทำซ้ำภาพหน้าจอ บันทึกทุกอย่างยกเว้นแถวการทดสอบ และ gate ต้องปฏิเสธด้วยเหตุผลเดียวเท่านั้น เพิ่มแถวแล้วมันจะคืนค่า COMPLETE gate ที่ผ่านโดยไม่มีมันคือเครื่องอ่านบันทึกการสนทนา
BUILD 9: The Swarm (Fable วางแผน, กองเรือดำเนินการ, Fable ให้คะแนน)
ไดรเวอร์หนึ่งตัวกับที่ปรึกษาหนึ่งตัวครอบคลุมงาน เป้าหมายที่แยกออกเป็นสี่ส่วนอิสระต้องการคนงานสี่คน
แต่กองเรือจะรักษาทิศทางก็ต่อเมื่อ โมเดลเดียววางแผนทุกเป้าหมายและให้คะแนนทุกผลลัพธ์ นั่นคือเหตุผลทั้งหมดที่ build นี้มีอยู่ และเหตุผลที่ฝูงมักจะล้มเหลวหากไม่มีมัน
Rung 3 กลายเป็นจริง Fable เขียนเป้าหมาย กองเรือดำเนินการ Fable ให้คะแนนแต่ละผลลัพธ์เทียบกับการตรวจสอบของตัวเอง และรอบถัดไปวางแผนใหม่เฉพาะสิ่งที่พลาด
การยกเลิกคือขีดจำกัดรอบ เมื่อขีดจำกัดสะดุดกับสิ่งที่พลาดค้างอยู่ นั่นคือปัญหาสเปกที่ต้องส่งให้มนุษย์ ไม่ใช่เหตุผลที่จะรันรอบที่สี่
สร้าง swarm/swarm.sh สามการตั้งค่าที่นำหลักคำสอน:
1FLEET=4 # การเขียนไม่เคยชนกัน: หนึ่ง worktree ต่อคน2WORKER_MODEL=claude-sonnet-5 # หรือ haiku / luna / kimi สำหรับการดำเนินการล้วนๆ3WORKER_EFFORT=low # ห้ามสืบทอดความพยายามของผู้ควบคุมโดยเด็ดขาด4CONDUCTOR=claude-fable-5 # หรือ opus-4-8 หากกฎการเก็บรักษาก่อปัญหา
สามบรรทัดนั้นชัดเจนเพราะค่าเริ่มต้นไม่ใช่
กองเรือที่สืบทอดจะรับโมเดลของผู้ควบคุมและความพยายามของผู้ควบคุมทั้งคู่ Fable-at-high ที่สร้าง Fable-at-high สี่ตัวเพื่อทำงานเครื่องจักรกล เป็นวิธีที่แพงที่สุดในการทำสิ่งที่ถูกที่สุด
ตั้งค่าไว้ อย่าปล่อยให้เป็นค่าเริ่มต้น
การกระจายข้าม harness เป็นสิ่งที่ถูกต้องตามกฎหมาย และไม่ใช่ข้อยกเว้นของกฎข้อแรกของ ROUTING.md อย่างที่เห็น
- ผู้ควบคุม Fable ที่ shell ออกไปยัง codex exec จะรัน Sol ภายใน Codex โดยกำเนิด นั่นคือกฎที่เชื่อฟัง ไม่ใช่การดัด
- สิ่งที่ทำลายกฎคือ subagent ฝั่ง Claude ที่สวมสตริงโมเดล GPT หรือในทางกลับกัน
Harness เดินทางไปกับคนงาน ไม่ใช่กับผู้ควบคุม
ผู้ควบคุมเขียนเป้าหมาย ไม่เคยเขียนโค้ด และแต่ละเป้าหมายมีการตรวจสอบของตัวเอง ดังนั้น "เสร็จ" ยังคงเป็นข้อเท็จจริง:
1{"id":"strip-legacy-auth","spec":"ลบเส้นทาง v1 auth ออกจาก routes/","check":"npm test -- tests/auth"}2{"id":"migrate-sessions","spec":"ย้าย session store ไปยัง adapter ใหม่","check":"npm test -- tests/session"}
จากนั้นส่ง, ให้คะแนน, และวางแผนใหม่:
1# dispatch: หนึ่ง git worktree ต่อเป้าหมาย, จำกัดที่ FLEET แบบขนาน2claude --model "$WORKER_MODEL" --effort "$WORKER_EFFORT" -p "ดำเนินการตามสเปคนี้3 อย่างถูกต้อง อย่าขยายขอบเขต รันการทดสอบ Commit เมื่อเป็นสีเขียวเท่านั้น"45# score: ผู้ควบคุมให้คะแนนแต่ละเป้าหมายเทียบกับคำสั่งตรวจสอบของตัวเอง6# ความมั่นใจของคนงานไม่ใช่หลักฐาน รหัสออกคือหลักฐาน7bash -c "$chk" && echo "$id" >> passed.txt || misses=$((misses+1))89# replan: รอบถัดไปเห็น passed.txt และวางแผนใหม่เฉพาะที่พลาด
ทีละที่นั่ง:
- Sonnet 5 สำหรับการเขียนโค้ด
- Haiku หรือ Luna สำหรับงานเครื่องจักรกลล้วนๆ
- คนงาน open-weight เช่น Kimi เมื่องานซ้ำซากและ weights ฟรี
- Sol เมื่องานหนักไปทาง terminal
- Opus 4.8 ในที่นั่งคนงาน เฉพาะเมื่อ subagent จำเป็นต้องใช้เหตุผล
สงวน Fable ไว้สำหรับสองงานที่ไม่มีโมเดลราคาถูกทำได้: การเขียนเป้าหมาย และการให้คะแนน
กองเรือคือกลยุทธ์ด้านต้นทุน ไม่ใช่กลยุทธ์ด้านสติปัญญา
การรันแบบ multi-agent เผา tokens 3 ถึง 10 เท่าสำหรับงานที่เทียบเท่า และการศึกษาเรื่องงบประมาณเท่ากันในปี 2026 พบว่า agent เดียวเทียบเท่ากับพวกมันในการใช้เหตุผลเมื่อ tokens คงที่
ฝูงจะคุ้มค่าก็ต่อเมื่อเป้าหมายเป็นอิสระและส่วนใหญ่เป็นเครื่องจักรกล การเขียนยังคงเป็นเธรดเดียวต่อ worktree การ merge เกิดขึ้นเป็นลำดับ และมนุษย์รับคอมมิตสุดท้าย
CHECK 9: รัน swarm บนเป้าหมายที่แยกสามทาง เป้าหมายที่พังต้องกลับมา FAIL ใน results.tsv และถูกวางแผนใหม่ในรอบ 2 ไม่เคยประกาศว่าเสร็จ
BUILD 10: Rung 4 (ไม่มีอะไรที่ผ่านแล้วจะไม่ถูกเฝ้าดู)
ทุกอย่างที่ผ่านมาทำให้งานถูกตรวจสอบขณะที่กำลังสร้าง ไม่มีอะไรสังเกตเห็นเมื่องานที่เสร็จแล้วหยุดเป็นจริงในหกสัปดาห์ต่อมา เป้าหมายที่คุณตรวจสอบครั้งเดียวคือสมมติฐานที่มีการประทับเวลา
Rung 4 มีสองส่วน และการยกเลิกมีความสำคัญพอๆ กับการออก: หากไม่มีข้อเสนอใดผ่าน gate ในสัปดาห์นี้ ระบบจะไม่เปลี่ยนแปลง และนั่นคือความสำเร็จ
ส่วนแรก เป้าหมายที่ยืนหยัด ทุกสิ่งที่เสร็จแล้วจะเลื่อนขั้นเป็น invariant ที่มี predicate ตรวจสอบซ้ำทุกวัน ตลอดไป สร้างหนึ่งไฟล์ต่อสิ่งที่เสร็จแล้วใน goals/:
1predicate: npm test -- tests/auth 2>&1 | tail -1 | grep -q passing2born: 2026-07-133status: satisfied4last-pass: 2026-07-135on-violation: ปลุกฉัน อย่าแก้ไขอัตโนมัติ
จากนั้น system/verify_goals.py รันทั้งหมดและออก 1 หาก invariant ใดแตก โดยระบุเป้าหมาย, วันที่ที่มันคงอยู่ครั้งสุดท้าย, และนโยบายที่คุณตั้งไว้:
1held = subprocess.run(["bash","-c",predicate], timeout=60).returncode == 02g["status"] = "satisfied" if held else "VIOLATED"3# timeout คือการละเมิด ไม่ใช่การผ่าน: predicate ที่แพงคือ predicate ที่พัง
กฎ predicate นั้นเข้มงวดโดยเจตนา: คำสั่ง shell, exit 0 หมายถึง invariant ถือ, ราคาถูกและอ่านอย่างเดียว
ห้ามใช้คำคุณศัพท์ ถ้า shell ตรวจสอบไม่ได้ โมเดลก็ตรวจสอบไม่ได้เช่นกัน
เป้าหมายที่ไม่ใช่โค้ดทำงานในลักษณะเดียวกัน test -s reports/$(date +%Y-%m)-review.md เป็นเป้าหมายที่ยืนหยัดที่ดีสำหรับรายงานประจำเดือน
ส่วนที่สอง ปุ๋ยหมัก สัปดาห์ละครั้ง อ่านของเสียที่ระบบผลิตแล้ว: งาน BLOCKED, การรัน gate ที่ล้มเหลว, factory gate ที่ถูกปฏิเสธ, PR ที่ถูกย้อน, เป้าหมายที่ถูกละเมิด
จากนั้นเสนอการเปลี่ยนแปลงสูงสุดสามอย่าง กฎหมายใหม่สำหรับรัฐธรรมนูญ การแก้ไขทักษะที่ล้มเหลวซ้ำๆ ในรูปแบบเดิม หรือเป้าหมายที่ยืนหยัดที่คุณขาด
เสนอเท่านั้น คุณเซ็น
1claude --model claude-fable-5 --effort high --allowedTools "Read,Grep,Glob" \2 -p "อ่านของเสียของสัปดาห์นี้: บรรทัด BLOCKED ใน progress.log, รายการ GATE REFUSED3 , เป้าหมาย VIOLATED, PR ที่ถูกปิดโดยไม่ merge สกัดสูงสุด 3 ข้อเสนอ:4 กฎหมายใหม่ (อ้างอิงเหตุการณ์), การแก้ไขทักษะ (ความล้มเหลวเดียวกันซ้ำ), หรือ5 เป้าหมายที่ยืนหยัดที่เราขาด เสนอเท่านั้น ห้ามแก้ไขอะไร สัปดาห์ที่สะอาดคือ6 คำตอบที่ถูกต้อง พูดแบบนั้นแล้วหยุด"
Rung นี้จะปิดก็ต่อเมื่อ eval และผู้พิพากษาบอกว่าระบบดีขึ้น ซึ่งหมายถึงระบบต้องการความทรงจำเกี่ยวกับความล้มเหลวของตัวเองเพื่อปรับปรุง
การรันปุ๋ยหมักคือสิ่งที่เปลี่ยนสคริปต์ให้เป็นสถาบัน
เป้าหมายที่ยืนหยัดคือสิ่งที่ทำให้การเสร็จปลอดภัย Sentinel ตรวจจับ, ท่อปกติซ่อมแซม, และไม่มีอะไรเน่าเปื่อยในความเงียบ
CHECK 10: verify_goals.py แบบสาธิตระบุ invariant ที่พังพร้อมวันที่ last-pass และปล่อยอันที่แข็งแรงไว้ตามลำพัง จากนั้นเขียนเป้าหมายที่ยืนหยัดจริงหนึ่งอันสำหรับสิ่งสุดท้ายที่คุณทำให้เสร็จ
BUILD 11: Rung 5 (ที่นั่งของคุณ และเหตุผลที่มันไม่เคยว่าง)
Rung 5 มีชื่อของคุณอยู่ด้วยเหตุผลเชิงกล ไม่ใช่เหตุผลเชิงความรู้สึก
ลูปสามารถถึงเงื่อนไขการหยุดและยังคงผิดได้ การทดสอบผ่าน, gate เป็นสีเขียว, ผู้ตรวจสอบทั้งสองเซ็น, และคอมมิตสุดท้ายยังคงเป็นความผิดพลาด
ทุก build ด้านล่างนี้มีอยู่เพื่อลดความเสี่ยงนั้น ไม่มีอันไหนกำจัดมันได้
หน้าที่ประจำของคุณทั้งหมด ราคาถูก:
- อ่านคิวพร้อมกาแฟ: งาน BLOCKED, บรรทัด GATE REFUSED, เป้าหมาย VIOLATED, ส่วนแบ่งระดับราคาถูก สิบนาที
- ตรวจสอบคอมมิตสุดท้ายก่อนที่จะ merge ไม่ใช่ทุก diff, อันสุดท้าย, อันที่ระบบมั่นใจที่สุด
- รับรองหรือปฏิเสธข้อเสนอปุ๋ยหมักสามข้อ นั่นเป็นวิธีเดียวที่กฎหมายจะเข้าสู่รัฐธรรมนูญ
สาม play รันตามจังหวะแทนที่จะตามความต้องการ เพราะมันใช้เงินจริงและจ่ายเป็นทิศทางมากกว่า diffs:
Play หนึ่ง, วงจรข้อเสนอแนะของโปรเจกต์, รายเดือน
ชี้ Fable ไปที่สิ่งที่คุณส่งแล้ว อ่านอย่างเดียว และให้มันเขียนแผนปรับปรุงโดยละเอียด จากนั้นส่งมอบการดำเนินการตามแผนนั้นให้ Opus 4.8 หรือ Sol
โมเดลราคาแพงทำส่วนที่ทวีคูณ การตัดสินใจว่าจะเปลี่ยนแปลงอะไร และไม่เคยทำส่วนที่ไม่ทวีคูณ การพิมพ์
1claude --model claude-fable-5 --effort high --allowedTools "Read,Grep,Glob" \2 -p "ตรวจสอบโปรเจกต์นี้ตั้งแต่ต้นจนจบ เขียนแผนปรับปรุงจัดอันดับตาม3 leverage: อะไรที่เปราะบาง, อะไรที่สร้างเกิน, อะไรที่ขาดหายไป, อะไรที่ควร4 ถูกลบ อย่าเขียนโค้ด ส่งออกงานพร้อมเกณฑ์การยอมรับ" \5 > plans/$(date +%F)-improvement.md
การเล่นที่สอง การวิเคราะห์พฤติกรรม รายเดือน
ป้อนข้อมูลประวัติเซสชันและโปรเจกต์ของคุณเองจากทั้งสองฮาร์เนส (harnesses) แล้วขอให้มันแมปวิธีการที่คุณสร้างและจุดที่คุณติดขัด
นี่เป็นรายงานเดียวในระบบที่ตัวแบบคือคุณ มันมักจะเป็นรายงานที่เปลี่ยนแปลงมากที่สุด
การเล่นที่สาม การตรวจสอบสมองที่สอง รายไตรมาส ชี้ไปที่บันทึก เอกสาร และแบ็กล็อกของคุณ แล้วถามว่าความคิดของคุณเองบอกว่าควรสร้างอะไรต่อและควรลบอะไรออก ปฏิบัติต่อผลลัพธ์เป็นข้อเสนอ เหมือนกับปุ๋ยหมักทุกประการ
ขั้นบันไดด้านล่างปรับปรุงการดำเนินการ และการดำเนินการเป็นส่วนที่ถูกแล้วตอนนี้ ทิศทางเป็นปัจจัยที่หายาก และทิศทางคือสิ่งที่คุ้มค่าที่จะจ่ายให้กับโมเดลแนวหน้า ซื้อการตัดสินใจเป็นกรัม ซื้อการดำเนินการเป็นตัน และเก็บลายเซ็นสุดท้ายไว้
CHECK 11: รัน play ที่หนึ่งบน repo ของคุณเอง ถ้าแผนไม่ได้ระบุสิ่งที่คุณรู้อยู่แล้วว่าอ่อนแอ ไฟล์บริบทของคุณก็บางเกินไป ซึ่งเป็นปัญหา BUILD 1
BUILD 12: Ops
เอเจนต์ใช้โทเค็นมากกว่าแชทคอล 10 ถึง 100 เท่า และอินพุตคิดเป็นสัดส่วนประมาณ 100 ต่อ 1
เรียงคานสี่อันจาก BUILD 0 (แยก, แคช, แบทช์, บีบอัด) และทีมงานรายงานว่าลดลง 70 ถึง 90 เปอร์เซ็นต์จากเกณฑ์มาตรฐานที่ไม่ได้รับการปรับให้เหมาะสม
เพื่อความเข้าใจ: $13 ต่อนักพัฒนาต่อวันที่ใช้งาน คือค่าเฉลี่ยองค์กรของ Claude Code และ 90 เปอร์เซ็นต์ของผู้ใช้ยังคงอยู่ต่ำกว่า $30
วินัยหนึ่งบรรทัดแทนซับซิสเต็มใหม่: คลาสงานอาจทำการอัตโนมัติรวม (auto-merge) หลังจากที่รันผ่าน 20 ครั้งที่อัตราผ่าน 95 เปอร์เซ็นต์ และการลดลงต่ำกว่า 90 เปอร์เซ็นต์เพียงครั้งเดียวจะเพิกถอนสิทธิ์นั้นอย่างชัดเจน
1awk -F'\t' '$2=="fix-lint"{r++; if($3=="pass")p++}2 END{printf "%d runs, %.0f%%\n", r, (r?p/r*100:0)}' progress.log
ค่าใช้จ่ายรายสัปดาห์ จากต้นทุนต่อทิกที่ ralph.sh บันทึกไว้แล้ว:
1grep '^cost' progress.log | awk -F'\t' \2 -v d="$(date -d '7 days ago' +%F)" \3 '$2>=d{s+=$3} END{printf "week: $%.2f\n", s}'
คำนวณเมแทบอลิซึมก่อนที่คุณจะตั้ง cron ต้นทุนรายวันคือทิกคูณด้วยต้นทุนเฉลี่ยต่อทิก
ที่นั่งที่จัดการทิกไม่ทำงานที่เงียบจะเป็นตัวกำหนดบิล เซ็นต์บนระดับราคาถูก ดอลลาร์บนโมเดลแนวหน้าที่มีความพยายามสูง สำหรับคำตอบ "ไม่มีอะไรต้องทำ" ที่เหมือนกัน
ทำงานภายในขีดจำกัดของคุณ
โมเดลเหล่านี้ใช้โทเค็นอย่างรวดเร็ว และวิธีที่คุณรันมันจะกำหนดว่างานในวันหนึ่งจะสำเร็จมากแค่ไหนก่อนที่คุณจะชนกำแพง
อย่างแรก รู้ว่ากำแพงไหน
- บนคีย์ API กำแพงคือบิล progress.log คอยดูอยู่แล้ว
- บนที่นั่งแบบสมัครสมาชิก กำแพงคือหน้าต่างห้าชั่วโมงและหน้าต่างรายสัปดาห์ที่พิจารณาร่วมกัน ไม่มีที่ไหนปรากฏในล็อกด้านบน
ดูมิเตอร์ที่คุณใช้จริง: แผงการใช้งานในการตั้งค่า Codex, /usage ที่ฝั่ง Claude หรือมอนิเตอร์อย่าง ccusage หรือ codexbar ที่วางไว้ที่มุมหน้าจอ
ขีดจำกัดที่คุณไม่อ่านคือขีดจำกัดที่คุณค้นพบเมื่อคุณชนมัน โดยเหลือเวลาอีกสี่ชั่วโมงในนาฬิกาและไม่มีอะไรให้รัน
คานหกอัน ถูกที่สุดก่อน ส่วนใหญ่ทำงานที่ขั้นบันได 0 ถึง 2 ซึ่งเป็นที่ที่โทเค็นถูกเผา:
- ตัด CLAUDE.md และ AGENTS.md ให้เหลือเฉพาะสิ่งจำเป็น ทุกพรอมพ์จะอ่านมัน รวมถึงสกิลและเครื่องมือทุกอย่างที่คุณเปิดใช้งาน ปิดสิ่งที่คุณไม่ได้ใช้ MCP เซิร์ฟเวอร์ที่ไม่ได้ใช้คือภาษีในทุกข้อความ
- ลด effort เมื่อคุณไม่ต้องการส่วนบนสุดของบันได ค่าเริ่มต้น medium หรือ high บันทึก max ไว้สำหรับปัญหาที่ต้องการ และยืนยันว่าโหมดเร็วปิดอยู่ขณะที่คุณอยู่ในนั้น เพราะมันจะคูณไม่ว่าคุณจะเลือกอะไร
- ให้จุดหยุดที่ชัดเจนแก่โมเดล โมเดลเหล่านี้ทำงานนานโดยการออกแบบ ให้มันทำแผนให้เสร็จและตรวจสอบก่อนดำเนินการ ซึ่งเป็นงานจริงของโหมดแผน
- เก็บซับเอเจนต์ไว้ที่ effort ต่ำ พวกมันสืบทอดโมเดลแม่และหน้าปัดของมันด้วย และกลุ่มที่ max จะทำให้หน้าต่างว่างเปล่าในข้อความเดียว การแก้ไขราคาถูกคือกฎในรัฐธรรมนูญทั้งสอง: อย่าสร้างเว้นแต่จะถูกขอ
- เก็บโมเดลแพงไว้ห่างจากงานจำนวนมาก ไม่ว่า Fable จะนั่งอยู่ด้านบนเป็นตัวนำที่มีโทเค็นต่ำ หรือเป็นที่ปรึกษาเมื่อถูกเรียก มันจะจ่ายราคาของมันที่จุดตัดสินใจ ไม่เคยตอนพิมพ์บรรทัดที่พัน
- อ่านว่าหนึ่งข้อความมีค่าใช้จ่ายเท่าไหร่ แล้วปรับค่าห้าข้อด้านบนเทียบกับตัวเลขนั้น นี่คือคานเดียวที่บอกคุณว่าข้อใดในห้าข้ออื่นเป็นปัญหาของคุณ
คานเหล่านี้ร่วมกันกำหนดว่าคุณสามารถรันโมเดลที่ดีที่สุดได้นานแค่ไหนก่อนที่ขีดจำกัดจะหยุดคุณ
Cron เมื่อสัปดาห์ที่ 2 เริ่มต้น:
1# task loop: the daily tick, both caps set20 7 * * 1-5 cd /path/to/repo/loop && BUDGET_USD=5 ./ralph.sh >> ../progress.log 2>&134# system loop: nothing that passed once goes unwatched530 7 * * * cd /path/to/repo && python3 system/verify_goals.py goals/ >> progress.log 2>&167# system loop: failures become laws, once a week, proposals only80 9 * * 1 cd /path/to/repo && codex --profile deep exec \9 "$(cat ~/.codex/prompts/compost.md)" >> proposals/$(date +\%F).md 2>&1
รันบุ๊ก การเตือนแต่ละครั้ง และสิ่งที่ต้องทำเกี่ยวกับมัน:

ตารางเวลา 30 วัน ห้ามข้ามการเลื่อนระดับ แต่ละครั้งจะปลดล็อกครั้งต่อไป

Command Deck
ทุกลูปที่นี่สามารถเข้าถึงได้ด้วยการกดแป้นพิมพ์ คำสั่ง Slash อยู่ใน ~/.codex/prompts/ ฝั่ง Codex โดยชื่อไฟล์จะกลายเป็นคำสั่ง และใน .claude/skills/ ฝั่ง Claude CLI คลิปคือเวอร์ชันไร้หัวที่ cron และ CI เรียกใช้
คำสั่ง Slash ของ Codex

/plan-stop และ /effort จ่ายคืนเองเร็วที่สุด ทั้งสองใช้โทเค็นสองสามร้อยเพื่อหยุดคุณจากการใช้หลายแสน
โมเดลเหล่านี้ทำงานนาน ดังนั้นเช็คพอยต์ที่คุณต้องการจึงมาก่อนการใช้จ่าย /plan-stop ส่งคืนแผน, คำสั่ง done-when, รัศมีการระเบิด, ต้นทุน และคำถามหนึ่งข้อที่มันจะถามมนุษย์ จากนั้นมันจะหยุด
วางทั้งสองไฟล์ใน ~/.codex/prompts/ ซึ่งชื่อไฟล์จะกลายเป็นคำสั่ง
effort.md กลายเป็น /effort หน้าปัดการจัดเส้นทางที่ชัดเจน:
1# /effort - เลือกระดับความพยายามก่อนที่คุณจะใช้มัน23อย่าตอบงานนั้นก่อน จัดเส้นทางก่อน45ให้คะแนนมัน หนึ่งคะแนนต่อข้อ:6 - มี why, debug, race, deadlock, refactor, ความกังวลด้านความปลอดภัย,7 หรือ optimize8 - สัมผัสมากกว่าหนึ่งซับซิสเต็ม9 - ความพยายามก่อนหน้านี้ล้มเหลวแล้ว10 - การเปลี่ยนแปลงไม่สามารถย้อนกลับได้หรือลงจอดต่อหน้าผู้ใช้1112จากนั้นแมป:1314| คะแนน | Effort | ที่นั่ง |15|---|---|---|16| 0-1 | low | codex -e low หรือ profile fast (Luna) อย่าเอาที่นั่งแนวหน้าไปใส่ |17| 2 | medium | Terra ที่ medium คือที่นั่ง |18| 3+ | high | ค่าเริ่มต้นสำหรับงานจริง และเป็นจุดที่ sweet spot อยู่ |1920เฉพาะเมื่อ high ได้ถูกพยายามแล้วและล้มเหลว: แนะนำ max และบอกอย่างชัดเจน21ว่าการคิดเพิ่มเติมนั้นคาดว่าจะซื้ออะไร อัตราฐานที่คุณกำลังโต้แย้งคือ22ประมาณสองเท่าของต้นทุนสำหรับผลกำไรที่มักจะไม่คุ้มค่า2324สองข้อเตือนก่อนแนะนำการอัปเกรด:25 1. โมเดลที่ดีกว่าที่ effort ต่ำกว่ามักจะดีกว่าโมเดลที่อ่อนแอกว่าที่ max เปลี่ยน26 ที่นั่งก่อนเปลี่ยนหน้าปัด27 2. ถ้างานนี้สร้างซับเอเจนต์ ให้ระบุ effort ของพวกมันอย่างชัดเจน (low เว้นแต่28 จะพิสูจน์เป็นอย่างอื่น) ซับเอเจนต์สืบทอดจากแม่ และกองเรือที่ max จะทำให้29 หน้าต่างบริบทว่างเปล่าในหนึ่งข้อความ3031ส่งออกอย่างแม่นยำ:32 EFFORT: low | medium | high | max33 SEAT: <model>34 WHY: <หนึ่งบรรทัด ระบุคะแนนที่ได้>35 SUBAGENTS: <effort ที่จะกำหนด หรือ none>36จากนั้นหยุด มนุษย์จะรันงานที่ระดับที่คุณระบุ
คำตอบที่ใช้งานจริงมีลักษณะดังนี้ และมันใช้โทเค็นสองสามร้อยเพื่อหลีกเลี่ยงการใช้งานหลายแสน:
1EFFORT: high2SEAT: gpt-5.6-sol3WHY: มี "why" สัมผัส auth และเซสชัน ความพยายามก่อนหน้านี้ล้มเหลว4SUBAGENTS: low
plan-stop.md กลายเป็น /plan-stop เช็คพอยต์ก่อนการใช้จ่าย:
1# /plan-stop - วางแผนงาน จากนั้นหยุด23โมเดลเหล่านี้ทำงานนาน นั่นคือคุณสมบัติเมื่อแผนถูกต้อง และเป็นวิธีที่แพง4ที่จะผิดเมื่อมันไม่ถูกต้อง คำสั่งนี้ซื้อเช็คพอยต์ก่อนการใช้จ่าย56วางแผนงาน อย่าแก้ไขไฟล์แม้แต่ไฟล์เดียว อย่ารัน build อย่าเริ่ม78สร้าง:9 GOAL: <หนึ่งบรรทัด>10 ASSUMPTIONS: <สิ่งที่คุณคิดว่าเป็นจริง ถ้าสิ่งเหล่านี้ผิด แผนก็ผิด>11 STEPS: <เรียงลำดับ แต่ละขั้นตอนคืองานที่เทียบเท่ากับหนึ่ง commit>12 DONE_WHEN: <คำสั่งเชลล์ที่แน่นอนที่พิสูจน์ว่าแต่ละขั้นตอนลงจอด>13 BLAST RADIUS: <ไฟล์และระบบที่เกี่ยวข้อง ระบุ auth, การชำระเงิน, การย้ายฐาน,14 คอนฟิกโปรดักชันอย่างชัดเจน>15 COST: <โทเค็นหรือดอลลาร์โดยประมาณ และที่นั่งใดรันแต่ละขั้นตอน>16 UNKNOWNS: <สิ่งที่คุณจะถามมนุษย์ถ้าคุณถามได้เพียงคำถามเดียว>1718จากนั้นหยุดและรอ1920กฎขณะวางแผน:21 - ความคลุมเครือไปอยู่ใน UNKNOWNS อย่าแก้ไขโดยการเดาและดำเนินการต่อ การ22 เดาที่รอดชีวิตไปสู่การดำเนินการมีค่าใช้จ่ายมากกว่าคำถามถึงร้อยเท่า23 - ถ้าแผนต้องการข้อมูลรับรอง จุดสิ้นสุด หรือแบบแผนที่ไม่ได้เขียนไว้24 ใน repo นี้ ให้หยุดและบอก อย่าสร้างขึ้นมาเอง25 - ถ้า DONE_WHEN ใดไม่ใช่คำสั่งเชลล์ ให้เขียนขั้นตอนนั้นใหม่จนกว่าจะเป็น ถ้า26 เชลล์ไม่สามารถตรวจสอบได้ ผู้ตรวจสอบก็ไม่สามารถตรวจสอบได้เช่นกัน27 - ถ้ารัศมีการระเบิดสัมผัส never-list ใน AGENTS.md ให้บอกที่ด้านบนและ28 แนะนำให้จัดคิวให้มนุษย์2930คุณได้รับค่าจ้างสำหรับแผนที่นี่ ไม่ใช่ diff แผนที่สั้นและซื่อสัตย์พร้อมสิ่งที่ไม่รู้จริง31ดีกว่าแผนที่มั่นใจแต่สันนิษฐานสิ่งที่ผิดอย่างเงียบๆ
fable-advice.md และ review-hostile.md กลายเป็น /fable-advice และ /review-hostile ทั้งสองเป็นมิเรอร์ฝั่ง Codex ของไฟล์ที่คุณเขียนไปแล้ว: บรีฟที่ปรึกษาจาก BUILD 5 และสัญญาผู้ตรวจสอบที่ไม่เป็นมิตรจาก BUILD 6 กฎเดียวกัน ข้อจำกัดเดียวกัน ชี้ไปอีกทางข้ามเส้นของผู้ขาย
compost.md กลายเป็น /compost ผู้สร้างสถาบันรายสัปดาห์ของขั้นบันไดที่ 4:
1# /compost - เปลี่ยนความล้มเหลวของสัปดาห์นี้เป็นกฎของสัปดาห์หน้า23อ่านของเสียของสัปดาห์นี้ทั้งหมด และไม่มีอะไรอื่น:4 - บรรทัด BLOCKED ใน progress.log (งานที่เอาชนะการปรึกษาที่ปรึกษาสามครั้ง)5 - รายการ GATE: REFUSED (รันที่พิสูจน์ไม่ได้ว่าทำเสร็จ)6 - VIOLATED เป้าหมายประจำ (บางอย่างที่เสร็จแล้วหยุดเป็นจริง)7 - การออกจาก circuit-breaker และ budget (รหัส 2 และ 3)8 - PRs ที่เปิดโดยลูปและปิดโดยไม่ได้รวม (มนุษย์ไม่เห็นด้วยอย่างเงียบๆ)9 - คลาสงานใดๆ ที่อัตราผ่านต่ำกว่า 90 เปอร์เซ็นต์1011แยกข้อเสนอออกมา มากที่สุดสามข้อ สามคือขีดจำกัดที่เข้มงวด ไม่ใช่เป้าหมาย สัปดาห์ที่สะอาดคือ12การค้นพบที่ถูกต้อง และการบอกเช่นนั้นมีประโยชน์มากกว่าการสร้างงาน1314แต่ละข้อเสนอเป็นหนึ่งในสิ่งต่อไปนี้:15 1. กฎหมายใหม่สำหรับ CLAUDE.md หรือ AGENTS.md อ้างอิงเหตุการณ์ที่มันจะ16 ป้องกันได้ กฎหมายที่มีเหตุการณ์เดียวอยู่เบื้องหลังคือความบังเอิญ รอเหตุการณ์ที่สอง17 2. การแก้ไขสกิล เมื่อความล้มเหลวเดียวกันซ้ำในที่เดียวกัน ระบุสกิล18 รูปแบบ และการแก้ไขที่เล็กที่สุดที่ทำลายมัน19 3. เป้าหมายประจำที่คุณขาดหายไป เมื่อบางสิ่งเน่าเปื่อยอย่างเงียบๆ เขียน20 ภาคแสดงเป็นคำสั่งเชลล์ หรืออย่าเสนอ2122ส่งออก:23 WEEK: <วันที่>24 EXHAUST: <จำนวน: blocked, refused, violated, reverted>25 PROPOSAL n: <กฎหมาย | การแก้ไขสกิล | เป้าหมายประจำ>26 EVIDENCE: <เหตุการณ์ อ้างอิง>27 CHANGE: <ข้อความที่แน่นอนหรือภาคแสดงที่จะเพิ่ม>28 COST OF NOT DOING IT: <หนึ่งบรรทัด>29 VERDICT: <สิ่งที่คุณจะทำก่อนถ้าคุณทำได้เพียงอย่างเดียว>3031กฎที่เข้มงวด:32 - เสนอเท่านั้น อย่าแก้ไข CLAUDE.md, AGENTS.md, สกิลใดๆ หรือไฟล์เป้าหมายใดๆ33 มนุษย์เซ็น มิฉะนั้นมันจะไม่เกิดขึ้น34 - อย่าเสนอกฎหมายที่ทำให้เกตอ่อนลง, เพิ่มงบประมาณ หรือผ่อนคลาย never-list35 สิ่งเหล่านั้นคือระบบที่ขอให้ถูกปล่อยให้ล้มเหลวอย่างสบายขึ้น36 - ของเสียว่างเปล่า: พูด "clean week" และหยุด อย่าไปหางานเพื่อพิสูจน์การรัน
CLI คลิป
เก็บสิ่งเหล่านี้ในไฟล์ขูด พวกมันคือทั้งระบบที่เข้าถึงได้จากเทอร์มินัล:
1# the daily tick, capped in both dimensions2BUDGET_USD=5 MAX_ITERS=20 ./loop/ralph.sh34# plan first, spend later (the single highest-leverage habit here)5codex -e high exec "$(cat ~/.codex/prompts/plan-stop.md)67TASK: migrate the session store off the legacy adapter"89# cross-vendor review of the last commit, in Sol's native harness10codex --profile deep exec "$(cat ~/.codex/prompts/review-hostile.md)"1112# the mirrored lane: Codex stuck, Claude advises13claude --model claude-fable-5 --effort high -p "$(cat ~/.codex/prompts/fable-advice.md)"1415# the goal loop: Fable plans, the fleet runs, Fable scores16CYCLES=3 FLEET=4 WORKER_EFFORT=low ./swarm/swarm.sh "split the auth migration"1718# the system loop: nothing that passed once goes unwatched19python3 system/verify_goals.py goals/ # exit 1 names what rotted20python3 gate/eval_gate.py eval/cases.jsonl # exit 1 blocks the routing change2122# rung 3, the factory: rows decide, not transcripts23./factory/factory.sh "build the kanban and notes app per PRD.md"24python3 factory/factory_gate.py gate factory.db2526# the weekly institution-building run27codex --profile deep exec "$(cat ~/.codex/prompts/compost.md)"2829# the one number that says whether any of this worked30grep '^route' progress.log | awk -F'\t' \31 '{n++; if($3!="frontier") c++} END{printf "cheap share: %.0f%%\n", c/n*100}'
นโยบายเต็มอยู่ใน ROUTING.md จาก BUILD 4 ซึ่งทั้งสองฮาร์เนสอ่าน
กฎ (พิมพ์สิ่งนี้)
- กฎหมาย ไม่ใช่เคล็ดลับ: ตัวเลข, never-list, หรือคำสั่งที่ตรวจสอบ
- โมเดลถูกเช่า ลูปเป็นของคุณ คุณอาศัยอยู่บนขั้นบันไดที่ 5
- ลูปที่ไม่มีคำสั่งยกเลิกคือบิล สองขีดจำกัดในทุกๆ ลูป: การวนซ้ำและดอลลาร์
- หลักฐานไหลขึ้น การควบคุมไหลลง ไม่มีขั้นบันไดใดปิดบนรายงานจากด้านล่าง
- ลูปสามารถหยุดและยังผิดได้ ตรวจสอบ commit สุดท้ายก่อนที่มันจะรวม
- จัดเส้นทางที่ขอบเขต Effort ก่อนโมเดล แคชโหวตไม่ให้เปลี่ยน
- ค่าเริ่มต้นคือ high Max คือความลึก Ultra คือความกว้าง โหมดเร็วคือภาษี 2.5 เท่า และซับเอเจนต์สืบทอดที่นั่งและหน้าปัดของแม่
- เราเตอร์มีความผิดจนกว่ามันจะชนะโมเดลเดี่ยวที่ดีที่สุดในการประเมินของคุณ
- เงินออมคือการแยกทราฟฟิก ดูส่วนแบ่งราคาถูก ไม่ใช่เรทการ์ด
- การดำเนินการคือจำนวนมาก คำแนะนำคือกรัม จำกัดการปรึกษาไว้ที่สามครั้ง
- ไม่มีอะไรตรวจการบ้านของตัวเอง บริบทใหม่ สายเลือดอื่น ฮาร์เนสดั้งเดิม
- เธรดคือร่องรอย แถวคือหลักฐาน เกตอ่านแถว
- อย่าแก้ไขการทดสอบเพื่อให้ผ่าน อย่ารวมผ่านเกตที่ BLOCKED
- เป้าหมายที่คุณตรวจสอบครั้งเดียวคือสมมติฐานที่มีตราประทับเวลา
- การเลื่อนระดับทีละครั้ง ทุกเดือน ลบบางสิ่ง
ปิดท้าย
สามสิบวันนับจากนี้ ถ้าคุณทำการตรวจสอบ:
- ลูปจัดส่งงานที่น่าเบื่อโดยไม่มีคนดูแล หลังเกตที่กำหนดได้
- ไดรเวอร์ราคาถูกโทรหาผู้เชี่ยวชาญแนวหน้าเฉพาะเมื่อมันติดขัด
- ทุก diff ที่มีความหมายถูกตัดสินโดยโมเดลที่ไม่ได้เขียนมัน
- ตัวเลขหนึ่งใน progress.log บอกคุณว่าเศรษฐศาสตร์ทบต้นหรือไม่
โมเดลไม่เคยเป็นส่วนที่ยาก ระบบที่ซื่อสัตย์เมื่อคุณหยุดดูคือส่วนที่ยาก และนั่นคือเหตุผลที่ขั้นบันได 5 ยังมีชื่อของคุณ
เริ่มคืนนี้ด้วยยี่สิบนาทีที่พิสูจน์มัน BUILD 2's verify.sh. หนึ่งทิกที่รันด้วยมือของ BUILD 3 หนึ่งรีวิวจากสายเลือดอื่นบน commit สุดท้ายของคุณ
ครั้งแรกที่ผู้ตรวจสอบที่ไม่แชร์บริบทกับผู้เขียนพบข้อบกพร่องจริงในงานที่คุณแน่ใจว่าทำเสร็จแล้ว คุณจะไม่ต้องเชื่อมั่นในส่วนที่เหลือ
สร้างเกตคืนนี้ ตอบกลับด้วยสิ่งที่มันจับได้ในการรันครั้งแรก
ข้อจำกัดความรับผิดชอบ
เขียนจากบันทึกการวิจัยของผู้เขียนและแหล่งที่มาตรวจสอบแล้ว โดยได้รับความช่วยเหลือในการร่างและตรวจสอบข้อเท็จจริงจาก Claude ราคาและพฤติกรรมของโมเดลทั้งหมดได้รับการตรวจสอบกับราคาและหน้าเอกสารอย่างเป็นทางการในสัปดาห์ที่เผยแพร่; มันเปลี่ยนแปลง ดังนั้นตรวจสอบก่อนการจัดทำงบประมาณ
บทความนี้เขียนโดยบันทึกของผู้เขียนตามที่กล่าวในย่อหน้าข้างต้นและแก้ไขด้วย Claude Opus 4.7
ถ้าคุณต้องการเพิ่มการแก้ไขอื่นใด โปรดเพิ่มในความคิดเห็น
![เทคนิคการใช้ AI สุดอัจฉริยะของ Yusuke Narita [ฉบับเก็บตก]](/cdn-cgi/image/width=1920,quality=90,format=auto,metadata=none/https%3A%2F%2Fcms-assets.youmind.com%2Fmedia%2F1784137658627_u4bwry_HNMS89bbsAAUPJI.jpg)




