Claude Code สามารถเขียน harness ของตัวเองได้ทันที โดยปรับแต่งให้เหมาะกับงานที่ทำอยู่ ความสามารถนี้เรียกว่า dynamic workflow: มันเขียน orchestration scripts แบบไดนามิก รัน subagents จำนวนหลายสิบถึงหลายร้อยตัวแบบขนานในเซสชันเดียว และตรวจสอบตัวเองก่อนที่จะแสดงผลลัพธ์ใดๆ ให้คุณ
Harness เริ่มต้นของ Claude Code นั้นยอดเยี่ยมสำหรับการเขียนโค้ด แต่งานที่ต้องใช้ความเชี่ยวชาญพิเศษ เช่น การวิจัย การวิเคราะห์ความปลอดภัย ทีม agent และการตรวจสอบโค้ด ก่อนหน้านี้จำเป็นต้องสร้าง harness ที่กำหนดเองบน Claude Code เพื่อให้ได้ประสิทธิภาพสูงสุด
Workflows ช่วยให้คุณสร้าง harness ที่กำหนดเองเหล่านี้ได้แบบไดนามิก ซึ่งสามารถนำกลับมาใช้ใหม่ แชร์ได้ และช่วยให้ Claude แก้ปัญหาได้อย่างเป็นธรรมชาติมากกว่าแนวทางเริ่มต้น
ในบทความนี้ ผมจะแบ่งปันประสบการณ์และข้อมูลเชิงลึกเบื้องต้นเกี่ยวกับ workflows โปรดทราบว่า workflows ใช้โทเค็นมากกว่าและเหมาะสำหรับงานที่ซับซ้อนและมีมูลค่าสูง
0. บทนำ
ส่วนบทนำมีบันทึกจากพี่ฝึกหัด
เป็นบทความที่ยอดเยี่ยม workflows อาจเป็นสิ่งประดิษฐ์ที่ดีที่สุดนับตั้งแต่ skills พวกมันเป็นเวอร์ชันที่ได้รับการปรับปรุงของ goals และคุ้มค่าที่จะเรียนรู้ บทความนี้อธิบายสถานการณ์การใช้งานต่างๆ ของ workflows ในภาษาที่เข้าใจง่าย
ผู้เขียนต้นฉบับคือ Thariq @trq212 พนักงานหลักของ Anthropic ที่มักแชร์เคล็ดลับเกี่ยวกับ Claude Code
เนื้อหาค่อนข้างยาว สามารถข้ามไปยังส่วนที่สนใจได้เลย หากต้องการสัมผัสโดยตรงว่ามันทำอะไรได้บ้าง ดูส่วนที่ 1;
หากต้องการเข้าใจว่าทำไมถึงจำเป็น ดูส่วนที่ 3 ถึง 5
; หากต้องการคัดลอกแนวทางการนำไปใช้โดยตรง ข้ามไปที่ส่วนที่ 6
1. ตัวอย่าง Prompt
ตัวอย่างเหล่านี้แสดงให้เห็นว่า workflows สามารถทำอะไรได้บ้าง คุณสามารถขอให้ Claude ทำสิ่งที่คล้ายกันได้โดยตรง:
- ให้ทฤษฎีที่แข่งขันกันหลายทฤษฎีพยายามจำลองการทดสอบที่ไม่เสถียร
- ขุดค้นการแก้ไขที่เกิดขึ้นซ้ำๆ จากเซสชันที่ผ่านมา
- ค้นหาสาเหตุที่แท้จริงในช่อง incident ของ Slack
- รับมุมมองเชิงวิพากษ์ที่หลากหลายสำหรับแผนธุรกิจ
- จัดอันดับเรซูเม่และตรวจสอบความถูกต้อง
- ใช้การคัดเลือกแบบทัวร์นาเมนต์เพื่อตั้งชื่อเครื่องมือ CLI
- ทำการ refactor ทั่วทั้ง codebase
- ตรวจสอบข้อกล่าวอ้างทางเทคนิคในร่างบล็อกกับโค้ดจริง
2. Workflows ทำงานอย่างไร
Workflows ดำเนินการไฟล์ JavaScript ที่มีฟังก์ชันพิเศษสำหรับสร้างและประสานงาน subagents สามารถใช้เครื่องมือ JavaScript มาตรฐาน เช่น JSON, Math และ Array เพื่อประมวลผลข้อมูล Workflows สามารถเลือกได้ว่า subagents จะใช้โมเดลใด และตัดสินใจว่าจะให้ทำงานใน worktree ที่แยกออกมาหรือไม่ หากถูกขัดจังหวะ workflow สามารถดำเนินการต่อจากจุดที่ค้างไว้ได้

3. ทำไมต้องใช้ Workflows
Harness เริ่มต้นจะดำเนินการวางแผนและดำเนินการภายในหน้าต่างบริบทเดียว ซึ่งทำงานได้ดีสำหรับงานเขียนโค้ด แต่ล้มเหลวสำหรับงานที่ใช้เวลานาน ขนานขนาดใหญ่ มีโครงสร้างสูง หรือเป็นปฏิปักษ์ โดยเฉพาะอย่างยิ่ง มันแสดงรูปแบบความล้มเหลวสามประการ:
- ความเกียจคร้านของ Agent: เมื่อเผชิญกับงานที่ซับซ้อนหลายส่วน Claude จะหยุดก่อนเวลาอันควร โดยทำงานเพียงบางส่วนเท่านั้น (เช่น ประมวลผลการตรวจสอบความปลอดภัย 35 จาก 50 รายการ)
- อคติชอบตนเอง: เมื่อถูกขอให้ตรวจสอบหรือตัดสินผลลัพธ์ตามเกณฑ์ Claude มักจะชอบข้อสรุปของตัวเอง
- การเบี่ยงเบนเป้าหมาย: ความเที่ยงตรงจะลดลงเมื่อมีการโต้ตอบหลายครั้ง แต่ละบทสรุปจะละเว้นรายละเอียด รวมถึงข้อกำหนดและข้อจำกัดของกรณีขอบ
Workflows แก้ปัญหานี้โดยจัดระเบียบ subagents อิสระ ซึ่งแต่ละตัวมีหน้าต่างบริบท เป้าหมายที่โฟกัส และการแยกตัวของตัวเอง
4. Dynamic vs. Static Workflows
ก่อนหน้านี้ static workflows ที่สร้างด้วย Claude Agent SDK หรือ claude -p จะประสานงาน Claude Code หลายอินสแตนซ์ในลักษณะทั่วไป ซึ่งกำหนดให้คุณต้องครอบคลุมทุกกรณีขอบ ด้วย Claude Opus 4.8 และ dynamic workflows ตอนนี้ Claude สามารถเขียน harness ที่ปรับแต่งให้เหมาะกับสถานการณ์เฉพาะได้แล้ว

5. รูปแบบเชิงปฏิบัติสำหรับการใช้ Workflows
คุณสามารถเรียกใช้ workflow ได้โดยการขอโดยตรง หรือใช้ ultracode ใน prompt ของคุณเพื่อให้แน่ใจว่า Claude Code จะสร้าง workflow ขึ้นมา รูปแบบทั่วไปได้แก่:

- จำแนกและดำเนินการ: Agent จำแนกประเภทจะกำหนดประเภทของงานและส่งต่อไปยัง agent หรือพฤติกรรมต่างๆ นอกจากนี้ยังสามารถจำแนกประเภทเอาต์พุตเมื่อเสร็จสิ้นได้อีกด้วย
- กระจายและสังเคราะห์: แบ่งงานออกเป็นขั้นตอนย่อยๆ หลายขั้นตอน รัน agent สำหรับแต่ละขั้นตอน และสังเคราะห์ผลลัพธ์ มีประโยชน์เมื่อหลายขั้นตอนได้ประโยชน์จากหน้าต่างบริบทที่สะอาดและไม่รบกวนกัน การสังเคราะห์ทำหน้าที่เป็นตัวกั้น รอให้ agent ทั้งหมดเสร็จสิ้นก่อนที่จะรวมเอาต์พุตที่มีโครงสร้าง
- การตรวจสอบแบบเป็นปฏิปักษ์: สำหรับทุก agent ที่สร้างขึ้น ให้รัน agent ฝ่ายตรงข้ามแยกต่างหากเพื่อตรวจสอบเอาต์พุตตามเกณฑ์หรือหลักเกณฑ์
- สร้างและกรอง: สร้างแนวคิดหลายๆ แนวคิดในหัวข้อหนึ่ง กรองตามเกณฑ์หรือการตรวจสอบ และเก็บเฉพาะผลลัพธ์ที่มีคุณภาพสูงสุดและผ่านการตรวจสอบแล้วหลังจากกำจัดรายการที่ซ้ำกัน
- ทัวร์นาเมนต์: ให้ N agent แข่งขันกันในงานเดียวกันโดยใช้วิธีการที่แตกต่างกัน Agent ตัดสินแบบคู่จะตัดสินผู้ชนะจนกว่าจะเหลือเพียงตัวเดียว
- วนซ้ำจนเสร็จ: สำหรับงานที่มีปริมาณงานไม่ทราบแน่ชัด ให้สร้าง agent อย่างต่อเนื่องจนกว่าจะตรงตามเงื่อนไขการหยุด (เช่น ไม่มีการค้นพบใหม่ ไม่มีข้อผิดพลาดในบันทึกอีกต่อไป)
6. สถานการณ์การใช้งาน
- การย้ายและ Refactor: Bun ใช้ workflows เมื่อเขียน Zig ใหม่เป็น Rust โดยแบ่งงานออกเป็นขั้นตอนแบบอนุกรม (ตำแหน่งที่เรียกใช้ การทดสอบที่ล้มเหลว โมดูล) สร้าง subagents สำหรับการแก้ไขแต่ละรายการใน worktree ดำเนินการตรวจสอบแบบเป็นปฏิปักษ์ และรวมเข้าด้วยกัน หลีกเลี่ยงคำสั่งที่ใช้ทรัพยากรมากเพื่อเพิ่มความขนานสูงสุด
- การวิจัยเชิงลึก: ทักษะ
/deep-researchของ Claude Code ใช้ workflows เพื่อกระจายการค้นหาเว็บ ขูดแหล่งที่มา ตรวจสอบข้อกล่าวอ้างแบบเป็นปฏิปักษ์ และสังเคราะห์รายงานที่อ้างอิง สิ่งนี้ใช้ได้กับการวิจัยที่ไม่ใช่บนเว็บด้วย เช่น การรวบรวมรายงานสถานะ Slack หรือการสำรวจคุณสมบัติของ codebase - การตรวจสอบเชิงลึก: สำหรับรายงานที่ต้องการการอ้างอิงสำหรับทุกข้อเท็จจริง workflow สามารถระบุข้อกล่าวอ้าง ให้ subagents ตรวจสอบแต่ละข้อ และใช้ agent ผู้ตรวจสอบเพื่อให้แน่ใจถึงคุณภาพของแหล่งที่มา

- การจัดเรียง: สำหรับรายการขนาดใหญ่ที่ต้องการการวัดเชิงคุณภาพ (เช่น การจัดอันดับตั๋วตามความรุนแรง) การจัดอันดับ 1,000+ บรรทัดใน prompt เดียวจะลดคุณภาพและทำให้บริบทขยายใหญ่เกินไป ให้ใช้ทัวร์นาเมนต์ ไพพ์ไลน์แบบคู่ หรือการจัดอันดับแบบขนานตามกลุ่ม แต่ละการเปรียบเทียบคือ agent ของตัวเอง

- หน่วยความจำและการปฏิบัติตามกฎ: เมื่อ Claude พลาดกฎแม้จะอยู่ใน
CLAUDE.mdให้สร้าง workflow พร้อมตัวตรวจสอบกฎสำหรับแต่ละกฎ ใช้บุคลิกของผู้ขี้สงสัยเพื่อตรวจสอบกฎเพื่อป้องกันผลบวกลวง ในทางกลับกัน ให้ขุดค้นการแก้ไขที่เกิดขึ้นซ้ำๆ จากเซสชันล่าสุด จัดกลุ่มด้วย agent แบบขนาน และตรวจสอบแบบเป็นปฏิปักษ์ว่ากฎจะป้องกันข้อผิดพลาดนั้นได้หรือไม่ ก่อนที่จะปรับปรุงCLAUDE.md

- การคัดแยกขนาดใหญ่: workflow การคัดแยกจะจำแนกรายการ ลบรายการที่ซ้ำกันกับบันทึกที่มีอยู่ และดำเนินการ รูปแบบ 'กักกัน' ป้องกันไม่ให้ agent ที่อ่านเนื้อหาที่ไม่น่าเชื่อถือดำเนินการที่มีสิทธิ์สูง โดยมอบหมายงานเหล่านั้นให้กับ agent ที่ประมวลผล ใช้กับ
/loopสำหรับการทำงานต่อเนื่อง

- การสำรวจและรสนิยม: มีประโยชน์สำหรับการตัดสินใจด้านการออกแบบหรือการตั้งชื่อที่อาศัย 'รสนิยม' และได้ประโยชน์จากเกณฑ์ Claude สำรวจวิธีแก้ปัญหาในขณะที่ agent ตรวจสอบจะตัดสินวิธีแก้ปัญหาเหล่านั้นตามเกณฑ์ วิธีแก้ปัญหาสามารถจัดอันดับหรือเลือกผ่านทัวร์นาเมนต์ได้
- การประเมิน: รันการประเมินแบบเบาโดยการสร้าง agent อิสระใน worktree และ agent เปรียบเทียบเพื่อให้คะแนนเอาต์พุตตามเกณฑ์
- โมเดลและการกำหนดเส้นทางอัจฉริยะ: สร้าง agent จำแนกประเภทที่ปรับแต่งตามงานเพื่อตัดสินใจว่าจะใช้โมเดลใด ตัวอย่างเช่น การอธิบายโมดูล auth ขึ้นอยู่กับจำนวนไฟล์ classifier จะค้นคว้าสิ่งนี้ก่อน จากนั้นจึงกำหนดเส้นทางไปยัง Sonnet หรือ Opus ตามความซับซ้อน
7. เมื่อใดที่ไม่ควรใช้ Workflows
Workflows เป็นของใหม่และไม่จำเป็นสำหรับทุกงาน พวกมันใช้โทเค็นมากกว่าอย่างเห็นได้ชัด ใช้อย่างสร้างสรรค์สำหรับงานที่เกินกว่าการใช้งานทั่วไป สำหรับการเขียนโค้ดตามปกติ ให้พิจารณาว่าจำเป็นต้องใช้การคำนวณเพิ่มเติมหรือไม่ การเขียนโค้ดส่วนใหญ่ไม่จำเป็นต้องมีผู้ตรวจสอบห้าคน
8. เคล็ดลับสำหรับการสร้าง Workflows
- การ Prompt: Prompt ที่มีรายละเอียดทำงานได้ดีที่สุด Workflows ไม่ได้มีไว้สำหรับงานใหญ่เท่านั้น คุณสามารถ prompt workflow แบบสั้นๆ สำหรับการตรวจสอบแบบเป็นปฏิปักษ์อย่างรวดเร็วของสมมติฐาน
- รวมกับ /goal และ /loop: สำหรับ workflows ที่ทำซ้ำได้ เช่น การคัดแยกหรือการวิจัย ให้ใช้
/loopสำหรับช่วงเวลา และ/goalสำหรับข้อกำหนดการทำให้เสร็จสมบูรณ์ที่เข้มงวด - งบประมาณโทเค็น: กำหนดงบประมาณโทเค็นที่ชัดเจน (เช่น 10k โทเค็น) ใน prompt เพื่อจำกัดการใช้งาน
- การบันทึกและการแชร์: กด 's' ในเมนู workflow เพื่อบันทึก ตรวจสอบไฟล์เหล่านั้นใน
~/.claude/workflowsหรือแจกจ่ายผ่าน skills อ้างอิงไฟล์ JavaScript workflow ในSKILL.mdเพื่อความยืดหยุ่น ให้ prompt Claude ให้ถือว่า skill workflows เป็นเทมเพลตมากกว่าสคริปต์ตามตัวอักษร


9. จุดเริ่มต้นใหม่
Workflows มอบวิธีใหม่ที่ทรงพลังในการขยายขีดความสามารถของ Claude Code มองว่ามันเป็นจุดเริ่มต้นในการสำรวจวิธีการใหม่ๆ ในการทำงานให้สำเร็จด้วย Claude ยังมีอีกมากมายให้ค้นพบเกี่ยวกับวิธีใช้งานให้ดีที่สุด





