ภูมิทัศน์ดิจิทัลกำลังพัฒนาไปไกลกว่าการท่องเว็บที่เน้นมนุษย์ไปสู่ขอบเขตของเอเจนต์อิสระที่ทำงานร่วมกันอย่างราบรื่นทั่วทั้งระบบที่หลากหลาย การเปลี่ยนแปลงนี้จำเป็นต้องมีโครงสร้างพื้นฐานใหม่ และโซลูชันที่น่าสนใจกำลังก่อตัวขึ้น ซึ่งประกอบด้วยองค์ประกอบโอเพนซอร์สหลักสี่ประการ
- Agent2Agent (A2A) โดย Google: โปรโตคอลที่ออกแบบมาเพื่ออำนวยความสะดวกในการค้นหาและการโต้ตอบของเอเจนต์
- Model Context Protocol (MCP) โดย Anthropic: มาตรฐานที่กำหนดวิธีการที่เอเจนต์ใช้เครื่องมือและข้อมูลบริบทภายนอก
- Apache Kafka: กระดูกสันหลังการสื่อสารที่ขับเคลื่อนด้วยเหตุการณ์ที่แข็งแกร่ง ซึ่งช่วยให้การประสานงานที่เชื่อถือได้และแยกจากกัน
- Apache Flink: เอ็นจินประมวลผลแบบเรียลไทม์ ซึ่งมีความสำคัญอย่างยิ่งต่อการเพิ่มคุณค่า การตรวจสอบ และการดำเนินการกับสตรีมกิจกรรมของเอเจนต์
บทความนี้สำรวจความสัมพันธ์ที่เป็นประโยชน์ร่วมกันระหว่างเทคโนโลยีเหล่านี้ โดยเน้นถึงข้อจำกัดของการพึ่งพาโปรโตคอลเพียงอย่างเดียว และแสดงให้เห็นว่าสถาปัตยกรรมนี้วางรากฐานสำหรับการเปลี่ยนจากบอทที่แยกจากกันไปสู่ระบบนิเวศเอเจนต์อัจฉริยะแบบไดนามิกได้อย่างไร
การแพร่กระจายที่คาดการณ์ไว้ของเอเจนต์ AI ภายในองค์กรบ่งชี้ว่าบริษัทส่วนใหญ่จะปรับใช้เอเจนต์เฉพาะทางจำนวนมาก แทนที่จะเป็นเอเจนต์ที่ครอบคลุมทั้งหมดเพียงตัวเดียว เอเจนต์เหล่านี้จะทำงานอัตโนมัติ เช่น การสร้างโค้ด การจัดการตั๋วสนับสนุน การวิเคราะห์ข้อมูลลูกค้า การปฐมนิเทศพนักงาน และการตรวจสอบโครงสร้างพื้นฐาน
อย่างไรก็ตาม เครื่องมือปัจจุบันไม่เพียงพอสำหรับการสนับสนุนอนาคตดังกล่าว
ความท้าทายขยายไปไกลกว่าปัญหา ‘เกาะแห่งเอเจนต์’ ที่เอเจนต์ทำงานในไซโลและขาดความสามารถในการสื่อสาร มันครอบคลุมถึงการกระจายตัวของระบบนิเวศที่กว้างขวางยิ่งขึ้น:
- การขาดการสื่อสารระหว่างเอเจนต์: โดยทั่วไปเอเจนต์จะทำงานภายในสภาพแวดล้อมที่แยกจากกัน เอเจนต์การจัดการความสัมพันธ์ลูกค้า (CRM) ไม่ทราบถึงข้อมูลเชิงลึกที่ได้มาจากเอเจนต์คลังข้อมูล เอเจนต์สนับสนุนไม่สามารถตอบสนองต่อความผิดปกติที่ตรวจพบโดยเอเจนต์ตรวจสอบได้
- การใช้งานเครื่องมือที่เปราะบางและกำหนดเอง: หากไม่มีวิธีการที่เป็นมาตรฐานสำหรับการเข้าถึงเครื่องมือหรือ Application Programming Interfaces (APIs) ภายนอก เอเจนต์จะพึ่งพาการผสานรวมแบบฮาร์ดโค้ดและตรรกะที่ไม่สามารถนำกลับมาใช้ใหม่ได้
- กรอบงานที่ไม่สอดคล้องกัน: รันไทม์ของเอเจนต์ที่แตกต่างกันใช้โมเดลที่หลากหลาย โดยถือว่าเอเจนต์เป็นแชทบอท กราฟวัฏจักรโดยตรง (DAG) หรือผู้วางแผนแบบเรียกซ้ำ สิ่งนี้ส่งผลให้ไม่มีเลเยอร์การดำเนินการแบบพกพาหรือสถานะที่ใช้ร่วมกัน
- การออกแบบที่เน้นสภาพแวดล้อมของ Notebook: เอเจนต์จำนวนมากได้รับการพัฒนาเป็นต้นแบบแบบครั้งเดียว ซึ่งมีลักษณะการทำงานที่เป็นเส้นตรง ซิงโครนัส และชั่วคราว อย่างไรก็ตาม ระบบในโลกแห่งความเป็นจริงจำเป็นต้องมีการจัดการที่แข็งแกร่งสำหรับการลองใหม่ ความล้มเหลว การประสานงาน การบันทึก และการปรับขนาด ซึ่งต้องมีโครงสร้างพื้นฐานสนับสนุน
- ไม่มีกระดูกสันหลังการทำงานร่วมกัน: ไม่มีบัสเหตุการณ์ หน่วยความจำที่ใช้ร่วมกัน หรือประวัติที่ตรวจสอบได้ของกิจกรรมและเหตุผลของเอเจนต์ ข้อมูลถูกจำกัดไว้ที่การเรียก HTTP โดยตรงหรือฝังอยู่ในบันทึก
ดังที่เน้นโดยโครงการ 12-Factor Agents เอเจนต์ควรปฏิบัติตามหลักการของคลาวด์เนทีฟ โดยแสดงให้เห็นถึงการสังเกตการณ์ การผูกมัดที่หลวม การทำซ้ำ และความตระหนักในโครงสร้างพื้นฐาน น่าเสียดายที่ส่วนใหญ่ถูกสร้างขึ้นเป็นสคริปต์ที่เปราะบาง ซึ่งประกอบขึ้นด้วยตนเองและถือว่าทำงานอย่างอิสระ
สิ่งนี้ส่งผลให้เกิดความไม่มีประสิทธิภาพ การทำซ้ำความพยายาม และความเปราะบาง
Agent2Agent แก้ไขปัญหานี้บางส่วนโดยการจัดเตรียมโปรโตคอลที่เป็นมาตรฐานให้กับเอเจนต์สำหรับการค้นหาและการสื่อสาร อย่างไรก็ตาม การเปลี่ยนจากการสาธิตผิวเผินไปสู่ความสามารถในการปรับขนาดและความน่าเชื่อถือที่ระบบการผลิตต้องการนั้น จำเป็นต้องมีมากกว่าแค่โปรโตคอล มันต้องการโครงสร้างพื้นฐานที่ครอบคลุม
ระบบนิเวศเอเจนต์ปัจจุบันสะท้อนให้เห็นถึงขั้นตอนแรกๆ ของเว็บ ซึ่งมีลักษณะเป็นระบบที่ทรงพลังแต่แยกจากกันและเข้ากันไม่ได้ คล้ายกับความท้าทายในช่วงต้นที่เบราว์เซอร์เผชิญในการสื่อสารกับเซิร์ฟเวอร์โดยไม่มีโปรโตคอลที่เป็นมาตรฐาน ปัจจุบันเอเจนต์ AI ต้องดิ้นรนเพื่อค้นหา สื่อสาร และทำงานร่วมกันอย่างมีประสิทธิภาพ
Agent2Agent (A2A) ของ Google: โปรโตคอลสากลสำหรับการสื่อสารของเอเจนต์
โปรโตคอล A2A ของ Google เป็นความพยายามที่สำคัญในการแก้ไขปัญหานี้ มันโดดเด่นด้วยการไม่ใช่กรอบงานเอเจนต์อื่น แต่เป็นโปรโตคอลสากลที่ออกแบบมาเพื่อเชื่อมต่อเอเจนต์ใดๆ โดยไม่คำนึงถึงแหล่งที่มาหรือสภาพแวดล้อมการปรับใช้
เช่นเดียวกับที่ HTTP ทำให้การสื่อสารของเว็บไซต์เป็นมาตรฐาน A2A กำหนดภาษาทั่วไปสำหรับเอเจนต์ ทำให้พวกเขาสามารถ:
- ประกาศความสามารถ: ผ่าน
AgentCard
ซึ่งเป็นตัวอธิบาย JSON ที่สรุปความสามารถและวิธีการโต้ตอบของเอเจนต์ - ส่งและรับงาน: ผ่านการโต้ตอบที่มีโครงสร้างโดยใช้ JSON-RPC โดยที่เอเจนต์หนึ่งขอความช่วยเหลือและอีกเอเจนต์หนึ่งตอบกลับด้วยผลลัพธ์หรือ ‘สิ่งประดิษฐ์’
- สตรีมอัปเดตด้วย Server-Sent Events (SSEs): อำนวยความสะดวกในการตอบกลับแบบเรียลไทม์ระหว่างงานที่ยาวนานหรือร่วมมือกัน
- แลกเปลี่ยนเนื้อหาที่หลากหลาย: สนับสนุนการแลกเปลี่ยนไฟล์ ข้อมูลที่มีโครงสร้าง และแบบฟอร์ม นอกเหนือจากข้อความธรรมดา
- รักษาความปลอดภัยโดยค่าเริ่มต้น: รวมการสนับสนุนในตัวสำหรับ HTTPS การรับรองความถูกต้อง และสิทธิ์
จุดแข็งของ A2A อยู่ที่การหลีกเลี่ยงการคิดค้นโซลูชันที่จัดตั้งขึ้นใหม่ มันใช้ประโยชน์จากมาตรฐานเว็บที่เป็นที่ยอมรับกันดี คล้ายกับ HTTP และ SMTP อำนวยความสะดวกในการนำไปใช้ได้ง่ายขึ้นและการรวมเข้าด้วยกันได้เร็วขึ้น
อย่างไรก็ตาม A2A เป็นเพียงด้านหนึ่งของโซลูชันโดยรวม
Model Context Protocol (MCP) ของ Anthropic: การทำให้การใช้เครื่องมือและการเข้าถึงบริบทเป็นมาตรฐาน
MCP ของ Anthropic กล่าวถึงประเด็นสำคัญของวิธีการที่เอเจนต์ใช้เครื่องมือและเข้าถึงข้อมูลตามบริบท MCP ทำให้กระบวนการที่เอเจนต์เรียกใช้ API เรียกฟังก์ชัน และผสานรวมกับระบบภายนอกเป็นมาตรฐาน โดยพื้นฐานแล้วจะกำหนดวิธีการที่พวกเขาดำเนินการภายในสภาพแวดล้อมของพวกเขา ในขณะที่ A2A ควบคุมการสื่อสารระหว่างเอเจนต์ MCP มุ่งเน้นไปที่การโต้ตอบของเอเจนต์กับโลกภายนอก
โดยสรุป:
- MCP เพิ่มขีดความสามารถให้กับสติปัญญาส่วนบุคคลของเอเจนต์
- A2A เปิดใช้งานสติปัญญาส่วนรวม
เช่นเดียวกับที่ HTTP และ SMTP ต้องการการนำไปใช้ โครงสร้างพื้นฐาน และเครื่องมือสำหรับนักพัฒนาอย่างกว้างขวางเพื่อให้ประสบความสำเร็จอย่างแพร่หลาย A2A และ MCP จะต้องมีระบบนิเวศที่แข็งแกร่งเพื่อตระหนักถึงศักยภาพของพวกเขาอย่างเต็มที่
แม้จะมีความพยายามในการทำให้เป็นมาตรฐาน เช่น A2A และ MCP คำถามสำคัญยังคงอยู่: จะปรับขนาดการสื่อสารของเอเจนต์ให้มีประสิทธิภาพได้อย่างไรในสภาพแวดล้อมขององค์กรที่ซับซ้อนและไดนามิก การพึ่งพาการเชื่อมต่อโดยตรงแบบจุดต่อจุดที่กำหนดโดยโปรโตคอลเหล่านี้เพียงอย่างเดียวนำมาซึ่งความท้าทายที่เกี่ยวข้องกับความสามารถในการปรับขนาด ความยืดหยุ่น และความสามารถในการสังเกตการณ์ สิ่งนี้เน้นย้ำถึงความต้องการโครงสร้างพื้นฐานการสื่อสารที่แข็งแกร่ง
พิจารณาบริษัทที่พนักงานสามารถสื่อสารได้โดยตรงผ่านข้อความแบบตัวต่อตัวเท่านั้น การแบ่งปันการอัปเดตจะต้องส่งข้อความถึงแต่ละคนแยกกัน การประสานงานโครงการข้ามหลายทีมจะต้องมีการถ่ายทอดข้อมูลระหว่างแต่ละกลุ่มด้วยตนเอง
การปรับขนาดระบบดังกล่าวให้กับพนักงานหลายร้อยคนจะส่งผลให้เกิดความโกลาหล
สถานการณ์นี้สะท้อนให้เห็นถึงความท้าทายที่เผชิญในระบบนิเวศเอเจนต์ที่สร้างขึ้นจากการเชื่อมต่อโดยตรง เอเจนต์แต่ละรายต้องรู้ว่าเอเจนต์ใดที่จะติดต่อ วิธีติดต่อพวกเขา และความพร้อมใช้งานของพวกเขา เมื่อจำนวนเอเจนต์เพิ่มขึ้น จำนวนการเชื่อมต่อที่จำเป็นจะเพิ่มขึ้นแบบทวีคูณ ส่งผลให้เกิดระบบที่เปราะบาง จัดการยาก และไม่สามารถปรับขนาดได้
A2A และ MCP จัดเตรียมภาษาและโครงสร้างสำหรับการสื่อสารและการดำเนินการให้กับเอเจนต์ อย่างไรก็ตาม ภาษาเพียงอย่างเดียวไม่เพียงพอ ในการประสานงานเอเจนต์จำนวนมากทั่วทั้งองค์กร จำเป็นต้องมีโครงสร้างพื้นฐานเพื่อจัดการการไหลของข้อความและการตอบสนองของเอเจนต์
Kafka และ Flink: กระดูกสันหลังสำหรับการทำงานร่วมกันของเอเจนต์ที่ปรับขนาดได้
Apache Kafka และ Apache Flink จัดเตรียมโครงสร้างพื้นฐานที่สำคัญนี้
Kafka และ Flink อธิบาย
Apache Kafka ซึ่งเดิมพัฒนาที่ LinkedIn และปัจจุบันเป็นโครงการ Apache Software Foundation เป็นแพลตฟอร์มสตรีมมิงเหตุการณ์แบบกระจาย มันทำหน้าที่เป็นบัสข้อความที่ทนทานและมีปริมาณงานสูง ช่วยให้ระบบสามารถเผยแพร่และสมัครรับข้อมูลสตรีมเหตุการณ์แบบเรียลไทม์ Kafka ถูกนำมาใช้กันอย่างแพร่หลายในแอปพลิเคชันต่างๆ รวมถึงระบบการเงิน การตรวจจับการฉ้อโกง และไปป์ไลน์การวัดและส่งข้อมูลทางไกล เนื่องจากความสามารถในการแยกผู้ผลิตออกจากผู้บริโภค และรับประกันความทนทานของข้อมูล ความสามารถในการเล่นซ้ำ และความสามารถในการปรับขนาด
Flink ซึ่งเป็นอีกโครงการหนึ่งของ Apache เป็นเอ็นจินประมวลผลสตรีมแบบเรียลไทม์ที่ออกแบบมาสำหรับการประมวลผลเหตุการณ์แบบมีสถานะ ปริมาณงานสูง และเวลาแฝงต่ำ ในขณะที่ Kafka จัดการการเคลื่อนย้ายข้อมูล Flink จัดการการแปลง การเพิ่มคุณค่า การตรวจสอบ และการจัดระเบียบข้อมูลขณะที่ไหลผ่านระบบ
Kafka และ Flink รวมกันเป็นส่วนผสมที่ทรงพลัง Kafka ทำหน้าที่เป็นกระแสเลือด ในขณะที่ Flink ทำหน้าที่เป็นระบบตอบสนอง
เช่นเดียวกับบทบาทของ A2A ในฐานะ HTTP ของโลกเอเจนต์ Kafka และ Flink จัดเตรียมรากฐานที่ขับเคลื่อนด้วยเหตุการณ์สำหรับการสื่อสารและการคำนวณของเอเจนต์ที่ปรับขนาดได้ แก้ไขความท้าทายที่การสื่อสารโดยตรงแบบจุดต่อจุดไม่สามารถทำได้:
- การแยกส่วน: ด้วย Kafka เอเจนต์ไม่จำเป็นต้องรู้ว่าใครเป็นผู้บริโภคผลลัพธ์ของพวกเขา พวกเขาเผยแพร่เหตุการณ์ (เช่น
"TaskCompleted"
,"InsightGenerated"
) ไปยังหัวข้อ ทำให้เอเจนต์หรือระบบที่สนใจสามารถสมัครรับข้อมูลได้ - ความสามารถในการสังเกตและการเล่นซ้ำ: Kafka รักษาบันทึกเหตุการณ์ทั้งหมดที่ทนทานและเรียงตามเวลา ทำให้มั่นใจได้ว่าพฤติกรรมของเอเจนต์สามารถตรวจสอบ ย้อนกลับ และเล่นซ้ำได้อย่างเต็มที่
- การตัดสินใจแบบเรียลไทม์: Flink ช่วยให้เอเจนต์สามารถ ตอบสนองแบบเรียลไทม์ต่อสตรีมเหตุการณ์ การกรอง การเพิ่มคุณค่า การรวม หรือการกระตุ้นการดำเนินการตามเงื่อนไขไดนามิก
- ความยืดหยุ่นและการปรับขนาด: งาน Flink สามารถปรับขนาดได้อย่างอิสระ กู้คืนจากความล้มเหลว และรักษาสถานะไว้ในเวิร์กโฟลว์ที่ทำงานเป็นเวลานาน ซึ่งจำเป็นสำหรับเอเจนต์ที่ทำงานที่ซับซ้อนและมีหลายขั้นตอน
- การประสานงานแบบ Stream-Native: แทนที่จะรอการตอบสนองแบบซิงโครนัส เอเจนต์สามารถประสานงานผ่านสตรีมเหตุการณ์ เผยแพร่การอัปเดต สมัครรับข้อมูลเวิร์กโฟลว์ และค่อยๆ ดำเนินการสถานะร่วมกัน
โดยสรุป:
- A2A กำหนดวิธีการที่เอเจนต์สื่อสาร
- MCP กำหนดวิธีการที่พวกเขาโต้ตอบกับเครื่องมือภายนอก
- Kafka กำหนดวิธีการที่ข้อความของพวกเขาไหล
- Flink กำหนดวิธีการประมวลผล แปลง และใช้การไหลเหล่านั้นเพื่อทำการตัดสินใจ
โปรโตคอล เช่น A2A และ MCP มีความสำคัญอย่างยิ่งต่อการทำให้พฤติกรรมและการสื่อสารของเอเจนต์เป็นมาตรฐาน อย่างไรก็ตาม หากไม่มีพื้นผิวที่ขับเคลื่อนด้วยเหตุการณ์ เช่น Kafka และรันไทม์แบบสตรีมเนทีฟ เช่น Flink เอเจนต์จะยังคงแยกจากกัน ไม่สามารถประสานงานได้อย่างมีประสิทธิภาพ ปรับขนาดได้อย่างมีประสิทธิภาพ หรือใช้เหตุผลเมื่อเวลาผ่านไป
สถาปัตยกรรมสี่ชั้นสำหรับเอเจนต์ AI ระดับองค์กร
เพื่อให้ตระหนักถึงวิสัยทัศน์ของเอเจนต์ AI ที่ทำงานร่วมกันได้และระดับองค์กรอย่างเต็มที่ จำเป็นต้องมีสถาปัตยกรรมสี่ชั้น:
- โปรโตคอล: A2A, MCP – กำหนด อะไร
- กรอบงาน: LangGraph, CrewAI, ADK – กำหนด อย่างไร
- โครงสร้างพื้นฐานการส่งข้อความ: Apache Kafka – สนับสนุน การไหล
- การคำนวณแบบเรียลไทม์: Apache Flink – สนับสนุน การคิด
เลเยอร์เหล่านี้รวมกันเป็นสแต็กอินเทอร์เน็ตใหม่สำหรับเอเจนต์ AI โดยจัดเตรียมรากฐานสำหรับการสร้างระบบที่ไม่เพียงแต่ชาญฉลาด แต่ยังทำงานร่วมกัน สังเกตได้ และพร้อมใช้งานจริง
ปัจจุบันเราอยู่ในจุดสำคัญในการวิวัฒนาการของซอฟต์แวร์
เช่นเดียวกับสแต็กอินเทอร์เน็ตดั้งเดิม ซึ่งประกอบด้วยโปรโตคอล เช่น HTTP และ SMTP และโครงสร้างพื้นฐาน เช่น TCP/IP นำไปสู่ยุคแห่งการเชื่อมต่อทั่วโลก สแต็กใหม่กำลังเกิดขึ้นสำหรับเอเจนต์ AI อย่างไรก็ตาม แทนที่จะเป็นมนุษย์ที่นำทางหน้าเว็บหรือส่งอีเมล สแต็กนี้ได้รับการออกแบบมาสำหรับระบบอิสระที่ทำงานร่วมกันเพื่อใช้เหตุผล ตัดสินใจ และดำเนินการ
A2A และ MCP จัดเตรียมโปรโตคอลสำหรับการสื่อสารของเอเจนต์และการใช้เครื่องมือ ในขณะที่ Kafka และ Flink จัดเตรียมโครงสร้างพื้นฐานสำหรับการประสานงานแบบเรียลไทม์ ความสามารถในการสังเกต และความยืดหยุ่น พวกเขาร่วมกันช่วยให้การเปลี่ยนผ่านจากการสาธิตเอเจนต์ที่ไม่ได้เชื่อมต่อไปสู่ระบบนิเวศที่ปรับขนาดได้ ฉลาด และพร้อมใช้งานจริง
วิวัฒนาการนี้ไม่ได้เกี่ยวกับการแก้ไขปัญหาทางวิศวกรรมเท่านั้น มันเกี่ยวกับการเปิดใช้งานกระบวนทัศน์ใหม่ของซอฟต์แวร์ที่เอเจนต์ทำงานร่วมกันข้ามขอบเขต ให้ข้อมูลเชิงลึกและขับเคลื่อนการดำเนินการในแบบเรียลไทม์ ซึ่งช่วยให้สติปัญญากลายเป็นระบบแบบกระจาย
อย่างไรก็ตาม วิสัยทัศน์นี้ต้องมีการพัฒนาอย่างแข็งขัน โดยเน้นที่ความเปิดกว้าง การทำงานร่วมกัน และการใช้ประโยชน์จากบทเรียนที่ได้รับจากการปฏิวัติอินเทอร์เน็ตครั้งก่อน
ดังนั้น เมื่อพัฒนาเอเจนต์ สิ่งสำคัญคือต้องพิจารณาการรวมเข้ากับระบบที่กว้างขึ้น มันสามารถสื่อสารได้อย่างมีประสิทธิภาพหรือไม่ มันสามารถประสานงานกับเอเจนต์อื่นได้หรือไม่ มันสามารถพัฒนาและปรับตัวเข้ากับสภาวะที่เปลี่ยนแปลงได้หรือไม่
อนาคตไม่ได้ขับเคลื่อนด้วยเอเจนต์เท่านั้น แต่เป็นการเชื่อมต่อเอเจนต์