เด็กอายุ 20 ปีที่มีแอป 45 ตัว และหนึ่งในนั้นทำเงิน 30,000 ดอลลาร์/เดือน เด็กมหาลัยที่ทำเงินหกหลักภายใน 70 วัน ฟีดคุณเต็มไปด้วยเรื่องราวเหล่านี้ — ฟีดฉันก็เหมือนกัน
นี่คือสิ่งที่โพสต์เหล่านั้นไม่เคยบอกคุณ: ระบบน่าเบื่อที่พาแอปจาก "ไอเดีย" ไปสู่ "อยู่บน App Store" ซ้ำแล้วซ้ำเล่า โดยที่คุณไม่ต้องคอยดูแลทุกขั้นตอน
ฉันสร้างระบบนั้นขึ้นในปีนี้ AI agents เป็นคนขับ — Claude Code และ Codex ทำงานเป็นกะ มีแอป iOS 10 ตัวและเครื่องมือโอเพนซอร์สอีกโหลที่ผ่านระบบนี้ไป: การส่ง, การถูกปฏิเสธ, การส่งใหม่, การปล่อยโปรดักชัน, แคมเปญโฆษณา, และงานศพของแอปที่ไม่สมควรอยู่รอด
วันนี้มันเปิดเป็นโอเพนซอร์ส ฟรี, MIT, ไม่มีคอร์ส, ไม่มีนิวส์เลตเตอร์, ไม่มี "DM มาขอสูตร":
→ github.com/davidmosiah/agents-that-ship
โค้ดไม่เคยเป็นส่วนที่ยาก
AI เขียนโค้ดได้แล้ว ส่วนนั้นแก้แล้ว สิ่งที่ยังฆ่าแอปในปี 2026:
- เริ่มห้าอย่างแล้วไม่จบสักอย่าง
- agent ลองแก้ทางเดิมที่ตายแล้วซ้ำสิบสองครั้งตอนตีสอง
- "เสร็จแล้ว!" กับ UI ที่ไม่มีใครเคยเปิดในโหมดมืดบน iPad
- งานหนึ่งอาทิตย์นั่งไม่ได้ push อยู่ใน laptop
- "ปล่อยแล้ว!" ทั้งที่ความจริงคือ "นั่งอยู่ใน local branch"
- cron job ของโปรเจกต์ที่ตายแล้วยังโพสต์ (และใช้เงิน) ต่อไปอีกหลายวันหลังจากงานศพ
- ไม่มีสักอย่างที่เป็นปัญหาเรื่องการเขียนโค้ด มันเป็นปัญหาเรื่องการดำเนินงาน และไม่มีไฟล์ CLAUDE.md หรือ AGENTS.md ที่ฉันเคยเห็นตัวไหนครอบคลุมเรื่องนี้ — พวกมันอธิบาย codebase และหยุดตรงจุดที่งานที่สร้างเงินเริ่มต้นขึ้นทุกครั้ง
- ฉันเลยเขียนอีกครึ่งหนึ่ง
- ฉันตรวจสอบ prompt 7,500 ตัวของตัวเองเพื่อสร้างสิ่งนี้
- ถึงจุดหนึ่งฉันไล่ดูทุก prompt ที่เคยส่งให้ agent สองตัวของฉัน ประมาณ 7,500 ตัว ค้นพบที่โหดร้าย: ส่วนใหญ่ฉันกำลังสอนบทเรียนเดิมห้าบทซ้ำแล้วซ้ำเล่า push งานของคุณ เลิก trying fix นั้นซ้ำ อย่าให้ฉันห้าตัวเลือก ตรวจ iPad ด้วย คุณรันจริงหรือเปล่า
- ดังนั้นฉันเปลี่ยนทุกคำแก้ไขที่ซ้ำๆ เป็นกฎที่เขียนไว้ หลังจากนั้น prompt ที่พบบ่อยที่สุดของฉันกลายเป็น "ได้เลย"
- นั่นคือเคล็ดลับทั้งหมด agent ไม่ต้องการอิสระมากขึ้น พวกเขาต้องการการตัดสินใจที่ถูกทำไว้ล่วงหน้าอย่างดี จนหน้าที่คุณเหลือแค่เพียงพูดว่าใช่
- 9 playbooks
- แต่ละอันเขียนถึง agent — บุรุษที่สอง พร้อมประตูที่มันไม่สามารถพูดเลี่ยงได้:
- 01 kickoff → อ่านสถานะปัจจุบัน เสนอ ONE อย่าง ไม่มีเมนู
- 02 spec → เฟสที่มีประตูที่ปฏิบัติการได้ "สวยงาม" ไม่ใช่ประตู
- 03 build → diff น้อยที่สุด รันของจริง push ก่อนฉลอง
- 04 unstick → แก้ล้มเหลวสองครั้ง = หยุดแก้ไข เปลี่ยนกลยุทธ์
- 05 polish → เดินทุกหน้าจอ สว่าง+มืด, โทรศัพท์+แท็บเล็ต, ทุกภาษา มี screenshot ไม่งั้นไม่เกิดขึ้น
- 06 fresh eyes → โมเดลอื่น推导ข้ออ้างทุกอย่างจาก repo อีกครั้ง self-review คือการพิสูจน์อักษรข้อแก้ตัวของตัวเอง
- 07 ship → committed ≠ pushed ≠ submitted ≠ approved ≠ live ตั้งชื่อสถานะจริง
- 08 metrics → ทุกตัวเลขพร้อมการเปลี่ยนแปลง ทุกการทดลองเกิดมาพร้อมวันตาย
- 09 sunset → ฝังโปรเจกต์ที่ตายแล้วอย่างถูกต้อง: กวาด EVERY scheduler, หยุดการใช้เงิน, เขียนคำตัดสิน
- กฎที่ประหยัดเวลา
- สองครั้ง ผิดแบบเดียวกันสองครั้งหมายถึงโมเดลของ agent เกี่ยวกับปัญหานั้นผิด หยุดแก้ไข ทำซ้ำจากต้น เขียนสมมติฐานที่แตกต่างจริงๆ วัดผล แล้วแก้ไข เปลี่ยนชื่อตัวแปรแล้วลองใหม่คือ strike สอง ไม่ใช่ไอเดียสอง กฎข้อนี้ประหยัด tokens มากกว่าเทคนิค prompt ใดๆ ที่ฉันรู้
- ผู้เขียนไม่ใช่ผู้ตรวจสอบ ก่อน "เสร็จ" ในอะไรก็ตามที่เสี่ยง agent ตัวที่สอง — โมเดลคนละตัว, context ใหม่ —推导ข้ออ้างจาก repo จริงอีกครั้ง โมเดลต่างกันสองตัวตรวจสอบข้ามฝั่งกันจับสิ่งที่ self-review ไม่สามารถจับได้ในเชิงโครงสร้าง
- งานที่ไม่ได้ push ไม่มีอยู่จริง "คุณ push หรือยัง?" เคยเป็นคำถามที่ฉันถามซ้ำที่สุด ตอนนี้ commit+push ปิดทุก block โดยไม่ต้องถาม ประโยคเดียวฆ่าความกังวลทั้งหมวดหมู่
- ฝังอย่างถูกต้อง ครั้งหนึ่งฉันฆ่าโปรเจกต์หนึ่งแล้วผีของมันยังโพสต์ digest รายวันต่ออีกสองวัน — timer ตัวหนึ่งที่ถูกลืมรอดจากงานศพมา sunset playbook กวาดทุก scheduler บนทุกเครื่อง พร้อม output เป็นหลักฐาน
- สอง agents, หนึ่งเครื่อง
- ตัวคูณ: agents ของฉันผลัดกัน ใครมี quota ก็ implement; อีกคน validate การส่งต่อคือ specs พร้อมประตู ไม่ใช่ความรู้สึก และ lock script ประมาณ 150 บรรทัดป้องกันไม่ให้พวกมันชนกันใน repo เดียว — exit code 3 หมายถึง "agent อีกตัวอยู่ตรงนี้ เลือก front อื่น"
- การรันสองโมเดลที่แตกต่างกันเป็น pipeline คือการอัปเกรดคุณภาพที่ถูกที่สุดใน AI ตอนนี้ repo มีสัญญาเต็มรูปแบบ
- ทำไมถึงฟรี
- เพราะมันคือ markdown เก้าไฟล์ ไม่มี SDK, ไม่มี framework, ไม่มีอะไรที่เน่าเมื่อโมเดลตัวถัดไปปล่อย มันใช้ได้เป็น Claude Code skills, ส่วน AGENTS.md, หรือกฎ Cursor — adapters รวมอยู่ด้วย
- และอีกหนึ่งกฎในนั้น กฎที่ฉันจะปกป้องเหนือกฎอื่นๆ: ไม่มีอะไรออกสู่สาธารณะในชื่อของคุณโดยไม่ได้รับ yes ใหม่ ไม่มี repos, ไม่มีโพสต์, ไม่มี packages ความกระตือรือร้นของ agent ไม่ควรมีวันใช้ชื่อเสียงของคุณ
- (บทความนี้ร่างโดย agent มนุษย์เป็นคนอนุมัติ นั่นคือระบบที่ทำงาน)
- ขโมยไปเลย:
- → github.com/davidmosiah/agents-that-ship
- fork มัน, ทำลายมัน, ไม่เห็นด้วยครึ่งหนึ่งของมัน กฎเดียวที่ฉันจะเก็บไว้ไม่ว่ายังไง: สัญญามีอยู่เป็นลายลักษณ์อักษร ทุกกฎที่อยู่ในหัวคุณเท่านั้นคือกฎที่ agent ของคุณจะแหกอีกครั้งพรุ่งนี้





