Vượt xa Vòng lặp Agentic: Mô hình Orchestrator
Hầu hết mọi người xây dựng các hệ thống đa tác nhân (multi-agent systems) bằng cách sử dụng một vòng lặp agentic (agentic loop).
LLM đóng vai trò là bộ não và luồng điều khiển. Nó suy nghĩ, gọi một công cụ, quan sát và lặp lại. Cách này hiệu quả cho việc khám phá (exploration), nhưng nó mang lại ba vấn đề lớn:
- Tính không thể dự đoán: Một tác vụ có thể mất 3 lần gọi hoặc 9 lần gọi. Bạn không bao giờ biết được độ trễ hoặc chi phí cho đến khi nó chạy.
- Tính không xác định (Non-determinism): Cùng một câu hỏi nhưng mỗi lần lại đi theo các hướng khác nhau. Điều này khiến việc tin tưởng giao cho các agent thực hiện các tác vụ có tác động phụ (side effects) như đặt hàng trở nên khó khăn.
- Khả năng quan sát kém: Việc gỡ lỗi (debugging) đòi hỏi phải phát lại các bản ghi chép lộn xộn của quá trình suy luận và các lần gọi công cụ.
Nếu bạn đã nắm rõ các agent và chức năng của chúng, hãy sử dụng mô hình Orchestrator thay thế.
Mô hình Orchestrator tách biệt việc ra quyết định khỏi việc thực thi. Nó sử dụng ba giai đoạn riêng biệt:
- Điều hướng (Route): Một lần gọi LLM sẽ chọn các công cụ. Nó không trả lời người dùng.
- Thực thi (Execute): Mã TypeScript thông thường sẽ chạy các agent. Không có LLM nào được sử dụng ở đây.
- Tổng hợp (Synthesize): Một lần gọi LLM sẽ chuyển đổi dữ liệu thành một câu trả lời tự nhiên.
Mô hình này tạo ra ba chế độ thực thi:
• Đơn lẻ (Single): Một agent xử lý truy vấn.
• Song song (Parallel): Nhiều agent độc lập chạy cùng lúc bằng cách sử dụng Promise.all. Điều này giúp tiết kiệm thời gian.
• Tuần tự (Sequential): Các agent chạy theo thứ tự. Mỗi bước sử dụng kết quả từ bước trước đó.
Bằng cách sử dụng phương pháp này, bạn sẽ có được:
- Một kế hoạch đáng tin cậy: Bạn có thể thấy kế hoạch thực thi trước khi bất kỳ mã nào được chạy.
- Tốc độ nhanh hơn: Thực thi song song xử lý nhiều lượt tra cứu cùng một lúc.
- Kiểm thử tốt hơn: Bạn có thể kiểm thử đơn vị (unit test) giai đoạn thực thi mà không cần khóa API.
- Chi phí có thể dự đoán: Mỗi yêu cầu sử dụng chính xác hai lần gọi LLM.
Hãy sử dụng vòng lặp agentic cho việc khám phá. Hãy sử dụng orchestrator cho các hệ thống production cần tốc độ và độ tin cậy.
Nguồn: https://dev.to/stormhub/beyond-the-agentic-loop-in-typescript-building-a-shopping-