เครื่องมือสำหรับทำงานร่วมกับเอเจนต์เขียนโค้ดกำลังพัฒนาขึ้นอย่างแท้จริงและรวดเร็ว เริ่มต้นด้วยระบบเติมคำอัตโนมัติ จากนั้นก็มาถึงเอเจนต์ที่สามารถรับพรอมต์แล้วสร้าง diff ออกมาได้ ตอนนี้เทคโนโลยีล้ำหน้าที่สุดคือศูนย์บัญชาการส่วนตัว นั่นคือแอปเดสก์ท็อปหรือเทอร์มินัลที่นักพัฒนาคนเดียวจัดการเอเจนต์หลายตัวพร้อมกัน — worktree แบบขนาน สกิลที่รวมมาให้ ระบบอัตโนมัติที่ตั้งเวลาไว้ และคิวของงานที่รอการตรวจสอบ นี่คือความก้าวหน้าที่แท้จริง และหากคุณเขียนโค้ดเพื่อเลี้ยงชีพ มันก็คุ้มค่าที่จะมีไว้
แต่ลองดูว่าทั้งหมดนี้อยู่ที่ไหน อยู่บนแล็ปท็อปของคนคนเดียว อยู่ในเซสชันของคนคนเดียว มองเห็นได้ด้วยตาเพียงคู่เดียวเท่านั้น ไม่ว่าจะจัดการเอเจนต์ได้กี่ตัว ศูนย์บัญชาการก็เป็นแบบเล่นคนเดียวโดยค่าเริ่มต้น และซอฟต์แวร์ไม่ใช่เกมที่เล่นคนเดียว
จากระบบเติมคำอัตโนมัติสู่ศูนย์บัญชาการ
เครื่องมือเอเจนต์แต่ละรุ่นแก้ปัญหาคอขวดของรุ่นก่อนหน้า ระบบเติมคำอัตโนมัติแก้ปัญหาการพิมพ์ เอเจนต์แบบพรอมต์-สู่-diff แก้ปัญหาหน้ากระดาษเปล่า ศูนย์บัญชาการแก้ปัญหาวงจร "หนึ่งพรอมต์ หนึ่ง diff หนึ่งการรอ" ด้วยการให้นักพัฒนาคนเดียวรันเอเจนต์หลายตัวพร้อมกัน
สิ่งที่ไม่มีตัวไหนแก้ได้คือหน่วยของความเป็นเจ้าของยังคงเดิม นั่นคือ editor ของฉัน เซสชัน ของฉัน เอเจนต์ ของฉัน อินเทอร์เฟซทรงพลังขึ้น แต่ไม่เคยหลุดออกจากแล็ปท็อปเลย
เพดานของการเล่นคนเดียว
เอเจนต์ส่วนตัวมีปัญหาเชิงโครงสร้างที่การขัดเกลาเท่าใดก็แก้ไม่ได้ นั่นคือทุกสิ่งที่มันเรียนรู้ถูกขังไว้ในเซสชันส่วนตัว
เมื่อคุณและเอเจนต์ของคุณช่วยกันหาว่าทำไมบริการเรียกเก็บเงินถึงถูกออกแบบมาแบบนั้น ความเข้าใจนั้นจะอยู่ในประวัติแชทของคุณเท่านั้น เมื่อเอเจนต์ของเพื่อนร่วมทีมเจอคำถามเดียวกันในวันพรุ่งนี้ มันจะเริ่มต้นจากศูนย์ — และเพื่อนร่วมทีมของคุณก็เช่นกัน หากคุณกำลังลาพักร้อนอยู่ เมื่อคูณสิ่งนี้ทั่วทั้งทีม คุณจะได้ภาวะความจำเสื่อมขององค์กรที่แปลกประหลาด บริษัทรันเซสชันอัจฉริยะหลายสิบครั้งต่อวัน แต่แทบไม่เก็บรักษาอะไรไว้จากเซสชันเหล่านั้นเลย
ยังมีปัญหาที่สอง นั่นคือการมอบหมายงาน หากเอเจนต์อยู่ในเครื่องมือของคุณ มีเพียงคุณเท่านั้นที่มอบหมายงานให้มันได้ และมีเพียงคุณเท่านั้นที่เห็นว่ามันทำอะไรไปบ้าง คำถามที่ว่า "เอเจนต์ของคุณช่วยดูสิ่งนี้ได้ไหม" จะกลายเป็นคำขอที่ส่งถึง คุณ โดยตรง ผ่านความสนใจของคุณ และถูกดำเนินการบนเครื่องของคุณ เอเจนต์มีหัวหน้า แต่ไม่มีทีม
สิ่งที่เปลี่ยนไปเมื่อเอเจนต์ถูกแชร์
เราสร้าง TaskGoblin ขึ้นบนโมเดลอีกแบบหนึ่ง นั่นคือเอเจนต์ไม่ใช่แอปที่คุณต้องเปิดขึ้นมา แต่เป็นเพื่อนร่วมทีมที่เครื่องมือของคุณรู้จักวิธีพูดคุยด้วยอยู่แล้ว
มันมีตัวตนของตัวเองในทุกที่ที่ทีมของคุณทำงาน — @taskgoblin บน GitLab และ Slack, taskgoblin[bot] บน GitHub ใครก็ตามในทีมสามารถมอบหมายงานให้มันได้เหมือนกับที่ทำกับเพื่อนร่วมงาน ไม่ว่าจะเป็นการมอบหมาย issue ใน Linear การกล่าวถึงในคอมเมนต์ merge request การติดป้ายกำกับ issue บน GitHub หรือถามอะไรบางอย่างในเธรด Slack มันจะรับงานนั้นไปทำในแซนด์บ็อกซ์บนคลาวด์ — ทำงานตลอดเวลา ไม่ได้อยู่บนแล็ปท็อปของใครทั้งนั้น — และส่งมอบผลลัพธ์ไปยังที่ที่งานนั้นอยู่แล้ว ไม่ว่าจะเป็นบรานช์ merge request คอมเมนต์รีวิว หรือการตอบกลับในเธรด
สิ่งนี้เปลี่ยนว่าใครสามารถเห็นและกำกับทิศทางของงานได้บ้าง ผลงานของเอเจนต์ไม่ใช่บันทึกส่วนตัว แต่เป็น merge request ที่ทั้งทีมของคุณสามารถตรวจสอบได้ เป็นร่องรอยคอมเมนต์ที่ใครก็อ่านได้ เป็น issue ที่เคลื่อนผ่านบอร์ดอย่างเปิดเผย การกำกับดูแลไม่ใช่กิจกรรมเดี่ยวอีกต่อไป แต่กลายเป็นสิ่งที่มันเป็นอยู่แล้วสำหรับงานของมนุษย์ คือสิ่งที่ทีมทำร่วมกันในพื้นที่ที่ใช้ร่วมกัน ด้วยเครื่องมือที่มีอยู่แล้ว
ร่องรอยของบริบทอยู่คู่กับงาน
นี่คือส่วนที่ทวีคูณ เพราะเอเจนต์ทำงานอยู่ภายในระบบของทีมคุณ บริบทของมันจึงยึดโยงอยู่กับงาน ไม่ใช่กับเซสชันของคนใดคนหนึ่ง
ทุก issue ที่ TaskGoblin ทำงานด้วยจะมีเธรดของตัวเอง คือบทสนทนา การตัดสินใจ บรานช์ที่มันพุชขึ้นไป และหน่วยความจำส่งต่อที่นำสิ่งที่เรียนรู้ไปใช้ในการรันครั้งถัดไป กลับมาอีกสามวันต่อมาพร้อมคอมเมนต์ติดตามผล มันจะดำเนินการต่อโดยมีประวัติอยู่ในมือ ไม่ใช่เพราะมีใครวางบริบทกลับเข้าไปใหม่ แต่เพราะบริบทไม่เคยหายไปไหนเลย ร่องรอยนั้นอยู่บน issue และ merge request ซึ่งเป็นที่ที่มนุษย์คนถัดไป — หรือการรันครั้งถัดไป — จะเข้าไปดูจริง ๆ
ประเด็นที่มักถูกมองข้ามคือผู้ที่ได้ประโยชน์หลักจากร่องรอยนี้ไม่ใช่มนุษย์ แต่เป็นตัวเอเจนต์เอง เอเจนต์ที่สามารถเห็นว่าการเปลี่ยนแปลงล่าสุดของไฟล์นี้ถูกรีวิวอย่างไร ทีมตัดสินใจอะไรใน issue ที่ห่างออกไปสองลิงก์ และเหตุใดแนวทางก่อนหน้าจึงถูกย้อนกลับ ย่อมเป็นวิศวกรที่ดีกว่าเอเจนต์ที่ตื่นขึ้นในห้องว่างเปล่าทุกเช้าอย่างชัดเจน
ทีมสอนแค่ครั้งเดียว
บริบทที่ใช้ร่วมกันเปลี่ยนงานของเอเจนต์ให้กลายเป็นฟลายวีล ทุก merge request ที่ผ่านการรีวิว ทุกการแก้ไขที่เพื่อนร่วมทีมทิ้งไว้เป็นคอมเมนต์ ทุกการตัดสินใจที่บันทึกไว้ใน issue ทำให้การรันครั้งถัดไปมีข้อมูลที่ดีขึ้น — สำหรับทุกคน ไม่ใช่แค่คนที่บังเอิญอยู่ในเซสชันนั้น ทีมสอนเอเจนต์เพียงครั้งเดียวอย่างเปิดเผย แทนที่แต่ละคนจะสอนสำเนาของตัวเองแบบส่วนตัว
ศูนย์บัญชาการส่วนตัวไม่สามารถหมุนฟลายวีลนี้ได้ ไม่ว่ามันจะดีขึ้นแค่ไหนก็ตาม เพราะการเรียนรู้เกิดขึ้นในที่ที่มีเพียงคนคนเดียวมองเห็น
แบบทดสอบง่าย ๆ
หากคุณอยากรู้ว่าเครื่องมือหนึ่งอยู่ฝั่งไหนของเส้นแบ่งนี้ ให้ลองถามสองคำถาม ใครก็ตามในทีมสามารถ @mention เอเจนต์ในที่ที่พวกเขาทำงานอยู่แล้วได้หรือไม่ และเมื่อทำเช่นนั้น เอเจนต์มาถึงพร้อมกับรู้ประวัติ — issue เธรด การรันครั้งก่อนหน้า — โดยไม่ต้องมีใครอธิบายซ้ำหรือไม่
หากคำตอบคือไม่ นั่นก็เป็นเครื่องมือส่วนตัว อาจจะเป็นเครื่องมือที่ดีมากก็ได้ — แต่คำถามสำหรับทีมได้เปลี่ยนไปแล้วจาก "เอเจนต์เขียนโค้ดได้ไหม" เป็น "เราจะมอบหมายงาน กำกับดูแล และเรียนรู้ไปพร้อมกับเอเจนต์ในฐานะทีมได้อย่างไร" คำถามนี้ตอบได้เฉพาะในพื้นที่ที่ใช้ร่วมกันเท่านั้น นี่คือเหตุผลที่ TaskGoblin ไม่ได้ถูกส่งมอบในรูปแบบหน้าต่างบนแล็ปท็อปของคุณ แต่เป็นเพื่อนร่วมทีมในเครื่องมือที่ทีมของคุณเปิดอยู่แล้วทุกเช้า