0
0
Lập trình
Admin Team
Admin Teamtechmely

Hệ thống Đa tác nhân trong PHP: Triển khai và Nghiên cứu Thực tiễn

Đăng vào 1 tháng trước

• 9 phút đọc

Giới thiệu

Trong nhiều năm qua, việc xây dựng các hệ thống đa tác nhân phức tạp thường yêu cầu chuyển sang Python. Tuy nhiên, với sự ra mắt của Neuron V2, có vẻ như PHP đã sẵn sàng cho việc phát triển ứng dụng đa tác nhân thực sự. Dự án Deep Research Agent cung cấp câu trả lời rõ ràng cho câu hỏi này.

Hệ thống nghiên cứu toàn diện này minh họa cách Neuron là một khung tác nhân cho phép bạn tạo ra kiến trúc đa tác nhân đầy đủ tính năng trong PHP thông qua việc triển khai thực tiễn các tác nhân AI phối hợp làm việc cùng nhau để tạo ra các báo cáo nghiên cứu chi tiết. Hệ thống này phối hợp nhiều tác nhân chuyên biệt, mỗi tác nhân đảm nhận các giai đoạn khác nhau của kế hoạch nghiên cứu, thu thập dữ liệu, tạo nội dung và định dạng.

Kiến trúc Đa tác nhân

Deep Research Agent phân chia các nhiệm vụ nghiên cứu phức tạp thành các thành phần quản lý được thông qua kiến trúc quy trình dựa trên sự kiện. Một quy trình là một cách tiếp cận dựa trên sự kiện, phân tách việc kiểm soát luồng thực thi của một ứng dụng. Ứng dụng của bạn được chia thành các phần gọi là Nodes, được kích hoạt bởi Events và trả về Events để kích hoạt các nodes khác.

Mỗi tác nhân trong hệ thống chuyên về một khía cạnh cụ thể của nghiên cứu:

  • Tác nhân Lập kế hoạch: Tạo ra dàn bài báo cáo có cấu trúc và xác định các lĩnh vực nghiên cứu.
  • Tác nhân Tạo truy vấn: Biến đổi các chủ đề thành các truy vấn tìm kiếm mục tiêu.
  • Tác nhân Tìm kiếm Web: Thực hiện tìm kiếm và xử lý kết quả.
  • Tác nhân Tạo nội dung: Tổng hợp các phát hiện thành các phần mạch lạc.
  • Tác nhân Định dạng: Biên soạn cấu trúc báo cáo cuối cùng.

Phương pháp tiếp cận mô-đun của Neuron Workflow cho phép phối hợp tinh vi trong khi vẫn duy trì sự rõ ràng của mã và khả năng gỡ lỗi mà trước đây không thể thực hiện trong PHP.

Tổng quan về Triển khai

Điểm truy cập của hệ thống cho thấy sự đơn giản trong việc khởi chạy quy trình đa tác nhân phức tạp:

php Copy
class DeepResearchAgent extends Workflow
{
    /**
     * @throws WorkflowException
     */
    public function __construct(string $query, protected int $maxSections = 3)
    {
        parent::__construct(new WorkflowState(['topic' => $query]));
    }

    protected function nodes(): array
    {
        return [
            new Planning($this->maxSections),
            new GenerateSectionContent(), // Lặp cho đến khi tất cả các phần được tạo
            new Format(),
        ];
    }
}

Phía sau giao diện này, quy trình điều phối nhiều tác nhân thông qua các nodes dựa trên sự kiện.

  • Lập kế hoạch: Tạo cấu trúc của báo cáo.
  • GenerateSectionContent: Tạo nội dung cho từng phần sử dụng kết quả tìm kiếm.
  • Format: Biên soạn báo cáo cuối cùng, với các nodes bổ sung xử lý việc tạo truy vấn và tìm kiếm web.

Điều phối Dựa trên Sự kiện

Điều đặc biệt của NeuronAI Workflows là khả năng truyền phát và gián đoạn. Điều này có nghĩa là hệ thống đa tác nhân của bạn có thể truyền cập nhật trực tiếp đến khách hàng, tạm dừng giữa quá trình, yêu cầu phản hồi từ con người, chờ đợi phản hồi và sau đó tiếp tục đúng nơi nó đã dừng lại - ngay cả khi đó là vài giờ hoặc vài ngày sau.

Kiến trúc quy trình cho phép các tác nhân giao tiếp thông qua các sự kiện thay vì các cuộc gọi hàm trực tiếp:

php Copy
class Planning extends Node
{
    public function __construct(protected int $template)
    {
    }

    public function __invoke(StartEvent $event, WorkflowState $state): GenerationEvent
    {
        /** @var ReportPlanOutput $plan */
        $plan = ResearchAgent::make()
            ->withInstructions(
                "Bạn là một chuyên gia trong nghiên cứu. Bạn được cung cấp một truy vấn người dùng và bạn cần tạo một kế hoạch báo cáo cho người dùng."
            )
            ->structured(
                new UserMessage(str_replace('{topic}', $state->get('topic'), $template)),
                ReportPlanOutput::class
            );

        return new GenerationEvent($plan);
    }
}

Mỗi sự kiện sẽ tự động kích hoạt các nodes tiếp theo, tạo ra một hệ thống tự phối hợp nơi các tác nhân phản hồi với công việc hoàn thành từ các chuyên gia khác.

Khả năng Truyền phát Thời gian Thực

Hệ thống cung cấp cái nhìn vào quy trình nghiên cứu khi nó diễn ra. Người dùng có thể quan sát hoàn thành lập kế hoạch, theo dõi các truy vấn tìm kiếm thực hiện và thấy việc tạo nội dung diễn ra trong thời gian thực. Kiến trúc truyền phát này có nghĩa là người dùng thấy kế hoạch hoàn thành, theo dõi các truy vấn nghiên cứu thực hiện và quan sát việc tạo nội dung xảy ra từng bước. Đối với các ứng dụng nơi người dùng cần hiểu hệ thống AI đang làm gì, tính minh bạch này xây dựng sự tự tin trong quy trình.

php Copy
class GenerateQueries extends Node
{
    /**
     * @throws \Throwable
     */
    public function __invoke(StartEvent $event, WorkflowState $state): \Generator|SearchEvent
    {
        $prompt = \str_replace('{query}', $state->get('query'), Prompts::SEARCH_QUERY_INSTRUCTIONS);

        yield new ProgressEvent("\n\n========== Đang tạo truy vấn tìm kiếm ==========\n\n");

        /** @var SearchQueriesOutput $response */
        $response = ResearchAgent::make()
            ->structured(
                new UserMessage($prompt),
                SearchQueriesOutput::class
            );

        yield new ProgressEvent(\implode("- ", $response->queries)  ."\n");

        return new SearchEvent($response->queries);
    }
}

Khả năng truyền phát này giải quyết một trong những thách thức cơ bản trong các ứng dụng AI: cung cấp tính minh bạch trong các quy trình tự động mà trước đây hoạt động như những hộp đen.

Con Người Trong Quy Trình

Một trong những tính năng thực tiễn nhất mà v2 củng cố là khả năng can thiệp của con người một cách liền mạch. Các quy trình có thể tạm dừng thực thi, yêu cầu phản hồi từ con người và tiếp tục đúng nơi chúng đã dừng lại. Khả năng này làm cho các hệ thống AI khả thi trong các quy trình kinh doanh nhạy cảm nơi cần có sự giám sát của con người.

php Copy
class InterruptionNode extends Node
{
    public function __invoke(InputEvent $event, WorkflowState $state): OutputEvent
    {
        // Gián đoạn quy trình và chờ phản hồi.
        $feedback = $this->interrupt([
            'question' => 'Chúng ta có nên tiếp tục không?',
            'current_value' => $state->get('accuracy')
        ]);

        if ($feedback['approved']) {
            $state->set('is_sufficient', true);
            $state->set('user_response', $feedback['response']);
            return new OutputEvent();
        }

        $state->set('is_sufficient', false);
        return new InputEvent();
    }
}

Mô hình này cho phép triển khai các hệ thống AI trong các môi trường sản xuất nơi tự động hóa hoàn toàn không thích hợp hoặc không được tin cậy.

Giám sát & Gỡ lỗi

Nhiều tác nhân mà bạn xây dựng với Neuron sẽ chứa nhiều bước với nhiều lần gọi LLM, sử dụng công cụ, truy cập vào bộ nhớ bên ngoài, v.v. Khi các ứng dụng này ngày càng phức tạp, việc có thể kiểm tra chính xác tác nhân của bạn đang làm gì và tại sao trở nên rất quan trọng.

Deep Research Agent tích hợp với Inspector để có khả năng quan sát toàn diện:

php Copy
INSPECTOR_INGESTION_KEY=fwe45gtxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Việc giám sát này tiết lộ toàn bộ dòng thời gian thực thi, cho thấy các tác nhân đã đưa ra quyết định như thế nào, mỗi giai đoạn mất bao lâu và nơi nào xảy ra vấn đề. Đối với các hệ thống đa tác nhân, tính minh bạch này chứng tỏ rất cần thiết cho việc tối ưu hóa và gỡ lỗi.

Bắt đầu

Triển khai hoàn chỉnh có sẵn tại kho lưu trữ Deep Research Agent. Cài đặt yêu cầu cấu hình tối thiểu:

bash Copy
composer install

php research.php

Đây là một triển khai hoàn chỉnh tạo ra các báo cáo nghiên cứu toàn diện bằng cách phối hợp nhiều dịch vụ AI. Lập kế hoạch, nghiên cứu, tạo nội dung, định dạng – tất cả đều được truyền phát trong thời gian thực, tất cả đều được xây dựng với kiến trúc quy trình dựa trên sự kiện mới.

Ý nghĩa Rộng lớn

Triển khai này chứng minh rằng các kiến trúc AI phức tạp không còn là độc quyền của Python. Đối với các nhóm có chuyên môn PHP đáng kể, v2 đã loại bỏ các lập luận chính về việc chuyển sang Python cho phát triển AI. Các quy trình tác nhân phức tạp giờ đây có thể thực hiện trong hệ sinh thái PHP, sử dụng các mẫu và cơ sở hạ tầng triển khai quen thuộc.

Deep Research Agent không chỉ là một thành tựu kỹ thuật. Nó chứng minh rằng các nhà phát triển PHP có thể xây dựng các hệ thống đa tác nhân sẵn sàng sản xuất mà không phải từ bỏ các kỹ năng, cơ sở hạ tầng triển khai hoặc mã nguồn hiện tại của họ. Neuron xác định rõ ràng khoảng cách cho phát triển AI Agents giữa PHP và các hệ sinh thái khác như Python hoặc Javascript, cho phép các nhóm đổi mới trong ngăn xếp công nghệ hiện tại của họ.

Đối với các nhà phát triển tò mò về ứng dụng tác nhân, Deep Research Agent cung cấp cả nguồn học tập và nền tảng để xây dựng các hệ thống đa tác nhân chuyên biệt.

Câu hỏi không còn là liệu PHP có thể xử lý các hệ thống đa tác nhân hay không. Câu hỏi là bạn sẽ xây dựng gì với những khả năng này.

Nếu bạn muốn tìm hiểu thêm về cách bắt đầu hành trình AI của bạn trong PHP, hãy xem phần học tập trong tài liệu.

Gợi ý câu hỏi phỏng vấn
Không có dữ liệu

Không có dữ liệu

Bài viết được đề xuất
Bài viết cùng tác giả

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào