เอกสารสรุปหลังเวิร์กช็อป

Agent Workflow ของ Matt Pocock

Skills สำหรับ Claude Code — จากปัญหาไปสู่ทางออกที่เสร็จจริง
เวิร์กช็อปสอนเมื่อ 26 กรกฎาคม 2026 สำหรับเพื่อน ๆ ที่อยากกลับมาทบทวนของวันนั้นแบบช้า ๆ

คือถ้าในคลาสสดรู้สึกว่าเนื้อหาเดินเร็วเกินไป เอกสารนี้คือฉบับที่อ่านตามจังหวะของตัวเองได้ครับ ไม่มีเนื้อหาใหม่เพิ่มเข้ามา เป็นบทเรียนเดิมที่ผมเขียนลงเป็นตัวหนังสือ แล้วก็เก็บคำศัพท์ที่ผ่านไปเร็ว ๆ ในวันนั้นมาอธิบายไว้ให้ครบด้วย

สิ่งเดียวที่อยากให้จำกลับไป

นี่ไม่ใช่ workflow สำหรับเขียนโค้ด แต่เป็นวิธีเดินจากปัญหาไปสู่ทางออก และนำไปใช้ได้กับทุกด้านของชีวิต

เข้าใจความต้องการ → แตกงานออกเป็นงานย่อยที่จัดการได้ → ลงมือทำไปทีละงาน ไม่ว่าเราอยากไปให้ถึงอะไร ถ้าเราเข้าใจความต้องการของตัวเองแล้วแตกงานย่อยออกมาให้จัดการได้ การบริหารเป้าหมายก็ง่ายขึ้นเยอะ ไม่ว่าจะเป็นการเขียนบทความลง Facebook งานการตลาด การทบทวนวรรณกรรม การเขียนเปเปอร์ การทำสไลด์นำเสนอ หรือการซื้อขายของมือสองออนไลน์ ผมว่าทุกอย่างมันต้องผ่าน process นี้หมด เพราะงั้นเวิร์กช็อปนี้ผมถึงเลือกสอน workflow นี้ ไม่ใช่ชุดเทคนิคการเขียนโค้ดครับ

AI agent ไม่ได้มีไว้เขียนโค้ดอย่างเดียว

พอเราใช้ process นี้ การเอา AI agent เข้ามาช่วยก็ไม่ได้จำกัดอยู่แค่การเขียนโค้ด เพราะหน้าที่ของ agent คือลงมือทำงานย่อยแต่ละชิ้น ซึ่งคำถามว่า agent จะช่วยเราได้จริงไหม มันขึ้นอยู่กับสองข้อนี้

  1. เราแตกงานออกมาได้ดีแค่ไหน งานย่อยที่ agent ทำจนจบได้ ก็คืองานที่เราเข้าใจมันแล้วด้วยตัวเอง
  2. agent ต่ออยู่กับเครื่องมือที่จำเป็นต่อการทำงานหรือเปล่า ไม่ว่าจะเป็นไฟล์ของเรา API เบราว์เซอร์ หรือตัวเครื่องเอง

สองข้อนี้ไม่เกี่ยวกับการเขียนโปรแกรมเลย นั่นเองคือเหตุผลทั้งหมดที่ workflow นี้ใช้ได้ดีกับงานที่ไม่มีโค้ดอยู่เลยเหมือนกัน แล้วก็อยากย้ำไว้ตรงนี้ว่า AI ไม่ได้ทำให้เราไม่ต้องคิดนะครับ แต่มันลดระยะห่างระหว่าง “คิดได้” กับ “ลงมือทำ” ลงไปเยอะมาก

point A → point B

point A คือปัญหา และ point B คือทางออก ปัญหาหนึ่งมักมีหลายวิธีในการแก้ และไอเดียตั้งต้นของเราอาจไม่ใช่วิธีที่ดีที่สุด ตรงนี้แหละที่ grilling มีไว้รับมือโดยตรง เพราะมันชวนให้เรามองเส้นทางอื่นก่อนจะลงแรงเดินเส้นใดเส้นหนึ่ง

ผมว่าสิ่งที่ต้องทำให้เป็นจริง ๆ คือการแตกงาน ว่าจาก point A ไป point B ต้องผ่านอะไรบ้าง ซึ่งตรงนี้เองที่ skills ต่าง ๆ เริ่มมีบทบาทมาก

A B ปัญหา ทางออก เส้นทางที่ grilling หาเจอ ไอเดียแรกของเรา เส้นทางที่เราไม่เคยนึกถึง
ภาพที่ 1. การเดินจาก point A ไป point B ปกติมีหลายเส้นทางให้เลือก และเส้นที่เห็นชัดที่สุดก็ไม่จำเป็นว่าจะดีที่สุด ผมทำขึ้นเองสำหรับเอกสารนี้ เป็น inline SVG

คำศัพท์ที่ต้องรู้

คำทั้งหมดที่ผ่านไปเร็ว ๆ ในวันนั้น ผมอธิบายไว้ที่นี่ด้วยภาษาบ้าน ๆ ถ้าอ่านประโยคไหนในเอกสารนี้แล้วสะดุด คำที่ยังไม่คุ้นน่าจะอยู่ในรายการนี้แหละครับ ศัพท์พวกนี้ผมคงคำภาษาอังกฤษไว้ตามที่ทุกท่านจะเจอในเครื่องมือจริง

LLMหมายถึงตัว model เอง ซึ่งเป็นส่วนที่ผลิตข้อความออกมา Claude, GPT และ Gemini ก็คือ LLM ทั้งนั้น LLM เฉย ๆ ทำได้แค่คุยกับเรา ต้องมี tool ให้มันใช้ก่อน ถึงจะลงมือทำงานได้จริง
AI agentLLM ที่ได้เครื่องมือกับเป้าหมายมาแล้ว มันเลยลงมือทำเป็นรอบ ๆ ได้ ไม่ใช่แค่ตอบเราอย่างเดียว คือมันจะอ่านไฟล์ รันคำสั่ง แล้วก็ตรวจผลวนไปเรื่อย ๆ จนงานชิ้นนั้นเสร็จ
CLI / TerminalTerminal คือหน้าต่างข้อความที่เราพิมพ์คำสั่งเข้าไปสั่งงานคอมพิวเตอร์ ส่วน CLI (Command Line Interface) คือโปรแกรมอะไรก็ตามที่สั่งงานด้วยการพิมพ์แทนการคลิก workflow นี้อยู่ตรงนี้ เพราะ Terminal คือที่ที่ agent เอื้อมไปถึงอย่างอื่นได้หมด
Shellโปรแกรมที่ทำงานอยู่ข้างใน Terminal แล้วก็คอยแปลสิ่งที่เราพิมพ์เข้าไป ปกติก็คือ zsh หรือ bash พูดง่าย ๆ Terminal คือหน้าต่าง ส่วน shell คือโปรแกรมที่คอยฟังอยู่ข้างในหน้าต่างนั้น
pipingการส่งผลลัพธ์ของคำสั่งหนึ่งเข้าไปเป็นข้อมูลตั้งต้นของคำสั่งถัดไป เขียนด้วยเครื่องหมาย | มันก็คือวิธีต่อเครื่องมือเล็ก ๆ หลายชิ้นให้กลายเป็นเครื่องมือที่ใหญ่ขึ้น และเป็นวิธีที่เราใช้ pipe เครื่องมือกับข้อมูลอื่น ๆ เข้ากับ agent ด้วย
APIช่องทางที่โปรแกรมหนึ่งใช้ขอข้อมูล หรือขอให้อีกโปรแกรมทำอะไรบางอย่างให้ มันก็คือวิธีที่ซอฟต์แวร์คุยกับซอฟต์แวร์ คำถามว่า agent จะช่วยงานเราได้ไหม เลยมักจะเท่ากับคำถามว่าสิ่งที่เราอยากให้มันไปจัดการนั้นมี API ให้เรียกหรือเปล่า
MCP — Model Context Protocolมาตรฐานสำหรับเสียบเครื่องมือและแหล่งข้อมูลเข้ากับ agent โดยไม่ต้องมานั่งเขียนตัวเชื่อมแยกทีละอัน มันก็คือคำตอบของเงื่อนไขข้อที่สอง ซึ่งก็คือการต่อ agent เข้ากับสิ่งที่มันจำเป็นต้องใช้
Local modelLLM ที่รันอยู่บนเครื่องของเราเอง ไม่ใช่บนเซิร์ฟเวอร์ของบริษัทไหน ตรงนี้สำคัญ เพราะ workflow ที่อยู่บน Terminal เปลี่ยนไปชี้ที่ local model หรือ open model แบบนี้ได้ทีหลัง โดยที่เราไม่ต้องเรียนรู้อะไรใหม่
Claude Codeagent ที่เราขับผ่าน Terminal กันในเวิร์กช็อป เป็นโปรแกรมที่อ่าน skills ของเรา ตั้งคำถาม grilling กับเรา แล้วก็ลงมือทำงานให้
Skillคำสั่งชุดหนึ่งที่ติดตั้งครั้งเดียวแล้วใช้ซ้ำได้เรื่อย ๆ หน้าที่ของมันคือสอนขั้นตอนหนึ่ง ๆ ให้ agent ทุกอย่างใน workflow นี้ ทั้ง Grilling, Wayfinder และ To Spec ล้วนเป็น skill
Slash commandวิธีเรียกใช้ skill คือเราพิมพ์ /name แล้ว agent จะโหลดคำสั่งชุดนั้นขึ้นมาทำตาม /grilling คือ slash command ส่วน grilling คือ skill ที่อยู่เบื้องหลังมัน
Repository / repoโฟลเดอร์ที่เก็บโปรเจกต์หนึ่งโปรเจกต์พร้อมประวัติการแก้ไข ไม่จำเป็นว่าต้องมีโค้ดอยู่ข้างในนะครับ repo จะเก็บแผนการตลาดพร้อมเอกสารประกอบก็ได้เหมือนกัน มันเป็นแค่ภาชนะที่โปรเจกต์ของเราอยู่
Issueงานย่อยชิ้นหนึ่งที่เขียนไว้ชัดเจนและจบในตัวเอง คล้าย ๆ ใบงานหนึ่งใบ ขนาดพอเหมาะให้ agent หนึ่งรอบทำจนเสร็จได้จริง Issue เลยเป็นงานย่อยที่จัดการได้ตามแนวคิดหลัก ในรูปที่จับต้องได้
Issue trackerบอร์ดหรือรายการที่ Issue ทั้งหมดอยู่ และมองเห็นสถานะได้ว่าอยู่ในขั้น to do, doing หรือ done มันคือที่ที่เรากับ agent ตกลงกันว่ายังเหลืองานอะไรอยู่
Grillingการนั่งสัมภาษณ์กันระหว่างเรากับ AI agent โดยซักถามทีละคำถาม จนกระทั่งทั้งสองฝ่ายเข้าใจปัญหาอย่างลึกซึ้ง แล้วก็ปิดท้ายด้วยการสรุปสิ่งที่เข้าใจตรงกันลงในเอกสารกลาง ผมว่าสกิลนี้ดีตรงที่มันช่วย grill ในสิ่งที่เราไม่รู้ ซึ่งก็คือการเปลี่ยนจาก unknown unknowns ให้กลายเป็น known unknowns นั่นเอง
Wayfinderการทำ grilling ให้ครบทุกหมวดของโปรเจกต์ จะได้ไม่เหลือส่วนไหนที่ยังไม่ได้ตรวจ มันช่วย visualize เส้นทางออกมาเลยว่า จาก A ไป B ต้องทำอะไรบ้าง Grilling เหมาะกับโปรเจกต์ที่ซับซ้อนน้อย ส่วน Wayfinder เหมาะกับโปรเจกต์ที่ซับซ้อนสูงกว่า
CONTEXT.md / AGENT.mdเอกสารกลางที่ grilling เขียนลงไป เป็นไฟล์ข้อความธรรมดาในโปรเจกต์ซึ่งเก็บความเข้าใจที่เราตกลงกันแล้ว ทุกขั้นถัดจากนี้อ่านจากไฟล์นี้ และคุณภาพของไฟล์นี้แหละที่กำหนดคุณภาพของผลงานที่เราผลิตออกมา
SOPวิธีทำสิ่งหนึ่งที่เขียนไว้เป็นลายลักษณ์อักษร ใครหยิบไปทำตามก็ได้ พอ grilling เติมเอกสารกลางของเราครบแล้ว เอกสารนั้นก็ทำหน้าที่เป็น SOP ของเรา ทั้งสำหรับตัวเราเองและสำหรับ agent ทุกตัวที่มาทีหลัง
PRD / specข้อตกลงว่าจะสร้างหรือผลิตอะไร ระบุเป็นรูปธรรมมากพอที่จะลงมือทำได้ ส่วน PRD (Product Requirements Document) ก็คือแนวคิดเดียวกันในภาษาของงานผลิตภัณฑ์ มันคือขั้นที่อยู่ระหว่างการเข้าใจปัญหา กับการมีรายการงานที่ต้องทำ
/to-specskill ที่เปลี่ยน SOP ให้เป็น spec ที่ลงมือทำได้ คือเปลี่ยนความเข้าใจของเราให้กลายเป็นรายการสิ่งที่ต้องเป็นจริงเมื่องานเสร็จแล้ว
/to-issueskill ที่แตก spec ออกเป็น Issue แต่ละชิ้น โดยแต่ละชิ้นมีขนาดพอให้ agent หนึ่งตัวทำจนเสร็จได้
/implementเรายื่น Issue หนึ่งชิ้นให้ agent แล้วมันลงมือทำงานนั้น เป็นขั้นที่เห็นผลชัดที่สุด แต่มันก็ดีได้ไม่เกินคุณภาพของเอกสารที่ยืนอยู่เบื้องหลัง
/goคำสั่งที่ไล่ทำงานทั้งคิว ไม่ใช่ทีละ Issue คือปล่อยให้ agent หยิบงานชิ้นถัดไปมาทำต่อไปเรื่อย ๆ โดยที่เราไม่ต้องเลือกให้ทีละชิ้น
loopการทำขั้นตอนหนึ่งซ้ำโดยอัตโนมัติจนงานหมด คือหยิบ Issue มาทำให้เสร็จ แล้วขยับไปชิ้นถัดไป นี่แหละคือสิ่งที่ทำให้กอง Issue เดินหน้าต่อได้เองโดยไม่ต้องมีคนคอยดู
AFK — Away From Keyboardชื่อเรียกรวมของ /go กับ loop ซึ่งก็คือการที่ agent ไล่ทำ Issue ไปเรื่อย ๆ ตอนที่เราไม่ได้นั่งอยู่หน้าคีย์บอร์ด วิธีนี้ควรใช้ตอนที่แตกงานย่อยไว้เรียบร้อยดีแล้วเท่านั้นนะครับ
Setup skill/setup-matt-pocock-skills ทำหน้าที่ติดตั้ง skills แล้วก็วางแนวคิดร่วมอย่าง Issue ให้เรียบร้อย รันครั้งเดียวต่อโปรเจกต์ และข้ามได้เลยถ้า repo นั้นตั้งค่าไว้อยู่แล้ว
point A → point Bpoint A คือปัญหาที่เรามีอยู่ และ point B คือทางออกที่เราต้องการ การมองงานแบบนี้ทำให้เห็นชัดว่ามีหลายเส้นทางให้เลือก และเราต้องเลือกหนึ่งเส้นทางอย่างตั้งใจ พอเส้นทางชัดก็ลงมือได้ทันที ไม่ต้องเสียพลังไปกับการคิดว่าจะเริ่มตรงไหนดี

เกี่ยวกับ Matt Pocock

Matt Pocock เป็นนักการศึกษาและวิศวกรสาย TypeScript ผู้สร้าง Total TypeScript และเป็นผู้เขียนร่วมกับ Taylor Bell ในหนังสือ Total TypeScript เขาเผยแพร่ agent skills ที่ workflow นี้ตั้งอยู่บนไว้อย่างเปิดเผยใน repo mattpocock/skills บน GitHub ผมว่าเขาวางระบบได้ดีมาก เราเลยยืม workflow ของเขามาใช้ ไม่ได้ยืมเนื้อหาวิชาของเขา และไม่มีอะไรที่เราทำกันในเวิร์กช็อปที่ต้องใช้ TypeScript เลยครับ

ข้อควรระวังเรื่องชื่อคำสั่ง ชื่อ slash command ที่อยู่ในเอกสารนี้คือชื่อที่เราใช้กันในเวิร์กช็อป ผมยังไม่ได้ตรวจยืนยันว่าตรงกับชื่อต้นทางใน repo ของ Matt Pocock ทุกตัวหรือเปล่า ถ้าเจอว่าไม่ตรง ขอให้ยึดชื่อที่ skill ติดตั้งมาให้จริงในเครื่องของเราเป็นหลักนะครับ

workflow ทีละขั้น

process นี้มีหกขั้น แต่ละขั้นรับสิ่งหนึ่งเข้ามาแล้วส่งสิ่งหนึ่งออกไป ซึ่งสิ่งที่ส่งออกไปก็กลายเป็นข้อมูลตั้งต้นของขั้นถัดไป ห่วงโซ่นี้แหละคือตัววิธีการทั้งหมดครับ

/setup/grilling/wayfinder → SOP → /to-spec/to-issue/implement/go
0 · ติดตั้ง /setup-matt-pocock-skills ครั้งเดียวต่อโปรเจกต์ 1 · เข้าใจปัญหา /grilling ถามทีละคำถาม 2 · วางเส้นทาง /wayfinder ใช้ตอนงานซับซ้อนเท่านั้น 3 · ตอนนี้เรามี SOP อยู่ในมือ CONTEXT.md / AGENT.md — ความเข้าใจที่ตกลงกันแล้ว ทุกขั้นถัดจากนี้อ่านจากเอกสารนี้ 4 · แปลงเป็นงาน /to-spec → /to-issue ทำ spec แล้วแตกเป็น issue 5 · ลงมือทำ /implement หนึ่ง issue ทำให้จบดี ๆ 6 · ขยายกำลัง · AFK /go หรือ loop หลาย issue ไม่ต้องเฝ้า
ภาพที่ 2. หกขั้นตอน และเอกสารที่อยู่ตรงกลางของทั้งหมด ผมทำขึ้นเองสำหรับเอกสารนี้ เป็น inline SVG

ตัวอย่างที่เราจะเดินไปด้วยกันทั้งหกขั้น

ตัวอย่างนี้ไม่มีโค้ดอยู่แม้แต่บรรทัดเดียว ประโยคที่เราเริ่มต้นคือ “ฉันอยากทำให้เพจ Facebook ของฉันโตขึ้น” ลองสังเกตดูนะครับว่าประโยคนี้เปลี่ยนไปยังไงเมื่อไหลผ่าน pipeline เพราะพอถึงขั้นที่ 6 มันจะกลายเป็นงานที่ทำเสร็จแล้วห้าชิ้น และไม่มีคำว่า “โตขึ้น” เหลืออยู่ในนั้นอีกเลย

0ติดตั้ง — /setup-matt-pocock-skills

ขั้นนี้ติดตั้ง skills แล้วก็วางแนวคิดร่วมอย่าง Issue เอาไว้ ขั้นถัด ๆ ไปจะได้มีที่วางงาน ปกติทำครั้งเดียวจบครับ ถ้าเราทำงานอยู่บน repo ที่ตั้งค่าไว้เรียบร้อยแล้ว ก็ข้ามขั้นนี้ไปได้เลย

รับเข้า — โฟลเดอร์โปรเจกต์หนึ่งโฟลเดอร์ ตั้งค่าในครั้งเดียว
ส่งออก — skills ที่ติดตั้งเรียบร้อย และที่วาง Issue ซึ่งตกลงกันไว้แล้ว
ตัวอย่าง Facebook: เราสร้างโฟลเดอร์สำหรับโปรเจกต์เพจแล้วตั้งค่าครั้งเดียว หลังจากนั้นก็ไม่ต้องกลับมาแตะอีก

1เข้าใจปัญหา — /grilling

เราอยู่ที่ point A แล้วอยากไปให้ถึง point B ซึ่งไอเดียตั้งต้นของเราอาจไม่ใช่วิธีที่ดีที่สุด grilling ก็คือการนั่งสัมภาษณ์กันระหว่างเรากับ AI agent โดยซักถามทีละคำถาม จนกระทั่งทั้งสองฝ่ายเข้าใจปัญหาอย่างลึกซึ้ง แล้วก็ปิดท้ายด้วยการสรุปลงในเอกสารกลาง ไม่ว่าจะเป็น CONTEXT.md หรือ AGENT.md สิ่งหนึ่งที่เป็นปัญหามากในยุคนี้ก็คือ เวลาเราทำโปรเจกต์อะไรขึ้นมาเยอะ ๆ เราไม่เคยรู้เลยว่าเราไม่รู้อะไร หรือที่เรียกว่า unknown unknowns นั่นเอง ซึ่ง grilling มีไว้ดึงสิ่งนั้นออกมาครับ

รับเข้า — ปัญหาที่ยังคลุมเครือ เล่าด้วยคำพูดของเราเอง
ส่งออก — เอกสารกลางที่ระบุว่าปัญหาที่แท้จริงคืออะไร
ตัวอย่าง Facebook: ประโยคว่า “อยากให้เพจ Facebook โตขึ้น” จะไม่รอดจากคำถามชุดนี้ครับ โตวัดจากอะไร จำนวนผู้ติดตามหรือรายได้ แล้วหลังจากมีคนกดติดตามแล้วเกิดอะไรต่อ ซักไปซักมาก็ได้ความต้องการจริง ๆ ออกมา คือ ผู้สนใจคอร์ส (leads) 30 รายต่อเดือน ผู้ติดตามไม่เคยเป็นเป้าหมาย มันเป็นแค่การเดาเส้นทางไว้ล่วงหน้า

2วางเส้นทาง — /wayfinder

Wayfinder คือการทำ grilling ให้ครบทุกหมวดของโปรเจกต์ เราจะได้เข้าใจทุกด้านของงานและไม่เหลือส่วนไหนที่ยังไม่ได้ตรวจ tool ตัวนี้ผมใช้บ่อยมาก เพราะมันช่วย visualize เส้นทางออกมาเลยว่า จาก A ไป B ต้องทำอะไรบ้าง พอเส้นทางชัดก็ลงมือได้ทันที ไม่ต้องเสียพลังไปกับการคิดว่าจะเริ่มตรงไหนดี หลักคิดคร่าว ๆ คือ โปรเจกต์ที่ซับซ้อนน้อยใช้ grilling อย่างเดียวก็พอ ส่วนโปรเจกต์ที่ซับซ้อนสูงกว่านั้นเหมาะกับ Wayfinder

รับเข้า — เอกสารกลางจาก grilling พร้อมกับส่วนที่ยังไม่มีใครตรวจ
ส่งออก — เอกสารฉบับเดิม ที่ไม่เหลือส่วนซึ่งยังไม่ได้ตรวจ
ตัวอย่าง Facebook: เพจเดียวกับข้อเสนอเดียวถือว่าไม่ซับซ้อนเท่าไหร่ ใช้ grilling อย่างเดียวก็พอ ข้าม Wayfinder ไปได้เลย แต่ถ้าเป็นการเปิดตัวพร้อมกันสี่ช่องทาง มีงบประมาณและมีกำหนดส่ง นั่นแหละคือจุดที่เราจะหยิบ Wayfinder ขึ้นมาใช้

3ตอนนี้เรามี SOP อยู่ในมือ

พอ Wayfinder กับ Grilling เสร็จ เราจะมีเอกสารกลางที่ทำหน้าที่เหมือน SOP ขององค์กร คือความเข้าใจที่ตกลงกันแล้ว เขียนไว้เป็นลายลักษณ์อักษร แล้วทุกขั้นถัดจากนี้ก็อ่านจากเอกสารนั้น ขั้นนี้ไม่ใช่คำสั่งนะครับ แต่เป็นการเปลี่ยนแปลงของสิ่งที่เราถืออยู่ในมือ เราเริ่มจากไอเดียในหัว แล้วตอนนี้เรามีเอกสารที่คนอื่นหยิบไปทำต่อได้เลย

รับเข้า — คำตอบที่ซื่อตรงซึ่งเราให้ไว้ระหว่างถูก grilling
ส่งออกCONTEXT.md ซึ่งก็คือ SOP ของงานชิ้นนี้
ตัวอย่าง Facebook: เอกสารระบุแล้วว่ากลุ่มเป้าหมายคือใคร ข้อเสนอคืออะไร อะไรนับเป็น lead และเป้าหมายต่อเดือนคือ 30 ราย ใครก็ได้ หรือ agent ตัวไหนก็ได้ หยิบไปลงมือต่อได้ทันที

4แปลง SOP ให้เป็นงาน — /to-spec แล้วต่อด้วย /to-issue

เราแปลง SOP นี้ให้เป็นงานที่ลงมือทำได้ด้วย /to-spec แล้วแตกงานย่อยออกเป็น Issue แต่ละชิ้นด้วย /to-issue โดยแต่ละ Issue มีขนาดพอให้ agent หนึ่งตัวทำจนเสร็จได้จริง ตรงนี้แหละคือหัวใจ เพราะสิ่งที่ต้องทำให้เป็นจริง ๆ คือการแตกงาน ว่าจาก point A ไป point B ต้องผ่านอะไรบ้าง

รับเข้า — SOP
ส่งออก — spec หนึ่งชุด และ Issue แยกชิ้นที่ทำจนจบได้ทีละชิ้น
ตัวอย่าง Facebook — spec 5 ข้อ: (1) กลุ่มเป้าหมายคือใครและข้อเสนอคืออะไร (2) เสาหลักของเนื้อหาและจังหวะการโพสต์ (3) เส้นทางจากโพสต์ไปถึงการเก็บ lead (4) วิธีนับ lead (5) การทบทวนรายสัปดาห์
ซึ่งกลายเป็น 5 issues: เขียนเอกสารหน้าเดียวเรื่องกลุ่มเป้าหมายกับข้อเสนอ ร่างโพสต์สิบสองชิ้นตามเสาหลักสามเสา สร้างหน้าสมัครที่โพสต์ชี้ไปหา ตั้งระบบนับ lead และตั้งเวลาโพสต์พร้อมจองเวลาทบทวนรายสัปดาห์

5ลงมือทำ — /implement

พอเรามีงานย่อยพวกนี้แล้ว เราก็สั่งให้ AI ลงมือทำได้เลย ใช้คำสั่ง /implement แล้ว agent จะทำงานบน Issue หนึ่งชิ้นตั้งแต่ต้นจนจบ

รับเข้า — Issue หนึ่งชิ้น
ส่งออก — Issue ชิ้นนั้นที่ทำเสร็จแล้ว
ตัวอย่าง Facebook: เรายื่นงาน “ร่างโพสต์สิบสองชิ้นตามเสาหลักสามเสา” ให้ไป แล้วได้ร่างกลับมาสิบสองชิ้นที่เขียนตรงกลุ่มเป้าหมาย เพราะเอกสารได้บอก agent ไว้แล้วว่ากลุ่มเป้าหมายคือใคร

6ขยายกำลัง — โหมด AFK

ถ้าเราอยากให้ agent จัดการงานหลายชิ้นในคราวเดียว ก็ใช้คำสั่งอย่าง /go หรือ loop ได้ครับ ซึ่งเรียกรวมกันว่าโหมด Away From Keyboard

รับเข้า — Issue ที่ยังเหลืออยู่
ส่งออก — Issue เหล่านั้นที่ทำเสร็จแล้วในระหว่างที่เราไปทำอย่างอื่น
ตัวอย่าง Facebook: Issue ที่เหลืออีกสี่ชิ้นไหลผ่าน /go เราเริ่มจาก “ฉันอยากทำให้เพจ Facebook ของฉันโตขึ้น” และจบด้วยงานที่ทำเสร็จแล้วห้าชิ้น ซึ่งเล็งไปที่ leads 30 รายต่อเดือน
ไวท์บอร์ดที่มีคอลัมน์ To Do, Doing และ Done พร้อมโพสต์อิทติดอยู่
ภาพที่ 3. Issue คืองานที่เล็กพอจะเขียนลงโพสต์อิทหนึ่งใบและทำจนเสร็จได้จริง ขั้นที่ 4 ถึง 6 ก็คือการทำให้บอร์ดนี้ว่างลง โดยมี agent ทำงานแทนเรา Photo: Jeff.lasovski, “Simple kanban board”, Wikimedia Commons, CC BY-SA 3.0.

สองเรื่องที่ผมขอย้ำ

grilling คือจุดที่จับความเข้าใจผิดได้ถูกที่สุด ระหว่างที่ทำ grilling เราอาจรู้สึกว่ามันช้า แต่เอาจริง ๆ มันเป็นส่วนที่ถูกที่สุดของ process ทั้งหมด ความเข้าใจผิดที่เราจับได้ตอน grilling ปกติแก้ได้ด้วยประโยคเดียว ส่วนความเข้าใจผิดเรื่องเดียวกันถ้าไปเจอตอน /implement ก็คือต้องทำงานนั้นใหม่ทั้งหมด ผมว่าการเปลี่ยนจาก unknown unknowns ให้กลายเป็น known unknowns ค่อนข้างสำคัญในยุคนี้เลยนะครับ เพราะงั้นผมขอให้ทุกท่านมองการสัมภาษณ์ว่าเป็นส่วนหนึ่งของงาน ไม่ใช่พิธีการที่มาก่อนงานจริง

คุณภาพของผลลัพธ์มาจากเอกสารกลาง เพราะ /implement เป็นขั้นที่ผลลัพธ์ปรากฏให้เห็น เลยเข้าใจได้ง่ายว่ามันน่าจะเป็นขั้นที่สำคัญที่สุด แต่เอาจริง ๆ คุณภาพของผลลัพธ์มาจากคุณภาพของเอกสารกลาง และคุณภาพของเอกสารนั้นก็มาจากความซื่อตรงในคำตอบที่เราให้ไว้ตอน grilling ถ้า SOP ไม่ชัด Issue ที่ได้มาจากมันก็ไม่ชัดตามไปด้วย แล้ว agent ก็จะส่งความไม่ชัดนั้นต่อไปถึงผลลัพธ์ตรง ๆ เลยครับ

ทำไมต้องเป็น Terminal

นั่นเองคือเหตุผลที่ผมเลือกสอนทุกท่านให้ใช้ Terminal แทนที่จะอยู่ใน Claude Chat หรือ Claude Artifacts ไม่ใช่เพราะอยากให้ดูเป็นสายเทคนิคนะครับ แต่ทั้งสี่ข้อต่อไปนี้คือความสามารถที่เราจะเสียไปเมื่ออยู่ในหน้าต่างแชท

1. piping และ API

Terminal ช่วยให้เราต่อ API และเครื่องมือต่าง ๆ เข้ากับ AI agent ได้ง่ายมาก ซึ่งก็คือเงื่อนไขข้อที่สองจากหน้าแรกสุด และเป็นจุดที่ทำให้งานที่ไม่ใช่โค้ดเป็นไปได้ piping ที่เขียนด้วยเครื่องหมาย | ก็คือผลลัพธ์ของสิ่งหนึ่งกลายเป็นข้อมูลตั้งต้นของสิ่งถัดไป เพราะงั้นอะไรที่มี API ก็ต่อเข้ามาให้ agent เอื้อมถึงได้ ส่วนหน้าจอแชทให้เราใช้ได้แค่ tool ที่หน้าจอนั้นตัดสินใจจะมอบให้ ซึ่ง Terminal ไม่ได้จำกัดเราไว้แบบนั้น

2. ย้ายผู้ให้บริการได้

ผู้ให้บริการ model จะเปลี่ยนไปเรื่อย ๆ ถ้า workflow ของเราอยู่ใน CLI เราก็มีอิสระที่จะเปลี่ยนไปใช้ LLM agent ตัวอื่นได้ง่ายขึ้นในอนาคต รวมถึงเปลี่ยนไปใช้ local model หรือ open model ที่รันบนเครื่องของเราเอง ซึ่งการเปลี่ยนนั้นเป็นแค่การแก้ค่า config ไม่ใช่การเรียนรู้ใหม่ทั้งหมด skills ของเรา ไฟล์ CONTEXT.md ของเรา และ Issue ของเรา จะยังอยู่ครบหลังสลับ กลับกัน ทุกอย่างที่เราสร้างไว้ในผลิตภัณฑ์แชทของบริษัทใดบริษัทหนึ่ง ก็เป็นไปตามชะตากรรมของผลิตภัณฑ์นั้น

3. มันคือรากฐาน

อย่างที่ผมสาธิตให้ดูในคลาส การเชื่อมต่อไปยังโทรศัพท์มือถือและเครื่องอื่น ๆ ทำได้ง่ายกว่ามากผ่าน Terminal เพราะ Terminal เป็นรากฐานหลักของการใช้งานคอมพิวเตอร์ computer use ซึ่งก็คือ agent ที่ควบคุมเครื่องได้จริง ไม่ใช่แค่พูดถึงมัน ก็ถูกสร้างขึ้นบนชั้นเดียวกันนี้ ถ้าเราเริ่มสูงขึ้นไปหนึ่งชั้นในกล่องแชท การเชื่อมต่อทุกอย่างที่ว่ามาก็ต้องรอให้คนอื่นยื่นมาให้เรา

4. เรื่องที่เคยกังวลกันไม่เป็นปัญหาแล้ว

เหตุผลที่คนเคยหลีกเลี่ยง Terminal คือการต้องจำคำสั่ง ซึ่งเหตุผลนั้นหมดความจำเป็นไปแล้วครับ ทุกวันนี้การใช้ CLI ง่ายขึ้นเยอะ เพราะ AI agent พวกนี้ช่วยควบคุม Terminal ให้เราได้ ทำให้ทำงานได้ลื่นขึ้นโดยไม่ต้องจำคำสั่งซับซ้อนเหมือนเมื่อก่อน เราแค่บอกผลลัพธ์ที่ต้องการ แล้วมันจะผลิตคำสั่งออกมาให้ ผมเลยอยากชวนให้ทุกท่านทำความคุ้นเคยกับเครื่องมือพวกนี้ตั้งแต่ตอนนี้ ในตอนที่มันเรียนรู้ได้ง่ายกว่าช่วงเวลาไหนที่ผ่านมา

หน้าต่าง terminal แสดงเซสชัน shell พร้อมคำสั่งหลายคำสั่งและผลลัพธ์
ภาพที่ 4. session ของ shell ซึ่งมีคำสั่งที่พิมพ์เข้าไป ผลลัพธ์ที่ตอบกลับมา และแต่ละคำสั่งส่งต่อให้คำสั่งถัดไปได้ นี่คือพื้นผิวที่ agent ขับให้เรา และไม่มีอะไรในนี้ที่เราต้องจำ Screenshot: The GNOME Project, “Linux command-line. Bash. GNOME Terminal.”, Wikimedia Commons, GNU General Public License.

สรุป — และสิ่งที่ควรทำต่อ

ยาวไปไม่อ่าน สรุปก็คือ: เราเข้าใจความต้องการ แตกงานออกเป็นงานย่อยที่จัดการได้ แล้วลงมือทำไปทีละงาน งานย่อยพวกนั้นก็คือ Issue ความเข้าใจของเราก็คือเอกสาร และเอกสารนั้น ไม่ใช่ /implement คือสิ่งที่ตัดสินว่าผลลัพธ์จะดีแค่ไหน grilling คือจุดที่การเข้าใจผิดถูกที่สุด ส่วน Terminal คือสิ่งที่ทำให้ agent ต่ออยู่กับทุกอย่างที่เหลือ แล้วก็ทำให้เรายังมีอิสระที่จะย้ายผู้ให้บริการได้ครับ

ทำอะไรต่อดี

  1. รัน setup skill หนึ่งครั้ง พิมพ์ /setup-matt-pocock-skills ในโฟลเดอร์ใหม่ ไม่ต้องอ่านล่วงหน้าก็ได้ ขอแค่ติดตั้งให้เรียบร้อยก่อน
  2. เลือกปัญหาจริงขนาดเล็กของตัวเองมาหนึ่งเรื่อง ไม่ใช่โจทย์ฝึกมือ แต่เป็นเรื่องที่เราอยากให้เสร็จจริงในสัปดาห์นี้ แล้วก็ตั้งใจเลือกเรื่องที่ไม่มีโค้ดอยู่เลย เช่น โพสต์หนึ่งโพสต์ ประกาศขายของหนึ่งชิ้น หัวข้อย่อยหนึ่งหัวข้อในเปเปอร์ หรือสไลด์หนึ่งชุด
  3. ให้ agent grill เรา แล้วตอบอย่างซื่อตรง ปล่อยให้มันถามทีละคำถาม อย่ารีบสรุปข้ามหน้ามันไป ถ้าคำพูดตั้งต้นของเราเปลี่ยนไปหลังถูกซัก นั่นแปลว่า process มันกำลังทำงาน ไม่ใช่การออกนอกเส้นทางครับ
  4. อ่าน CONTEXT.md ของตัวเอง ถ้าคนที่ไม่รู้เรื่องมาก่อนหยิบไปอ่าน เขาจะได้ผลลัพธ์ที่ถูกต้องไหม ผมว่านั่นคือการตรวจคุณภาพอย่างเดียวที่คุ้มจะทำก่อนเดินหน้าต่อ
  5. เดินให้ครบทั้งเส้นทาง รัน /to-spec แล้ว /to-issue แล้ว /implement กับ Issue เพียงชิ้นเดียว ขอให้ทำให้จบหนึ่งรอบตั้งแต่ต้นจนจบก่อนจะลอง /go เพราะ AFK ควรใช้ตอนที่แตกงานย่อยไว้เรียบร้อยดีแล้วเท่านั้น
  6. ในครั้งแรกนี้ขอให้ข้าม Wayfinder ไปก่อน เว้นแต่ปัญหาของเรามีขนาดใหญ่จริง ขอให้เก็บมันไว้ใช้ตอนที่ grilling อย่างเดียวยังทำให้บางส่วนของโปรเจกต์ไม่ได้รับการตรวจ

เป้าหมายของการลองรอบแรกไม่ใช่ผลลัพธ์ที่ดีเลิศ แต่คือการได้สัมผัสความต่างระหว่างประโยคที่เราเริ่มต้น กับเอกสารที่เราได้มาในตอนจบครับ

ขอความช่วยเหลือได้ที่ไหน

Resource room — ผมโพสต์เนื้อหาส่วนใหญ่จากเวิร์กช็อปไว้ที่นั่นแล้ว ถ้าอยากกลับไปดูหรืออ่านซ้ำ ก็ลองเริ่มจากที่นั่นก่อนได้ครับ

Discord channel — ถ้าผมตกหล่นอะไรไปจากเอกสารนี้ หรือทุกคนมีข้อค้นพบเพิ่มเติม ก็มาแบ่งปันกันได้ที่นั่นเลยครับ ผมว่าสิ่งที่ทุกคนค้นพบจากปัญหาจริงของตัวเอง มีค่าต่อกลุ่มมากกว่าตัวอย่างที่ผมยกไว้ข้างต้นเยอะ