สร้างระบบมัลติเอเจนต์ด้วย Agent Communication Protocol (ACP)

สร้างระบบมัลติเอเจนต์ด้วย Agent Communication Protocol (ACP)

เมื่อโลกของปัญญาประดิษฐ์ขยายตัว นักพัฒนากำลังย้ายจากระบบเดียว AI แบบจำลองสู่ระบบตัวแทนหลายรายที่ซับซ้อนซึ่งมีตัวแทนเฉพาะทางจำนวนมากที่ทำงานร่วมกันเพื่อแก้ไขปัญหา

การเปลี่ยนแปลงนี้ทำให้เกิดความท้าทายครั้งใหญ่: คุณทำอย่างไรให้ตัวแทนต่างๆ เหล่านี้ ซึ่งอาจสร้างขึ้นโดยทีมต่างๆ โดยใช้เครื่องมือต่างๆ กัน สามารถสื่อสารกันได้อย่างมีประสิทธิภาพ นี่คือจุดที่โปรโตคอลมาตรฐานมีความจำเป็น 

การขอ โปรโตคอลการสื่อสารของตัวแทน (ACP) นำเสนอโซลูชันโดยมอบภาษาที่เป็นหนึ่งเดียวสำหรับให้ตัวแทนสื่อสาร ทำให้ระบบปรับขนาดได้มากขึ้น ยืดหยุ่นมากขึ้น และง่ายต่อการจัดการมากขึ้น

คู่มือนี้ให้คำแนะนำโดยละเอียดสำหรับการสร้างระบบที่ปรับขนาดได้ ระบบการสื่อสารหลายเอเจนต์โดยใช้โปรโตคอลการสื่อสารเอเจนต์

Agent Communication Protocol (ACP) คืออะไร?

Agent Communication Protocol (ACP) เป็นโปรโตคอลเปิดที่ออกแบบมาเพื่อกำหนดมาตรฐานวิธีการ AI ตัวแทน สื่อสารกัน ให้คิดว่าเป็นภาษากลาง เช่น ภาษาอังกฤษหรือภาษาจีนกลาง แต่สำหรับตัวแทนซอฟต์แวร์

มันให้อินเทอร์เฟซรวมศูนย์ที่ช่วยให้ตัวแทนทำงานร่วมกันได้อย่างราบรื่นโดยไม่คำนึงถึง ภาษาโปรแกรม หรือกรอบงานที่สร้างขึ้นมา ซึ่งจะช่วยแก้ปัญหาใหญ่ในการพัฒนาระบบมัลติเอเจนต์ โดยการรวมเอเจนต์มักต้องใช้โค้ดที่ปรับแต่งได้และเปราะบาง ซึ่งจะพังทุกครั้งที่มีการอัปเดตเอเจนต์

รูปภาพ?url=https%3A%2F%2Fresearch เว็บไซต์ prod cms uploads.s3.us.cloud object storage.appdomain.cloud%2FBee AI แอนิเมชั่น 8a662c5834

พัฒนาโดย IBM Research และปัจจุบันเป็นส่วนหนึ่งของ Linux Foundation ผึ้งAI โครงการACP ถูกสร้างขึ้นบนสถาปัตยกรรมไคลเอนต์-เซิร์ฟเวอร์ที่เรียบง่ายแต่ทรงพลัง ช่วยให้สามารถโต้ตอบกันได้อย่างราบรื่นระหว่าง AI ลูกค้า และเครื่องมือที่โฮสต์บนคลาวด์ ช่วยให้สามารถดำเนินการงานตามโมดูลต่างๆ ได้แบบเรียลไทม์ นี่คือวิธีการทำงาน:

An AI ตัวแทน (สร้างขึ้นด้วยกรอบงานเช่น CrewAI หรือ Smolagents) จะถูก “ห่อ” ไว้ภายในเซิร์ฟเวอร์ ACP
เซิร์ฟเวอร์นี้ทำหน้าที่เป็นโฮสต์ซึ่งทำให้สามารถค้นพบและเข้าถึงตัวแทนได้
ตัวแทนหรือกระบวนการอื่นที่ทำหน้าที่เป็นไคลเอนต์ ACP สามารถส่งคำขอแบบมาตรฐานไปยังเซิร์ฟเวอร์นี้เพื่อโต้ตอบกับตัวแทนที่โฮสต์ได้

โครงสร้างนี้หมายความว่า คุณสามารถสลับตัวแทนเพื่อให้มีเวอร์ชันใหม่หรือตัวแทนที่แตกต่างกันโดยสิ้นเชิงซึ่งสร้างบนกรอบงานอื่นได้อย่างง่ายดายโดยไม่ต้องเขียนระบบใหม่ทั้งหมด

หลักการสำคัญของ ACP

หากต้องการนำ ACP ไปใช้ คุณต้องเข้าใจองค์ประกอบพื้นฐานต่างๆ ของ ACP โปรโตคอลจะทำให้การสื่อสารเป็นมาตรฐานโดยใช้ส่วนประกอบหลักสองสามส่วนเพื่อให้แน่ใจว่าทุกข้อความมีโครงสร้าง ชัดเจน และดำเนินการได้

1

คลาสข้อมูล ACPMessage

หัวใจของโปรโตคอลคือ ACPMessage คลาสข้อมูล นี่คือรูปแบบมาตรฐานสำหรับข้อความทั้งหมดที่ส่งระหว่างตัวแทน ซึ่งจะช่วยให้มั่นใจว่าแพ็กเก็ตการสื่อสารแต่ละแพ็กเก็ตมีข้อมูลที่จำเป็นเพื่อให้สามารถทำความเข้าใจและกำหนดเส้นทางได้อย่างถูกต้อง ACPMessage รวมถึง:

ผู้ส่งและผู้รับ: ระบุผู้ส่งข้อความและผู้รับที่ตั้งใจไว้
การแสดง: ส่วนที่สำคัญที่สุดของข้อความคือการบ่งบอกถึงผู้ส่ง's ความตั้งใจ
เนื้อหา: ข้อมูลจริงหรือคำสั่งที่ถูกส่ง
รหัสการสนทนา: ตัวระบุเฉพาะในการจัดกลุ่มข้อความที่เกี่ยวข้องไว้ในเธรดการสนทนาเดียว
2

การแสดง

คำกริยาที่แสดงการกระทำคือคำกริยาที่ระบุวัตถุประสงค์ของข้อความ โดยจะบอกผู้รับว่าคาดหวังให้มีการกระทำหรือการตอบสนองแบบใด คำกริยาที่แสดงการกระทำทั่วไป ได้แก่:

คำถาม: สอบถามข้อมูล.
คำขอ: ขอให้ตัวแทนดำเนินการบางอย่าง
แจ้ง: ให้ข้อมูลโดยไม่คาดหวังการตอบกลับ
สมัคร: ขอให้มีการอัปเดตหัวข้อในอนาคต
ออกอากาศ: ส่งข้อความไปยังตัวแทนที่มีอยู่ทั้งหมด
3

เอซีพีเอเจนท์

การขอ ACPAgent เป็นคลาสฐานสำหรับตัวแทนใดๆ ที่เข้าร่วมในระบบ โดยจะกำหนดตัวแทน's ตัวตนและความสามารถหลัก เช่น การส่งและการรับ ACPMessagesตัวแทนแต่ละตัวจะมีชื่อหรือ ID เฉพาะตัวซึ่งช่วยให้ระบบสามารถส่งข้อความถึงตัวแทนได้

4

นายหน้าข้อความ ACP

ในระบบที่มีตัวแทนจำนวนมาก คุณจำเป็นต้องมีที่ทำการไปรษณีย์กลางเพื่อจัดการข้อความทั้งหมด ACPMessageBroker ทำหน้าที่นี้'s ส่วนประกอบการกำหนดเส้นทางส่วนกลางที่รับข้อความจากตัวแทนและรับรองว่าข้อความจะถูกส่งไปยังผู้รับที่ถูกต้อง สถาปัตยกรรมโบรกเกอร์นี้ถือเป็นกุญแจสำคัญในการทำให้ระบบปรับขนาดได้และจัดการได้

คู่มือการเขียนโค้ดสำหรับระบบ ACP แรกของคุณ

ระบบเอซีพี

ตอนนี้ ให้'s ลงมือทำและสร้างระบบส่งข้อความที่เรียบง่ายและสอดคล้องกับ ACP หลาม. บทช่วยสอนนี้จะใช้ Google's API ราศีเมถุน สำหรับการประมวลผลภาษาธรรมชาติ ตามที่สาธิตไว้ในการใช้งานดั้งเดิม

ขั้นตอนที่ 1: การตั้งค่าสภาพแวดล้อมของคุณ

ขั้นแรก คุณต้องติดตั้งไลบรารี Python ที่จำเป็นสำหรับการโต้ตอบกับ Google's กำเนิด AI รูปแบบต่างๆ

pip install google-generativeai

คุณจะต้องกำหนดค่าของคุณด้วย คีย์ API เพื่อตรวจสอบคำร้องขอของคุณ

ขั้นตอนที่ 2: การกำหนดส่วนประกอบหลักของ ACP

ปล่อยให้'s แปลแนวคิดหลักของ ACP เป็น รหัส Pythonเราจะเริ่มต้นด้วยการกำหนดโครงสร้างข้อความของเรา

# Define the ACP Message Structure using a dataclass
from dataclasses import dataclass, field
from typing import Any, Dict, Optional
import uuid

@dataclass
class ACPMessage:
    """A standard message format for Agent Communication Protocol."""
    sender: str
    receiver: str
    performative: str
    content: Any
    message_id: str = field(default_factory=lambda: str(uuid.uuid4()))
    conversation_id: Optional[str] = None
    metadata: Dict[str, Any] = field(default_factory=dict)

    def create_reply(self, sender: str, performative: str, content: Any) -> 'ACPMessage':
        """Helper to create a reply to this message."""
        return ACPMessage(
            sender=sender,
            receiver=self.sender,
            performative=performative,
            content=content,
            conversation_id=self.conversation_id or self.message_id
        )

ต่อไปเราจะกำหนด ACPAgent คลาส ตัวแทนแต่ละคนจะมีชื่อและวิธีการจัดการข้อความที่เข้ามา

# Define the base class for an ACP Agent
class ACPAgent:
    """Base class for an agent in an ACP system."""
    def __init__(self, name, broker):
        self.name = name
        self.broker = broker
        self.broker.register_agent(self)

    def send_message(self, message: ACPMessage):
        """Sends a message through the broker."""
        print(f"[{self.name}] Sending message to {message.receiver}: {message.performative}")
        self.broker.route_message(message)

    def receive_message(self, message: ACPMessage):
        """Processes an incoming message."""
        print(f"[{self.name}] Received message from {message.sender}: {message.performative}")
        # Agent-specific logic goes here
        pass

ในที่สุด เราก็สร้าง ACPMessageBroker เพื่อจัดการการสื่อสาร

# Define the Message Broker for routing messages
class ACPMessageBroker:
    """A central broker to route messages between agents."""
    def __init__(self):
        self.agents: Dict[str, ACPAgent] = {}

    def register_agent(self, agent: ACPAgent):
        """Adds a new agent to the network."""
        print(f"[Broker] Registering agent: {agent.name}")
        self.agents[agent.name] = agent

    def route_message(self, message: ACPMessage):
        """Routes a message to the intended recipient."""
        recipient_agent = self.agents.get(message.receiver)
        if recipient_agent:
            recipient_agent.receive_message(message)
        else:
            print(f"[Broker] Error: Agent '{message.receiver}' not found.")

ขั้นตอนที่ 3: การสร้างและการใช้งานตัวแทน

เมื่อมีกรอบงานแล้ว เราสามารถสร้างตัวแทนเฉพาะทางได้'s ทำ ตัวแทนนักวิจัย ที่สามารถตอบคำถามและ ตัวแทนผู้จัดการ ที่สอบถามเรื่องนี้

นำเข้า google.generativeai เหมือนกับเจไน

# Configure your Gemini API key
# genai.configure(api_key="YOUR_API_KEY")

class ResearcherAgent(ACPAgent):
    """An agent that uses a generative model to answer queries."""
    def __init__(self, name, broker):
        super().__init__(name, broker)
        # self.model = genai.GenerativeModel('gemini-pro')

    def receive_message(self, message: ACPMessage):
        super().receive_message(message)
        if message.performative == "QUERY":
            question = message.content
            # For demonstration, we'll use a canned response.
            # In a real scenario, you would call the model:
            # response_text = self.model.generate_content(question).text
            response_text = f"My analysis on '{question}' indicates a positive outlook."

            reply = message.create_reply(
                sender=self.name,
                performative="INFORM",
                content=response_text
            )
            self.send_message(reply)

class ManagerAgent(ACPAgent):
    """An agent that delegates tasks and queries other agents."""
    def receive_message(self, message: ACPMessage):
        super().receive_message(message)
        if message.performative == "INFORM":
            print(f"[{self.name}] Got a response: {message.content}")

    def start_task(self, topic: str):
        """Starts a new task by querying the researcher."""
        print(f"[{self.name}] Initiating research on: {topic}")
        query_message = ACPMessage(
            sender=self.name,
            receiver="Researcher_1",
            performative="QUERY",
            content=f"What is the market trend for {topic}?",
            conversation_id=str(uuid.uuid4())
        )
        self.send_message(query_message)

ขั้นตอนที่ 4: การเรียกใช้ระบบ

ตอนนี้ ให้'s นำทุกสิ่งมารวมกันและดูว่ามันทำงานอย่างไร

# Main execution block
if __name__ == "__main__":
    # 1. Initialise the broker
    message_broker = ACPMessageBroker()

    # 2. Create and register agents
    manager = ManagerAgent("Manager_Alpha", message_broker)
    researcher = ResearcherAgent("Researcher_1", message_broker)

    # 3. Kick off a task
    manager.start_task("AI-powered SEO tools")

เมื่อคุณรันโค้ดนี้ คุณจะเห็น ตัวแทนผู้จัดการ ส่งคำถาม นายหน้าจะส่งต่อคำถามไปยังนักวิจัย นักวิจัยจะประมวลผลคำถามและส่งคำตอบ และนายหน้าจะส่งคำตอบกลับไปยังผู้จัดการ การโต้ตอบที่เรียบง่ายนี้แสดงให้เห็นถึงการสื่อสารที่แยกส่วนกันอย่างมั่นคง

การปรับขนาดระบบของคุณด้วยเวิร์กโฟลว์ขั้นสูง

พลังที่แท้จริงของ ACP จะชัดเจนขึ้นเมื่อคุณขยายจากสองตัวแทนเป็นหลายตัวแทน ซึ่งจะสร้างเวิร์กโฟลว์ที่ซับซ้อน โปรโตคอลรองรับรูปแบบขั้นสูง เช่น เชนแบบต่อเนื่องและแบบลำดับชั้น

เวิร์กโฟลว์แบบลำดับ: คำขอเริ่มต้นจะกระตุ้นให้ตัวแทนชุดหนึ่งทำงานต่อกัน ตัวอย่างเช่น ตัวแทนผู้จัดการ สามารถถามได้ ตัวแทนวิจัย เพื่อรวบรวมข้อมูลแล้วส่งผลการค้นพบไปยัง ตัวแทนการเขียน การร่างรายงาน
เวิร์กโฟลว์แบบลำดับชั้น: ระดับสูงสุด ตัวแทนเราเตอร์ รับแบบสอบถามที่ซับซ้อน แยกแบบสอบถามดังกล่าวออกเป็นงานย่อย และมอบหมายงานย่อยแต่ละงานให้กับตัวแทนเฉพาะทางที่เหมาะสม ซึ่งเป็นเรื่องปกติในระบบที่ซับซ้อน เช่น ระบบที่ใช้สำหรับ AI ตัวแทนสำหรับ SEOซึ่งตัวแทนที่แตกต่างกันอาจจัดการ การวิจัยคีย์เวิร์ดอัตโนมัติ, การเพิ่มประสิทธิภาพเนื้อหาและการวิเคราะห์คู่แข่ง

ความสามารถในการสร้างแบบโมดูลาร์ ระบบที่เชื่อมต่อถึงกัน เป็นเครื่องมือเปลี่ยนเกม ช่วยให้ทีมต่างๆ สามารถพัฒนาและดูแลตัวแทนของตนเองได้อย่างอิสระ โดยที่มั่นใจได้ว่าตัวแทนจะเชื่อมต่อกับระบบที่ใหญ่กว่าได้อย่างราบรื่นด้วยโปรโตคอลทั่วไป

ACP ในโลกแห่งความเป็นจริง: กรณีสำหรับ SEO

ACP ช่วยให้ SEO ง่ายดายได้อย่างไร

หลักการของ ACP ไม่เพียงแต่เป็นทฤษฎีเท่านั้น แต่ยังนำไปประยุกต์ใช้โดยตรงในระบบอัตโนมัติทางธุรกิจอีกด้วย ลองพิจารณาสาขา การเพิ่มประสิทธิภาพกลไกค้นหา (SEO) (SEO) สมัยใหม่ กลยุทธ์ SEO เกี่ยวข้องกับชิ้นส่วนที่เคลื่อนไหวมากมาย: การวิเคราะห์คำหลัก การสร้างเนื้อหา การเพิ่มประสิทธิภาพบนหน้า และการติดตามแบ็คลิงก์

ระบบมัลติเอเจนต์ที่ขับเคลื่อนโดย ACP สามารถทำให้กระบวนการทั้งหมดนี้เป็นอัตโนมัติได้ ลองจินตนาการถึงระบบที่มี:

  1. An ตัวแทนนักยุทธศาสตร์ SEO ที่ตรวจสอบแนวโน้มการค้นหาและระบุช่องว่างเนื้อหา
  2. A ตัวแทนวิจัยคีย์เวิร์ด ที่ค้นพบค่าหลักที่มีมูลค่าสูงและ คำหลัก LSI.
  3. A ตัวแทนเขียนเนื้อหา ที่สร้างบทความตามข้อมูลสรุปของนักวางแผนกลยุทธ์
  4. An ตัวแทนการเพิ่มประสิทธิภาพบนหน้า ที่ตรวจสอบเนื้อหาในเรื่องความสามารถในการอ่าน ความหนาแน่นของคำหลัก และความเกี่ยวข้องทางความหมาย

ด้วย ACP ตัวแทนเหล่านี้สามารถสื่อสารได้อย่างสมบูรณ์แบบ ตัวแทนด้านกลยุทธ์สามารถส่ง REQUEST ไปยังตัวแทนการวิจัยสำหรับคำสำคัญซึ่งจะส่งข้อมูล INFORM ข้อความพร้อมผลการค้นพบไปยังตัวแทนการเขียน การทำงานแบบแยกส่วนนี้ทำให้เวิร์กโฟลว์ SEO ทั้งหมดมีประสิทธิภาพและปรับขนาดได้มากขึ้น

สรุป

การสร้างความร่วมมือ AI ระบบ เป็นหนึ่งในพรมแดนที่น่าตื่นเต้นที่สุดใน เทคโนโลยีอย่างไรก็ตาม หากไม่มีมาตรฐานการสื่อสารร่วมกัน ระบบเหล่านี้อาจเสี่ยงต่อการเกิดปัญหาการผสานรวมแบบกำหนดเอง Agent Communication Protocol (ACP) มอบโซลูชันที่สะอาด แข็งแกร่ง และปรับขนาดได้สำหรับปัญหานี้

โดยการทำให้การโต้ตอบของตัวแทนเป็นมาตรฐานด้วยวิธีง่ายๆ แบบจำลองไคลเอ็นต์เซิร์ฟเวอร์ และโครงสร้างข้อความที่กำหนดไว้อย่างชัดเจน ACP ช่วยให้นักพัฒนาสามารถสร้างแอปพลิเคชันมัลติเอเจนต์ที่ยืดหยุ่นและทรงพลังได้ ดังที่แสดงไว้ใน คู่มือ Pythonการนำระบบ ACP ขั้นพื้นฐานมาใช้นั้นเป็นเรื่องง่าย 

จากนั้น คุณสามารถปรับขนาดเพื่อสร้างเวิร์กโฟลว์แบบลำดับชั้นที่ซับซ้อนซึ่งสามารถจัดการกับงานที่ซับซ้อนในด้านต่างๆ ตั้งแต่การพัฒนาซอฟต์แวร์ไปจนถึง SEO การนำโปรโตคอลเช่น ACP มาใช้ถือเป็นก้าวสำคัญสู่อนาคตที่ ตัวแทนอัจฉริยะ ทำงานร่วมกันอย่างราบรื่นเพื่อช่วยให้เราบรรลุเป้าหมายของเรา

เขียนความเห็น

ที่อยู่อีเมลของคุณจะไม่ถูกเผยแพร่ ช่องที่ต้องการถูกทำเครื่องหมาย *

ไซต์นี้ใช้ Akismet เพื่อลดสแปม เรียนรู้วิธีการประมวลผลข้อมูลความคิดเห็นของคุณ

เข้าร่วม Aimojo เผ่า!

เข้าร่วมกับสมาชิกกว่า 76,200 รายเพื่อรับเคล็ดลับจากผู้เชี่ยวชาญทุกสัปดาห์! 
🎁 โบนัส: รับ $200 ของเรา”AI Mastery Toolkit” ฟรีเมื่อคุณสมัคร!

ได้รับความนิยม AI เครื่องมือ
นิวลิงค์

จัดการโซเชียลมีเดียของคุณโดยอัตโนมัติบน 12 แพลตฟอร์ม จากแดชบอร์ดเดียว เครื่องมือวางแผนการโพสต์บนโซเชียลมีเดียที่สร้างขึ้นสำหรับผู้ขาย ครีเอเตอร์ และเอเจนซี่

อีทช็อป.ไอ

ค้นหาสินค้าขายดีบน Etsy และจัดอันดับให้สูงขึ้นด้วย AI การวิจัยที่ขับเคลื่อนด้วยพลังงาน แพลตฟอร์มวิจัยคำหลักและสินค้า SEO สำหรับ Etsy แบบครบวงจร

ไฮรอส

ติดตามแหล่งที่มาของรายได้ที่แท้จริงจากทุกๆ ดอลลาร์ที่ลงโฆษณาด้วย AI การแสดงที่มา มาตรฐานระดับทองคำด้านการติดตามและเพิ่มประสิทธิภาพโฆษณาแบบมัลติทัช

ZonGuru

ชุดเครื่องมือครบวงจรสำหรับผู้ขายบน Amazon ที่เปลี่ยนข้อมูลสินค้าให้เป็นกำไร AI ซอฟต์แวร์เพิ่มประสิทธิภาพการลงประกาศขายสินค้าและซอฟต์แวร์ส่งเสริมการเติบโตของ FBA

ลามะดัชนี

สร้างอย่างชาญฉลาด AI สร้างแอปพลิเคชันโดยการเปลี่ยนข้อมูลของคุณให้เป็นไปป์ไลน์ที่พร้อมใช้งานจริง เฟรมเวิร์กข้อมูลโอเพนซอร์สชั้นนำสำหรับการสร้างข้อมูลเสริมด้วยการค้นหา