บรรณาธิการหมายเหตุ: เมื่อ AI Agent กลายเป็นราคาถูกลงและเข้าถึงได้ง่ายขึ้น การพัฒนาซอฟต์แวร์กำลังก้าวเข้าสู่ระยะใหม่: ปัญหาไม่ใช่การสามารถเปิดใช้งาน Agent ได้มากแค่ไหน แต่คือมนุษย์จะมีความสนใจเพียงพอในการจัดการ ตัดสิน และรวมผลลัพธ์ของพวกมันหรือไม่
บทความนี้เสนอแนวคิดที่ให้แรงบันดาลใจอย่างมาก—“ภาษีการจัดเรียง” ต้นทุนในการเริ่มต้น Agent นั้นต่ำมาก แค่ต้องใช้ Prompt หนึ่งประโยคหรือคลิกเพียงครั้งเดียว; แต่สิ่งที่มีต้นทุนสูงจริงๆ คือขั้นตอนถัดไป: การตรวจสอบว่าผลลัพธ์ถูกต้องหรือไม่ การเข้าใจผลกระทบต่อสถาปัตยกรรมระบบ การจัดการความขัดแย้งระหว่าง Agent ต่างๆ และสุดท้ายคือการตัดสินใจว่าโค้ดใดควรเข้าสู่สาขาหลัก งานเหล่านี้ไม่สามารถทำให้เกิดการขนานกันได้อย่างง่ายดาย และยังคงต้องกลับมาพึ่งพาทรัพยากรแบบลำดับเดียว: ความสามารถในการตัดสินใจของมนุษย์
ผู้เขียนเปรียบเทียบนักพัฒนาเป็น “GIL” ในระบบ AI Agent ซึ่งเป็นล็อกแบบเส้นเดียวที่จำกัดปริมาณการประมวลผลสูงสุดของระบบแบบขนาน แม้ Agent หลายตัวจะสามารถทำงานพร้อมกันได้ แต่เมื่อเข้าสู่ขั้นตอนการตัดสินโครงสร้าง การทบทวนโค้ด และการรวมการเปลี่ยนแปลงที่ขัดแย้งกัน ต้องกลับมาผ่านสมองของนักพัฒนาอีกครั้ง ดังนั้น ยิ่งมี Agent มากเท่าใด ก็ไม่ได้หมายความว่าผลลัพธ์จะสูงขึ้น แต่อาจทำให้คิวงานที่รอการทบทวนยาวขึ้น และทำให้นักพัฒนาต้องสลับบริบทบ่อยขึ้นและเกิดความเหนื่อยล้าทางปัญญา
นี่เป็นจุดหนึ่งที่มักถูกมองข้ามในกระแสความนิยมของเครื่องมือเขียนโปรแกรมด้วย AI: ความรู้สึกถึงประสิทธิภาพและผลผลิตที่แท้จริงไม่ได้เป็นสิ่งเดียวกันเสมอไป แผงควบคุมเอเจนต์ที่ทำงานเต็มหน้าจออาจสร้างความรู้สึกว่า “ผลิตได้มาก” แต่หากนักพัฒนาไม่ได้เข้าใจ ทบทวน และผสานการเปลี่ยนแปลงเหล่านั้นอย่างแท้จริง ระบบอาจสะสมสิ่งที่ไม่ใช่ผลผลิต แต่เป็นหนี้ทางเทคนิคและหนี้ทางความรู้
ดังนั้น สิ่งที่บทความนี้พูดถึงจริงๆ ไม่ใช่ "วิธีใช้ Agent ให้มากขึ้น" แต่คือ "วิธีออกแบบกระบวนการทำงานใหม่โดยเน้นที่ความสนใจของมนุษย์" ในยุคของ Agent ความสามารถสำคัญไม่ได้อยู่ที่แค่การตั้งคำถามหรือมอบหมายงาน แต่อยู่ที่การรู้ว่างานใดสามารถมอบให้เครื่องจักรประมวลผลแบบขนานได้ และงานใดต้องคงไว้ให้มนุษย์ตัดสินใจ; เมื่อใดควรทบทวนเป็นชุด และเมื่อใดควรหยุดการจัดเรียงและกลับมาโฟกัสที่ปัญหาหลักเพียงข้อเดียว
ปัญญาประดิษฐ์กำลังขยายความสามารถในการผลิตซอฟต์แวร์แบบพร้อมกัน แต่ความสนใจของมนุษย์ยังคงเป็นทรัพยากรที่หายากที่สุดและไม่สามารถจำลองได้ในระบบ งานไหลของเอเจนต์ที่สุกงอมอย่างแท้จริง ไม่ใช่การโยนภารกิจทั้งหมดให้กับเครื่องจักร แต่คือการออกแบบโครงสร้างความสนใจของตนเองอย่างรอบคอบ เหมือนการออกแบบระบบการผลิต
以下为原文:
ตอนนี้ การเปิดใช้งาน AI Agent จำนวนมากกลายเป็นเรื่องง่ายขึ้น แต่การที่มี Agent จำนวนมากทำงานพร้อมกันไม่ได้หมายความว่า “คุณ” จะเพิ่มขึ้น แบนด์วิดธ์ทางการรับรู้ของคุณไม่สามารถทำงานแบบขนานได้ การตัดสินใจทั้งหมดที่ใช้ในการนำทางพวกมัน ประเมินผลลัพธ์ และรวมหรือแก้ไขข้อมูล ล้วนต้องผ่านหน่วยประมวลผลแบบอนุกรมเดียวเท่านั้น — นั่นคือตัวคุณเอง
所谓“编排税”,本质上就是你忘记这一点后所付出的代价。而唯一真正的解决方法,是像设计任何并发系统一样,开始设计你自己的注意力。
ก่อนหน้านี้ฉันได้เข้าร่วมการอภิปรายวงกลมที่ Google I/O กับ Richard Seroter, Aja Hammerly และ Ciera Jaspan เพื่อพูดคุยเกี่ยวกับสภาพปัจจุบันของวิศวกรรมซอฟต์แวร์ และว่ามันอาจพัฒนาไปในทิศทางใดต่อไป ในช่วงท้ายของการอภิปราย Richard ได้ถามเราว่า: สิ่งเดียวที่นักพัฒนาควรนำไปปรับเปลี่ยนหลังจากฟังการอภิปรายนี้คืออะไร?

ฉันได้พูดถึงสิ่งที่ฉันคิดซ้ำๆ มาหลายเดือนแล้ว: การรู้สึกว่าตัวเองยุ่งมาก ไม่ได้หมายความว่าคุณมีผลลัพธ์ที่แท้จริง คุณสามารถรัน Agent ได้ 20 ตัวพร้อมกันและรู้สึกว่าตัวเองยุ่งจนแทบไม่มีเวลาหายใจ แต่นั่นไม่ได้หมายความว่าคุณส่งมอบงานที่เทียบเท่ากับ Agent 20 ตัว
ในตอนต้นของการสนทนานั้น ริชาร์ดได้ตั้งชื่อให้กับคำถามนี้ เขากล่าวว่า: “สิ่งที่คุณเพิ่งพูดถึงนั้น แท้จริงแล้วคือการจัดการภาษี คุณไม่สามารถจัดการ Agent 20 ตัวได้สำเร็จด้วยความคิดของคุณเอง”
เขาพูดถูกต้องสมบูรณ์ ผมอยากอธิบายแนวคิดนี้ให้ละเอียดยิ่งขึ้น เพราะนี่ไม่ใช่ปัญหาเรื่องวินัยส่วนตัว แต่เป็นปัญหาด้านโครงสร้าง
ในวงโต๊ะกลมมีประโยคหนึ่งที่ฉันพูดออกมาโดยไม่ได้คิดมาก แต่กลับยังคงวนเวียนอยู่ในหัวฉันมาตลอด: การรัน Agent หลายตัว ไม่ได้หมายความว่าโลกนี้จะมีคุณเพิ่มขึ้นอีกคน
ความไม่สมดุลที่ผู้คนไม่ได้นับรวม
ในกระบวนการทำงานของตัวแทนมีความไม่สมดุลแบบไม่สมมาตรที่ซ่อนอยู่
การเริ่มต้น Agent นั้นถูกมาก คุณแค่ต้องพิมพ์แป้นพิมพ์ครั้งเดียวหรือเขียนคำสั่ง Prompt หนึ่งประโยค แต่การปิดวงจรของ Agent นั้นไม่ถูกเลย ต้องมีใครสักคนตรวจสอบว่าผลลัพธ์ที่มันส่งกลับมาถูกต้องหรือไม่ และประสานงานกับเนื้อหาที่ Agent อื่นๆ เปลี่ยนแปลงไป
คนนี้คือคุณ และคุณมีเพียงคนเดียว
เดือนที่แล้ว ฉันเคยเขียนถึงส่วนหนึ่งของปัญหานี้ในบทความเรื่อง “ขีดจำกัดของ Agent แบบขนานของคุณ” โดยเน้นไปที่ความวิตกกังวลเชิงสิ่งแวดล้อม: คุณไม่รู้ว่าเส้นทางขนานใดกำลังล้มเหลวอย่างเงียบๆ บทความนี้ต้องการพูดถึงโครงสร้างที่อยู่เบื้องหลังต้นทุนนี้
เมื่อคุณเริ่มมองการพัฒนาเอเจนต์เป็นระบบแบบขนาน คุณจะตระหนักว่ามนุษย์นั้นเป็นเพียงส่วนประกอบหนึ่งในระบบนี้เท่านั้น คือส่วนประกอบที่ช้าและทำงานแบบลำดับ
คุณคือทรัพยากรแบบเดียวเท่านั้น
หากคุณเคยเขียนโค้ดแบบพร้อมกัน คุณก็มีสัญชาตญาณที่จะเข้าใจปัญหานี้อยู่แล้ว เพียงแต่คุณเคยใช้สัญชาตญาณนี้ในที่ผิด
Python มี Global Interpreter Lock (GIL) คุณสามารถสร้างเธรดได้ไม่จำกัด แต่ในเวลาเดียวกันจะมีเพียงเธรดเดียวที่สามารถดำเนินการรหัสไบต์ของ Python ได้ เนื่องจากต้องรับกุญแจนี้ก่อน
คุณคือ GIL ของ AI Agent ของคุณ
พวกเขาสามารถทำงานพร้อมกันได้ทั้งหมด แต่เมื่อการทำงานของพวกเขาต้องเข้าใจโครงสร้างระบบอย่างแท้จริง หรือต้องแก้ไขการรวมความขัดแย้ง พวกเขาต้องรับกุญแจนี้ก่อน และกุญแจนี้มีเพียงหนึ่งกุญแจเท่านั้น ซึ่งคุณเป็นผู้ถือ
กฎของอัมดาห์อธิบายเรื่องนี้อย่างแม่นยำมาก: ขีดจำกัดของการเร่งความเร็วที่ได้จากการทำงานแบบขนาน ขึ้นอยู่กับส่วนของงานที่ยังต้องดำเนินการแบบลำดับอยู่ หากกระบวนการของคุณมีส่วนใหญ่ที่ไม่สามารถทำงานแบบขนานได้ ไม่ว่าคุณจะเพิ่มจำนวนคอร์มากแค่ไหน สุดท้ายคุณก็จะชนกับขีดจำกัดที่แน่นอน
ในการพัฒนาเอเจนต์ ส่วนที่เรียงลำดับนี้คือความสามารถในการตัดสินใจ
การเปิดใช้งานตัวแทน 8 ตัวจะไม่เร่งเวลาในการตัดสินใจของคุณ มันจะทำให้คิวที่รอให้คุณจัดการยาวขึ้นเท่านั้น
นี่คือข้อเท็จจริงที่เก่าแก่มากในด้านวิศวกรรมประสิทธิภาพ แต่หลายคนยังคงรู้สึกประหลาดใจกับมัน: การปรับปรุงส่วนที่ไม่ใช่ข้อจำกัด จะไม่ช่วยเพิ่มปริมาณงานที่สามารถประมวลผลได้ทั้งหมด คุณแค่กำลังสะสมงานที่ยังไม่เสร็จไว้ก่อนข้อจำกัด
การปรับปรุงเอเจนต์นั้นช่วยเพิ่มประสิทธิภาพในส่วนที่ไม่ได้เป็นข้อจำกัดจริงๆ ข้อจำกัดที่แท้จริงอยู่ที่ขั้นตอนการทบทวน และปริมาณการประมวลผลทั้งหมดของระบบก็เท่ากับปริมาณการประมวลผลของขั้นตอนนี้
การจัดสรรภาษีคือช่องว่างเชิงโครงสร้างระหว่างความสามารถของตัวแทนกับเนื้อหาที่คุณสามารถรวมได้จริง มันเกิดขึ้นเมื่อคุณให้ทรัพยากรแบบเส้นเดียวจัดการระบบแบบพร้อมกัน
การทนต่อไปไม่สามารถแก้ไขขีดจำกัดเชิงโครงสร้างได้
ในงานปาร์ตี้วงกลมนั้น ฉันเคยพูดว่า: ฉันไม่เคยรู้สึกว่าเครื่องมือของตัวเองมีประสิทธิภาพเท่านี้มาก่อน แต่ฉันก็ไม่เคยรู้สึกเหนื่อยเท่านี้มาก่อน
ความรู้สึกทั้งสองนี้ล้วนเป็นความจริงอย่างสมบูรณ์ และเกิดจากสาเหตุเดียวกัน
ความเหนื่อยล้านี้มีแหล่งที่มาที่เฉพาะเจาะจง: มันคือความรู้สึกเมื่อบีบให้โปรเซสเซอร์แบบอนุกรมทำงานที่ 100% โดยไม่เหลือพื้นที่ว่างเลย
ทุกครั้งที่คุณหันกลับไปตรวจสอบ Agent ที่พ้นจากขอบเขตความสนใจของคุณ คุณจะต้องจ่ายค่าใช้จ่ายในการสลับบริบท คุณต้องล้างสมองของคุณแล้วโหลดบริบทใหม่ตั้งแต่เริ่มต้น
ซีพียูสามารถทำสิ่งนี้ได้ในไมโครวินาที แม้เช่นนั้น สถาปนิกยังคงหลีกเลี่ยงการสลับบ่อยๆ แต่คุณต้องใช้เวลาหลายนาทีในการทำ และไม่สามารถกู้คืนบริบทได้อย่างสมบูรณ์แบบ
5 ตัวเอเจนต์ไม่ใช่การซ้ำงานเดิม 5 ครั้ง มันคือการโหลดบริบทใหม่แบบเริ่มต้นจากศูนย์ 5 ครั้ง บวกกับกระบวนการสมองที่ทำงานแบบเรียลไทม์ด้านหลัง ซึ่งคอยกังวลว่าตอนนี้คุณควรไปตรวจสอบเอเจนต์ตัวไหน
คุณไม่สามารถแก้ไขข้อจำกัดเชิงโครงสร้างด้วยการ “พยายามมากขึ้น” ภาษีนี้ต้องจ่ายอยู่ดี
หากคุณพยายามต่อต้าน มันจะกลับมาในรูปแบบอื่นในที่สุด: ไม่ใช่การทบทวนโค้ดที่เริ่มตื้นเขินขึ้นเรื่อยๆ ก็คือคุณเข้าสู่สถานะ “ยอมจำนนทางปัญญา” — เพราะการสร้างการตัดสินใจของตัวเองใช้พลังงานทางความสนใจมากเกินไป คุณจึงเลือกรับโค้ดที่เอเจนต์เขียนมาโดยไม่ตั้งคำถาม
คุณสามารถจ่ายภาษีนี้อย่างกระตือรือร้น หรือปล่อยให้มันค่อยๆ ทำลายความเข้าใจของคุณเกี่ยวกับระบบของคุณในที่มืด
ออกแบบความสนใจของคุณเหมือนการออกแบบระบบ
ดังนั้น คุณต้องจัดการความสนใจของคุณเหมือนเป็นทรัพยากรแบบลำดับที่มีจำกัด
คุณไม่ได้ออกแบบระบบกระจายแบบไม่พิจารณาจุดคอขวดเลย ดังนั้น โปรดให้ความเคารพกับสมองของคุณในลักษณะเดียวกัน
นี่คือวิธีบางอย่างที่ได้ผลจริงสำหรับฉัน:
ขยายทีมเอเจนต์ตามความสามารถในการทบทวน ไม่ใช่ตามความสามารถด้านอินเตอร์เฟซผู้ใช้
ระบบแบบขนานที่ดีจะใช้กลไกการย้อนแรงเพื่อป้องกันไม่ให้คิวขยายตัวไม่จำกัด ผู้ผลิตควรลดความเร็วให้สอดคล้องกับความสามารถในการประมวลผลของผู้บริโภค
จำนวน Agent ของคุณคือผู้ผลิต ความสามารถในการทบทวนของคุณคือผู้บริโภค จำนวน Agent แบบขนานที่เหมาะสมควรเท่ากับจำนวนที่คุณสามารถทบทวนโค้ดได้อย่างรอบคอบ สำหรับคนส่วนใหญ่ จำนวนนี้มักจะเป็นตัวเลขหลักเดียวที่ต่ำมาก
เครื่องมือ AI ย่อมยินดีให้คุณเปิดใช้งานตัวแทน 20 ตัว แต่นั่นเป็นเพียงฟีเจอร์อินเทอร์เฟซผู้ใช้ ไม่ได้หมายความว่าคุณมีความสามารถจริงในการจัดการพวกมัน
จัดหมวดหมู่งาน
เมื่อริชชาร์ดถามฉันว่าจะจัดการเรื่องนี้อย่างไร ฉันได้กล่าวถึงวิธีนี้แล้ว ฉันจะแบ่งงานออกเป็นสองกอง
ชุดแรก เป็นงานที่ค่อนข้างเป็นอิสระ ฉันยินดีมอบหมายให้ Agent ที่ทำงานบนคลาวด์เบื้องหลัง งานเหล่านี้สามารถดำเนินการแบบอะซิงโครนัสได้ โดยทั่วไปฉันแค่ต้องตรวจสอบครั้งสุดท้ายก่อนส่ง
กองที่สองคืองานที่ซับซ้อน งานที่แท้จริงคือการตัดสินใจ เช่น บั๊กที่แปลกประหลาด หรือการออกแบบสถาปัตยกรรม
ข้อผิดพลาดที่ใหญ่ที่สุดคือการพยายามทำให้งานประเภทที่สองทำงานแบบขนาน การประมวลผลแบบขนานสำหรับหลายงานที่ซับซ้อนจะไม่เพิ่มผลลัพธ์ของคุณ แต่จะทำให้ล็อกถูกแย่งชิงซ้ำแล้วซ้ำเล่า สุดท้ายผลลัพธ์ทั้งหมดจะแย่ลง
รีวิวเป็นชุด
การสลับบริบททุกครั้งจะทำให้คุณต้องเสียค่าใช้จ่ายสูง การนั่งทบทวนผลลัพธ์ของตัวแทน 4 ตัวในครั้งเดียว ถูกกว่าการดูหนึ่งตัว แล้วไปทำอย่างอื่น ก่อนกลับมาเริ่มใหม่เพื่อดูอีกตัวหนึ่ง
ให้สายจูงแก่เอเจนต์ยาวขึ้น ปล่อยให้งานสะสมเล็กน้อย แล้วจัดการเป็นชุดเดียว
ใช้การล็อกนี้เฉพาะในการตรวจสอบ
อย่าเสียเวลาสมองของคุณกับสิ่งที่เครื่องจักรสามารถตรวจสอบได้ด้วยตัวเอง ให้ Agent เขียนการทดสอบที่ผ่าน หรือสร้างภาพหน้าจอ
ปล่อยให้ส่วนที่น่าเบื่อแต่ตรวจสอบได้ 80% พิสูจน์ตัวเอง ดังนั้นความสนใจอันมีค่าของคุณจะได้ใช้ไปกับส่วน 20% ที่ต้องการการตัดสินใจของมนุษย์เท่านั้น
Protect your serial time.
ข้อจำกัดต้องการเวลาที่ดีที่สุดของคุณ ไม่ใช่ช่วงเวลาที่เหลือเป็นชิ้นๆ ระหว่างการตรวจสอบ Agent แต่ละครั้ง
บางครั้ง การกระทำที่ใช้เลเวอเรจสูงสุดคือการหยุดการจัดเรียงทั้งหมด: ปิดคอมพิวเตอร์ที่เต็มไปด้วยเอเจนต์ แล้วมุ่งความสนใจไปที่คำถามเดียว และถือกุญแจนั้นไว้อย่างมั่นคงตลอดกระบวนการ
การจัดการไม่ใช่งานที่แท้จริง มันเป็นเพียงค่าใช้จ่ายที่เกิดขึ้นรอบๆ งาน
อจ้า ชี้ให้เห็นว่า ความสามารถด้านสถาปัตยกรรมตอนนี้ได้กลายเป็นทักษะที่เร่งด่วนที่สุด: คุณต้องรู้ว่าภารกิจใดเหมาะกับการใส่ไว้ใน Agent และภารกิจใดใหญ่เกินไปสำหรับมัน
ฉัน还想เพิ่มเติมอีก一点: คุณเองก็เป็นส่วนหนึ่งของระบบ này ความสนใจของคุณมีปริมาณการประมวลผลแบบอนุกรมที่รู้จักกันดีและต่ำมาก ระบบจะต้องให้ความเคารพตัวเลขนี้ หรือไม่ก็หลีกเลี่ยงมันโดยการลดมาตรฐานของคุณอย่างเงียบๆ
ความยุ่งไม่ได้หมายถึงผลผลิตสูง
สิ่งนี้สำคัญมาก เพราะรูปแบบความล้มเหลวแบบนี้แทบจะมองไม่เห็นสำหรับคุณเอง
ตัวแทน 20 ตัวที่กำลังทำงานอยู่จะให้คุณรู้สึกเหมือน “ผลิตภาพพุ่งสูง” แผงควบคุมเต็มไปด้วยข้อมูลและทุกอย่างกำลังเคลื่อนไหว แต่ความรู้สึกนี้ได้แยกออกจากความจริงของการรวมโค้ดคุณภาพสูงเข้าสู่สาขาหลักแล้ว
คุณอาจยุ่งจนสุดขีด แต่กลับได้ผลลัพธ์จริงๆ น้อยมาก จากมุมมองภายใน ทั้งสองอย่างนี้แทบจะเหมือนกัน
Ciera ได้กล่าวถึงงานวิจัยของ Margaret-Anne Storey เกี่ยวกับหนี้สิน เราได้พูดคุยเกี่ยวกับหนี้ทางเทคนิคและหนี้ทางปัญญา
การไม่จ่ายภาษีการจัดการการชำระเงิน จะทำให้คุณสะสมหนี้ทั้งสองประเภทพร้อมกัน
คุณรวมสิ่งที่คุณไม่ได้อ่านอย่างตั้งใจ เข้าใจระบบโค้ดของคุณล้าสมัยอย่างสิ้นเชิง ปัญหาเหล่านี้จะไม่ปรากฏบนแดชบอร์ดวันนี้ แต่จะปรากฏเมื่อเกิดข้อผิดพลาดในสภาพแวดล้อมการผลิต—ในขณะนั้น คุณจะมองดูระบบและตระหนักทันทีว่าคุณไม่รู้แล้วว่ามันทำงานอย่างไร
ดังนั้น ข้อสรุปที่แท้จริงคือ: การเปิดใช้งาน Agent ไม่ใช่ความสามารถ ใครก็สามารถรันได้ 20 ตัว
ความสามารถที่แท้จริงคือการออกแบบระบบให้รอบแหล่งทรัพยากรแบบอนุกรมที่ไม่สามารถคัดลอกหรือประมวลผลแบบขนานได้
ทรัพยากรนี้คือความสนใจของคุณ
ออกแบบมันเหมือนกับการออกแบบองค์ประกอบสำคัญที่ระบบผลิตใช้พึ่งพา
