อินเทอร์เน็ตกำลังพัฒนา เรากำลังก้าวข้ามเครือข่ายที่ออกแบบมาสำหรับการท่องเว็บของมนุษย์ ไปสู่โครงสร้างพื้นฐานที่รองรับเอเจนต์อิสระที่ทำงานร่วมกันข้ามระบบ กระบวนทัศน์ใหม่นี้ต้องการสแต็กที่แตกต่างไปจากเดิมอย่างสิ้นเชิง ซึ่งสร้างขึ้นจากส่วนประกอบโอเพนซอร์สที่อำนวยความสะดวกในการสื่อสาร การใช้เครื่องมือ และการประมวลผลแบบเรียลไทม์อย่างราบรื่น
หัวใจสำคัญของสแต็กที่เกิดขึ้นใหม่นี้คือเทคโนโลยีหลักสี่ประการ:
- Agent2Agent (A2A): พัฒนาโดย Google, A2A เป็นโปรโตคอลที่ช่วยให้เอเจนต์ค้นพบและสื่อสารกันได้ โดยมีวิธีที่เป็นมาตรฐานสำหรับเอเจนต์ในการประกาศความสามารถ แลกเปลี่ยนงาน และสตรีมการอัปเดต
- Model Context Protocol (MCP): บุกเบิกโดย Anthropic, MCP เป็นมาตรฐานสำหรับการใช้เครื่องมือและบริบทภายนอก โดยกำหนดวิธีที่เอเจนต์สามารถเข้าถึงและใช้ API และเครื่องมือภายนอกได้ ทำให้สามารถโต้ตอบกับโลกแห่งความเป็นจริงได้
- Apache Kafka: แพลตฟอร์มสตรีมมิ่งเหตุการณ์แบบกระจาย ซึ่งทำหน้าที่เป็นระบบประสาทส่วนกลางสำหรับการสื่อสารของเอเจนต์ Kafka มีวิธีที่เชื่อถือได้และปรับขนาดได้เพื่อประสานงานการโต้ตอบระหว่างเอเจนต์
- Apache Flink: เอ็นจินประมวลผลแบบเรียลไทม์ที่เสริมสร้าง ตรวจสอบ และดำเนินการกับสตรีมกิจกรรมของเอเจนต์ Flink ช่วยให้เอเจนต์ตอบสนองต่อเหตุการณ์ได้แบบเรียลไทม์ ตัดสินใจ และประสานงานเวิร์กโฟลว์ที่ซับซ้อน
ความท้าทายของระบบนิเวศเอเจนต์ที่กระจัดกระจาย
ปัจจุบัน การพัฒนา AI Agent เผชิญกับความท้าทายที่สำคัญที่เกี่ยวข้องกับการกระจายตัวและการขาดการทำงานร่วมกันได้ ความท้าทายเหล่านี้ขัดขวางการสร้างระบบ AI ที่แข็งแกร่งและปรับขนาดได้:
- เอเจนต์ที่แยกตัว: เอเจนต์มักทำงานในไซโล ไม่สามารถสื่อสารหรือแบ่งปันข้อมูลได้ ตัวอย่างเช่น เอเจนต์ CRM อาจไม่ทราบข้อมูลเชิงลึกที่ค้นพบโดยเอเจนต์คลังข้อมูล ซึ่งนำไปสู่โอกาสที่พลาดไปและความไม่มีประสิทธิภาพ
- การใช้เครื่องมือที่ไม่ยืดหยุ่น: หากไม่มีโปรโตคอลที่เป็นมาตรฐานสำหรับการเรียกใช้เครื่องมือและ API เอเจนต์จะต้องพึ่งพาการรวมโค้ดแบบตายตัวซึ่งยากต่อการบำรุงรักษาและนำกลับมาใช้ใหม่ได้ ซึ่งจำกัดความสามารถในการปรับตัวเข้ากับการเปลี่ยนแปลงสภาพแวดล้อมและการผสานรวมกับระบบใหม่ๆ
- เฟรมเวิร์กที่ไม่สอดคล้องกัน: รันไทม์ของเอเจนต์ที่แตกต่างกันใช้โมเดลที่แตกต่างกัน โดยปฏิบัติกับเอเจนต์เป็นแชทบอท กราฟวัฏจักรแบบมีทิศทาง (DAG) หรือนักวางแผนแบบเรียกซ้ำ การขาดความสอดคล้องกันนี้ทำให้ยากต่อการสร้างเอเจนต์แบบพกพาและทำงานร่วมกันได้
- การพัฒนาที่เน้นต้นแบบ: เอเจนต์จำนวนมากได้รับการออกแบบให้เป็นต้นแบบแบบครั้งเดียว ซึ่งขาดความแข็งแกร่งและความสามารถในการปรับขนาดที่จำเป็นสำหรับการใช้งานในโลกแห่งความเป็นจริง มักจะไม่สามารถแก้ไขปัญหาที่สำคัญ เช่น การลองใหม่ ความล้มเหลว การประสานงาน การบันทึก และการปรับขนาด
- การขาดแกนหลักของการทำงานร่วมกัน: การไม่มีบัสเหตุการณ์ส่วนกลาง หน่วยความจำที่ใช้ร่วมกัน หรือประวัติการทำงานของเอเจนต์ที่ตรวจสอบย้อนกลับได้ ขัดขวางการทำงานร่วมกันและการประสานงาน ข้อมูลมักจะติดอยู่ในการเรียก HTTP โดยตรงหรือฝังอยู่ในบันทึก ทำให้ยากต่อการทำความเข้าใจและแก้ไขข้อบกพร่องของพฤติกรรมเอเจนต์
ทางออกไม่ได้อยู่ที่การรวมเอเจนต์ทั้งหมดไว้ในแพลตฟอร์มแบบผูกขาด แต่เป็นการสร้างสแต็กที่ใช้ร่วมกันโดยอิงตามโปรโตคอลแบบเปิด สถาปัตยกรรมที่ขับเคลื่อนด้วยเหตุการณ์ และการประมวลผลแบบเรียลไทม์ แนวทางนี้ส่งเสริมการทำงานร่วมกัน ความสามารถในการปรับขนาด และความยืดหยุ่น
Agent2Agent: การสร้างมาตรฐานการสื่อสารของเอเจนต์
โปรโตคอล A2A ของ Google เป็นก้าวสำคัญในการแก้ไขปัญหาการทำงานร่วมกันของเอเจนต์ โดยมีโปรโตคอลสากลสำหรับการเชื่อมต่อเอเจนต์ โดยไม่คำนึงถึงที่มาหรือสภาพแวดล้อมรันไทม์ ด้วยการกำหนดภาษาที่ใช้ร่วมกันสำหรับเอเจนต์ A2A ช่วยให้พวกเขา:
- โฆษณาความสามารถ: เอเจนต์สามารถประกาศความสามารถของตนผ่าน
AgentCard
ซึ่งเป็นตัวอธิบาย JSON ที่ระบุสิ่งที่เอเจนต์ทำได้และวิธีการโต้ตอบด้วย สิ่งนี้ช่วยให้เอเจนต์อื่น ๆ ค้นพบและใช้บริการของตนได้ - แลกเปลี่ยนงาน: A2A อำนวยความสะดวกในการโต้ตอบที่มีโครงสร้างระหว่างเอเจนต์ผ่าน JSON-RPC โดยที่เอเจนต์หนึ่งขอความช่วยเหลือจากอีกเอเจนต์หนึ่งและรับผลลัพธ์หรือสิ่งประดิษฐ์ตอบกลับ ซึ่งช่วยให้เอเจนต์ทำงานร่วมกันในงานที่ซับซ้อนได้
- สตรีมการอัปเดต: เอเจนต์สามารถสตรีมความคิดเห็นแบบเรียลไทม์ระหว่างงานที่ใช้เวลานานหรืองานที่ทำงานร่วมกันโดยใช้เหตุการณ์ที่ส่งจากเซิร์ฟเวอร์ (SSE) สิ่งนี้ให้ความโปร่งใสและช่วยให้เอเจนต์ตรวจสอบความคืบหน้าและตอบสนองต่อการเปลี่ยนแปลงได้
- แลกเปลี่ยนเนื้อหาที่หลากหลาย: A2A รองรับการแลกเปลี่ยนไฟล์ ข้อมูลที่มีโครงสร้าง และแบบฟอร์ม ไม่ใช่แค่ข้อความธรรมดา สิ่งนี้ช่วยให้เอเจนต์แบ่งปันข้อมูลที่ซับซ้อนและทำงานร่วมกันในงานที่หลากหลายมากขึ้น
- รับประกันความปลอดภัย: A2A รวมการสนับสนุนในตัวสำหรับ HTTPS การตรวจสอบสิทธิ์ และการอนุญาต เพื่อให้มั่นใจในการสื่อสารที่ปลอดภัยระหว่างเอเจนต์ สิ่งนี้มีความสำคัญอย่างยิ่งต่อการปกป้องข้อมูลที่ละเอียดอ่อนและการป้องกันการเข้าถึงโดยไม่ได้รับอนุญาต
Model Context Protocol: การเปิดใช้งานการใช้เครื่องมือและการรับรู้บริบท
MCP ของ Anthropic เสริม A2A โดยสร้างมาตรฐานวิธีการที่เอเจนต์ใช้เครื่องมือและเข้าถึงบริบทภายนอก โดยกำหนดวิธีที่เอเจนต์สามารถเรียกใช้ API เรียกใช้ฟังก์ชัน และรวมเข้ากับระบบภายนอก ทำให้สามารถโต้ตอบกับโลกแห่งความเป็นจริงได้
ในขณะที่ A2A เน้นที่วิธีการที่เอเจนต์สื่อสารกัน MCP เน้นที่วิธีการที่เอเจนต์โต้ตอบกับสภาพแวดล้อมของตน เมื่อรวมกันแล้ว โปรโตคอลทั้งสองนี้จะให้พิมพ์เขียวที่ครอบคลุมสำหรับระบบนิเวศเอเจนต์ที่เชื่อมต่อกัน:
- MCP เพิ่มขีดความสามารถให้กับหน่วยสืบราชการลับของเอเจนต์แต่ละรายโดยการให้เข้าถึงเครื่องมือและข้อมูล
- A2A เปิดใช้งานหน่วยสืบราชการลับโดยรวมโดยการอำนวยความสะดวกในการสื่อสารและการทำงานร่วมกันระหว่างเอเจนต์
ความต้องการโครงสร้างพื้นฐานการสื่อสารที่แข็งแกร่ง
ลองนึกภาพบริษัทที่พนักงานสามารถสื่อสารกันได้โดยตรงผ่านข้อความแบบตัวต่อตัวเท่านั้น การแบ่งปันการอัปเดตจะต้องส่งข้อความถึงแต่ละคน และการประสานงานโครงการข้ามทีมต่างๆ จะต้องเกี่ยวข้องกับการส่งต่อข้อมูลระหว่างกลุ่มต่างๆ ด้วยตนเอง เมื่อบริษัทเติบโตขึ้น แนวทางนี้จะเริ่มวุ่นวายและไม่ยั่งยืนมากขึ้น
ในทำนองเดียวกัน ระบบนิเวศเอเจนต์ที่สร้างขึ้นบนการเชื่อมต่อโดยตรงจะเปราะบางและยากต่อการปรับขนาด เอเจนต์แต่ละรายต้องรู้ว่าจะพูดคุยกับใคร วิธีการเข้าถึงพวกเขา และเมื่อพวกเขาพร้อมใช้งาน เมื่อจำนวนเอเจนต์เพิ่มขึ้น จำนวนการเชื่อมต่อที่ต้องการจะเพิ่มขึ้นแบบทวีคูณ ทำให้ระบบไม่สามารถจัดการได้
A2A และ MCP ให้ภาษาและโครงสร้างแก่เอเจนต์ในการสื่อสารและดำเนินการ แต่ภาษาเพียงอย่างเดียวไม่เพียงพอ ในการประสานงานเอเจนต์จำนวนมากทั่วทั้งองค์กร จำเป็นต้องมีโครงสร้างพื้นฐานที่แข็งแกร่งเพื่อจัดการการไหลของข้อความและการตอบสนองของเอเจนต์
Apache Kafka และ Apache Flink: กระดูกสันหลังของการประสานงานของเอเจนต์
Apache Kafka และ Apache Flink จัดเตรียมโครงสร้างพื้นฐานที่จำเป็นในการรองรับการสื่อสารและการคำนวณของเอเจนต์ที่ปรับขนาดได้ Kafka ทำหน้าที่เป็นแพลตฟอร์มสตรีมมิ่งเหตุการณ์แบบกระจาย ในขณะที่ Flink เป็นเอ็นจินประมวลผลสตรีมแบบเรียลไทม์
Kafka ซึ่งเดิมพัฒนาที่ LinkedIn ทำหน้าที่เป็นบัสข้อความที่ทนทานและมีปริมาณงานสูง ช่วยให้ระบบเผยแพร่และสมัครรับข้อมูลสตรีมเหตุการณ์ได้แบบเรียลไทม์ แยกผู้ผลิตออกจากผู้บริโภคและรับประกันว่าข้อมูลจะทนทาน เล่นซ้ำได้ และปรับขนาดได้ Kafka ถูกใช้อย่างแพร่หลายในแอปพลิเคชันต่างๆ ตั้งแต่ระบบการเงินไปจนถึงการตรวจจับการฉ้อโกงไปจนถึงไปป์ไลน์การวัดและส่งข้อมูลทางไกล
Flink ซึ่งเป็นโครงการ Apache เช่นกัน ได้รับการออกแบบมาสำหรับการประมวลผลเหตุการณ์แบบมีสถานะ ปริมาณงานสูง และเวลาแฝงต่ำ ในขณะที่ Kafka จัดการการเคลื่อนย้ายข้อมูล Flink จัดการการแปลง การเพิ่มคุณค่า การตรวจสอบ และการจัดระเบียบข้อมูลนั้นขณะที่ไหลผ่านระบบ
Kafka และ Flink เมื่อรวมกันแล้วจะสร้างชุดค่าผสมที่ทรงพลัง: Kafka คือกระแสเลือด และ Flink คือระบบสะท้อน พวกเขาเป็นรากฐานสำหรับการสร้างระบบนิเวศเอเจนต์ที่ปรับขนาดได้และยืดหยุ่น
เช่นเดียวกับที่ A2A กำลังเกิดขึ้นในฐานะ HTTP ของโลกเอเจนต์ Kafka และ Flink เป็นรากฐานที่ขับเคลื่อนด้วยเหตุการณ์ซึ่งสามารถรองรับการสื่อสารและการคำนวณของเอเจนต์ที่ปรับขนาดได้ พวกเขาแก้ปัญหาที่การสื่อสารแบบจุดต่อจุดโดยตรงไม่สามารถทำได้:
- การแยกส่วน: ด้วย Kafka เอเจนต์ไม่จำเป็นต้องรู้ว่าใครจะใช้เอาต์พุตของตน พวกเขาเผยแพร่เหตุการณ์ (เช่น
"TaskCompleted"
,"InsightGenerated"
) ไปยังหัวข้อ และเอเจนต์หรือระบบที่สนใจใดๆ สามารถสมัครรับข้อมูลได้ - ความสามารถในการสังเกตและการเล่นซ้ำ: Kafka รักษาบันทึกที่ทนทานและเรียงตามเวลาของทุกเหตุการณ์ ทำให้พฤติกรรมของเอเจนต์สามารถตรวจสอบย้อนกลับ ตรวจสอบ และเล่นซ้ำได้อย่างเต็มที่
- การตัดสินใจแบบเรียลไทม์: Flink ช่วยให้เอเจนต์ตอบสนองต่อสตรีมเหตุการณ์แบบเรียลไทม์ กรอง เพิ่มคุณค่า เข้าร่วม หรือกระตุ้นการดำเนินการตามเงื่อนไขแบบไดนามิก
- ความยืดหยุ่นและการปรับขนาด: งาน Flink สามารถปรับขนาดได้อย่างอิสระ กู้คืนจากความล้มเหลว และรักษาสถานะในเวิร์กโฟลว์ที่ใช้เวลานาน สิ่งนี้จำเป็นสำหรับเอเจนต์ที่ทำงานที่ซับซ้อนและมีหลายขั้นตอน
- การประสานงานแบบสตรีมเนทีฟ: แทนที่จะรอการตอบกลับแบบซิงโครนัส เอเจนต์สามารถประสานงานผ่านสตรีมเหตุการณ์ เผยแพร่การอัปเดต สมัครรับข้อมูลเวิร์กโฟลว์ และดำเนินการสถานะร่วมกัน
โดยสรุป:
- A2A กำหนดวิธีที่เอเจนต์พูด
- MCP กำหนดวิธีที่พวกเขาดำเนินการกับเครื่องมือภายนอก
- Kafka กำหนดวิธีการไหลของข้อความของพวกเขา
- Flink กำหนดวิธีการประมวลผล เปลี่ยนรูป และเปลี่ยนการไหลเหล่านั้นให้เป็นการตัดสินใจ
สแต็กสี่เลเยอร์สำหรับ AI Agent ระดับองค์กร
โปรโตคอล เช่น A2A และ MCP มีความจำเป็นสำหรับการสร้างมาตรฐานพฤติกรรมและการสื่อสารของเอเจนต์ อย่างไรก็ตาม หากไม่มีพื้นผิวที่ขับเคลื่อนด้วยเหตุการณ์ เช่น Kafka และรันไทม์แบบสตรีมเนทีฟ เช่น Flink เอเจนต์เหล่านี้จะยังคงถูกแยกออก ไม่สามารถประสานงานได้อย่างยืดหยุ่น ปรับขนาดได้อย่างสง่างาม หรือให้เหตุผลเมื่อเวลาผ่านไป
เพื่อให้ตระหนักถึงวิสัยทัศน์ของ AI Agent ที่ทำงานร่วมกันได้ระดับองค์กรอย่างเต็มที่ เราต้องการสแต็กสี่ชั้น:
- โปรโตคอล: A2A และ MCP กำหนด อะไร ของการสื่อสารและการใช้เครื่องมือของเอเจนต์
- เฟรมเวิร์ก: LangGraph, CrewAI และ ADK กำหนด วิธี ของการใช้งานเอเจนต์และการจัดการเวิร์กโฟลว์
- โครงสร้างพื้นฐานการส่งข้อความ: Apache Kafka รองรับ การไหล ของข้อความและเหตุการณ์ระหว่างเอเจนต์
- การคำนวณแบบเรียลไทม์: Apache Flink รองรับ การคิด โดยการประมวลผลและแปลงสตรีมข้อมูลแบบเรียลไทม์
สแต็กสี่ชั้นนี้แสดงถึงสแต็กอินเทอร์เน็ตใหม่สำหรับ AI Agent ซึ่งเป็นรากฐานสำหรับการสร้างระบบที่ไม่เพียงแต่ชาญฉลาด แต่ยังทำงานร่วมกันได้ สังเกตได้ และพร้อมสำหรับการใช้งานจริง
ก้าวไปสู่ระบบนิเวศเอเจนต์ที่เชื่อมต่อกัน
เราอยู่ในช่วงเวลาสำคัญในการวิวัฒนาการของซอฟต์แวร์ เช่นเดียวกับที่สแต็กอินเทอร์เน็ตดั้งเดิมปลดล็อกยุคใหม่ของการเชื่อมต่อทั่วโลก สแต็กใหม่กำลังเกิดขึ้นสำหรับ AI Agent สแต็กนี้สร้างขึ้นสำหรับระบบอัตโนมัติที่ทำงานร่วมกันเพื่อให้เหตุผล ตัดสินใจ และดำเนินการ
A2A และ MCP จัดเตรียมโปรโตคอลสำหรับการสื่อสารของเอเจนต์และการใช้เครื่องมือ ในขณะที่ Kafka และ Flink จัดเตรียมโครงสร้างพื้นฐานสำหรับการประสานงานแบบเรียลไทม์ ความสามารถในการสังเกต และความยืดหยุ่น เมื่อรวมกันแล้ว พวกเขาทำให้สามารถเปลี่ยนจากเดโมเอเจนต์ที่ไม่ได้เชื่อมต่อเป็นการใช้งานจริงที่ปรับขนาดได้และชาญฉลาด
นี่ไม่ใช่แค่การแก้ปัญหาด้านวิศวกรรมเท่านั้น มันเกี่ยวกับการเปิดใช้งานซอฟต์แวร์ประเภทใหม่ที่เอเจนต์ทำงานร่วมกันข้ามขอบเขต ให้ข้อมูลเชิงลึกและการไหลของการดำเนินการแบบเรียลไทม์ และช่วยให้หน่วยสืบราชการลับกลายเป็นระบบแบบกระจาย
เพื่อให้ตระหนักถึงวิสัยทัศน์นี้ เราต้องสร้างอย่างเปิดเผย ทำงานร่วมกันได้ และโดยคำนึงถึงบทเรียนจากการปฏิวัติอินเทอร์เน็ตครั้งล่าสุด ครั้งต่อไปที่คุณกำลังสร้างเอเจนต์ อย่าถามแค่ว่ามันทำอะไรได้ ถามว่ามันเข้ากับระบบที่ใหญ่กว่าได้อย่างไร:
- สามารถสื่อสารกับเอเจนต์อื่นได้หรือไม่
- สามารถประสานงานการกระทำของตนกับผู้อื่นได้หรือไม่
- สามารถพัฒนาและปรับตัวเข้ากับการเปลี่ยนแปลงสถานการณ์ได้หรือไม่
อนาคตไม่ได้ขับเคลื่อนด้วยเอเจนต์เท่านั้น แต่เชื่อมต่อด้วยเอเจนต์