สถานที่เริ่มต้นในการรันเอเจนต์เขียนโค้ดทุกวันนี้คือภายในเอดิเตอร์ของคุณเอง ไม่ว่าจะเป็น Cursor, Claude Code หรือผู้ช่วยที่ฝังอยู่ใน IDE ของคุณ — พวกมันนั่งอยู่ข้างๆ คุณ คุณเฝ้าดูมันทำงาน คุณอนุมัติทุกขั้นตอน สิ่งนี้รู้สึกเป็นธรรมชาติเพราะมันเลียนแบบการเขียนโค้ดคู่ (pair programming) นั่นคือมีนักพัฒนาจูเนียร์ที่เร็วมากอยู่ข้างไหล่คุณ ในขณะที่คุณยังคงกุมพวงมาลัยอยู่
โมเดลนี้เหมาะสมอย่างยิ่งกับเอเจนต์ที่ต้องการการกำกับดูแลตลอดเวลา ปัญหาคือเอเจนต์ต้องการการกำกับดูแลน้อยลงทุกเดือน และยิ่งพวกมันเป็นอิสระมากขึ้นเท่าไหร่ ก็ยิ่งดูแปลกมากขึ้นเท่านั้นที่จะผูกมันไว้กับแล็ปท็อปเครื่องเดียวที่ตื่นอยู่เฉพาะเวลาที่คุณตื่นเท่านั้น
เพดานของการทำงานแบบโลคัล
เอเจนต์แบบโลคัลรับเอาข้อจำกัดทั้งหมดของคุณมาด้วย มันทำงานในขณะที่เครื่องของคุณเปิดอยู่ และหยุดเมื่อคุณปิดเครื่อง มันแย่งใช้ CPU และหน่วยความจำเดียวกันกับเอดิเตอร์ เบราว์เซอร์ และการบิลด์ของคุณ มันทำงานทีละอย่าง เพราะคุณก็เฝ้าดูได้ทีละอย่างเช่นกัน และทุกสิ่งที่มันทำเกิดขึ้นในที่ที่มีเพียงคุณเท่านั้นที่มองเห็น
ไม่มีสิ่งใดในนี้เป็นข้อบกพร่องของเครื่องมือเลย — มันคือตรรกะของคำว่า "โลคัล" เอเจนต์อาศัยอยู่ในที่ที่คุณอาศัยอยู่ ดังนั้นมันจึงถูกจำกัดด้วยทุกสิ่งที่จำกัดตัวคุณเอง ไม่ว่าจะเป็นเวลาทำงาน ฮาร์ดแวร์ ความสนใจ และดวงตาเพียงคู่เดียวของคุณ ตอนที่เอเจนต์ยังต้องการมนุษย์เฝ้าดูทุกขั้นตอน ข้อจำกัดเหล่านี้ไม่มีต้นทุนอะไร แต่เมื่อมันไม่ต้องการอีกต่อไป ข้อจำกัดเหล่านั้นก็กลายเป็นต้นทุนล้วนๆ
ทางเลือกแบบอะซิงโครนัสและรีโมต
อีกโมเดลหนึ่งคือโมเดลที่เราสร้าง TaskGoblin ขึ้นมารอบๆ มัน นั่นคือเอเจนต์ไม่ได้อาศัยอยู่ในเอดิเตอร์ของคุณเลย มันอาศัยอยู่บนโครงสร้างพื้นฐานเฉพาะ และเข้าถึงคุณผ่านเครื่องมือที่ทีมของคุณใช้อยู่แล้ว ไม่ว่าจะเป็น issue ใน Linear, merge request ใน GitLab หรือ GitHub, หรือเธรดใน Slack คุณมอบหมายงานให้มันเหมือนกับที่คุณจะมอบหมายงานให้เพื่อนร่วมทีมที่อยู่คนละไทม์โซน แล้วมันก็ไปทำงานนั้นในแซนด์บ็อกซ์บนคลาวด์ ในขณะที่คุณไปทำอย่างอื่นต่อ
การเปลี่ยนแปลงนี้ฟังดูเหมือนเป็นเรื่องของสถานที่ที่การประมวลผลเกิดขึ้น แต่ที่จริงแล้วมันคือเรื่องของสิ่งที่เอเจนต์ได้รับอนุญาตให้เป็น เมื่อย้ายมันออกจากแล็ปท็อป ข้อจำกัดของคำว่า "โลคัล" ก็หลุดออกไปทีละอย่าง:
- มันทำงานแบบขนาน issue สิบรายการสามารถดำเนินการพร้อมกันได้ เพราะไม่มีมนุษย์คนใดต้องเฝ้าดูแต่ละรายการ
- มันทำงานตลอดเวลา เอเจนต์รีโมตไม่หยุดทำงานเมื่อคุณปิดแล็ปท็อป งานที่มอบหมายตอนหกโมงเย็นจะเสร็จภายในเช้าวันรุ่งขึ้น จำนวนชั่วโมงเอเจนต์ที่ใช้ได้ในหนึ่งวันไม่ได้ถูกจำกัดด้วยเวลาทำงานของคุณอีกต่อไป
- มันทำงานบนโครงสร้างพื้นฐานที่สร้างมาเพื่อมันโดยเฉพาะ ไม่ต้องแย่งทรัพยากรกับเอดิเตอร์ของคุณบนแล็ปท็อปของนักพัฒนา
- มันทำงานในที่ที่ทีมมองเห็นได้ ผลลัพธ์คือ merge request และประวัติความคิดเห็น ไม่ใช่เซสชันส่วนตัว — การกำกับดูแลกลายเป็นสิ่งที่ทั้งทีมทำร่วมกันในพื้นที่ที่ใช้ร่วมกัน
- มันเป็นเนทีฟกับแพลตฟอร์ม มันถูกกระตุ้นโดยเหตุการณ์ที่ไหลผ่านเครื่องมือของคุณอยู่แล้ว ไม่ว่าจะเป็นการมอบหมายงาน การกล่าวถึง (mention) หรือ pull request ใหม่ แทนที่จะเป็นการที่คุณต้องเปิดแอปเอง
- มันถูกแยกส่วนโดยการออกแบบ การรันแต่ละครั้งคือสภาพแวดล้อมแซนด์บ็อกซ์ใหม่ที่ใช้ข้อมูลรับรองที่จำกัดขอบเขตและถูกไกล่เกลี่ยผ่านตัวกลาง ซึ่งเอเจนต์ไม่เคยถือครองไว้เอง ซึ่งเป็นระดับความปลอดภัยที่โพรเซสที่รันอยู่บนเครื่องของคุณเองไม่สามารถเทียบได้
ข้อได้เปรียบเหล่านี้แต่ละอย่างไม่ได้ดูยิ่งใหญ่นักหากมองแยกกัน แต่เมื่อรวมกันแล้วมันกลายเป็นช่องว่างที่ยากจะโต้แย้ง นั่นคือเอเจนต์สิบตัวที่ทำงานตลอดเวลา เทียบกับเอเจนต์หนึ่งตัวที่หยุดทำงานเมื่อคุณหยุด
"แต่ฉันต้องการฟีดแบ็กลูปที่แน่นเฟ้น"
ข้อโต้แย้งที่หนักแน่นที่สุดต่อการทำงานแบบรีโมตคือลูปที่แน่นเฟ้น นั่นคือการโต้ตอบไปมาอย่างรวดเร็วในการเฝ้าดูเอเจนต์ แก้ไขระหว่างทาง และบังคับทิศทางด้วยสัญชาตญาณ สิ่งนี้เป็นเรื่องจริง และสำหรับงานที่เป็นการสำรวจอย่างแท้จริง เช่น การทดลองไอเดีย หรือการดีบักสิ่งที่คุณเองก็ยังไม่เข้าใจ การทำงานแบบโลคัลยังคงเป็นเครื่องมือที่เหมาะสม
แต่มีสองสิ่งที่เป็นจริงเกี่ยวกับลูปนี้ มันเป็นสัดส่วนของงานที่น้อยกว่าที่รู้สึก งานวิศวกรรมจริงจำนวนมากคืองานที่ระบุสเปกไว้อย่างชัดเจนซึ่งไม่ต้องการมนุษย์คอยเฝ้า และมันจะเล็กลงทุกครั้งที่เอเจนต์เก่งขึ้น เพราะเหตุผลที่คุณต้องเฝ้าดูก็คือคุณยังไม่ไว้ใจให้เอเจนต์ทำงานจนเสร็จโดยไม่มีคนดูแล และความไว้ใจนั้นเองที่กำลังเพิ่มขึ้น ลูปที่แน่นเฟ้นจะไม่หายไป แต่มันจะกลายเป็นส่วนที่เล็กลงเรื่อยๆ ของแต่ละวัน
"แต่เรื่องความปลอดภัยล่ะ"
ข้อโต้แย้งที่จริงจังที่สุดไม่ใช่เรื่องเวิร์กโฟลว์ แต่เป็นเรื่องความไว้วางใจ นั่นคือการวางโค้ดและข้อมูลรับรองของคุณไว้บนโครงสร้างพื้นฐานของคนอื่น เรื่องนี้สมควรได้รับคำตอบที่จริงจังแทนที่จะโบกมือผ่านไป และมันคือส่วนใหญ่ของสิ่งที่เราสร้างขึ้น การรันแต่ละครั้งถูกแยกส่วนตามแซนด์บ็อกซ์ ความลับถูกเข้ารหัสขณะจัดเก็บและไม่เคยถูกวางไว้ในสภาพแวดล้อมของเอเจนต์ ข้อมูลขององค์กรแต่ละแห่งถูกแบ่งแยกอย่างเข้มงวดจากองค์กรอื่นๆ ทั้งหมด การทำงานแบบรีโมตไม่ได้แปลว่าไม่ระมัดระวัง หากทำอย่างถูกต้อง แซนด์บ็อกซ์ที่ออกแบบมาเฉพาะพร้อมข้อมูลรับรองที่ถูกไกล่เกลี่ยผ่านตัวกลางนั้น ป้องกันได้ดีกว่าเอเจนต์ที่วิ่งอย่างอิสระบนแล็ปท็อปของนักพัฒนาโดยมีโทเค็นจริงอยู่ในสภาพแวดล้อมของมัน
ทิศทางที่กำลังมุ่งไป
เราไม่ได้อ้างว่าการทำงานแบบโลคัลจะหายไป งานที่เป็นการสำรวจและสภาพแวดล้อมบางแห่งที่มีข้อจำกัดด้านการปฏิบัติตามกฎระเบียบจะยังคงมีที่ทางให้เอเจนต์ในเอดิเตอร์ต่อไปอีกนาน ข้อกล่าวอ้างของเรานั้นแคบกว่า แต่เราคิดว่ายากที่จะหลีกเลี่ยง นั่นคือเมื่อเอเจนต์สามารถทำงานจริงให้เสร็จได้โดยไม่ต้องมีมนุษย์เฝ้าดู จุดศูนย์ถ่วงจะย้ายออกจากแล็ปท็อปไปสู่โครงสร้างพื้นฐานที่ใช้ร่วมกันและทำงานตลอดเวลา ไม่ใช่เพราะนักพัฒนาชอบแบบนั้น แต่เพราะทีมที่รันเอเจนต์สิบตัวตลอดเวลาจะผลิตผลงานได้มากกว่าทีมที่รันเพียงตัวเดียวจนกว่าจะปิดฝาเครื่องอย่างง่ายดาย
นั่นคือการเดิมพันที่ TaskGoblin สร้างขึ้นมาบนพื้นฐานนี้ ไม่ใช่หน้าต่างที่ดีขึ้นสำหรับมองดูเอเจนต์บนเครื่องของคุณ แต่เป็นเอเจนต์ที่ไม่เคยอยู่บนเครื่องของคุณตั้งแต่แรก รอคอยอยู่ในเครื่องมือที่ทีมของคุณใช้อยู่แล้ว พร้อมทำงานก่อนที่คุณจะดื่มกาแฟหมดแก้วเสียอีก