LangChain: Blog
85

Thủ thuật

Xây dựng AI Agent cho Monday.com: Tại sao công cụ thôi là chưa đủ?

(giờ Việt Nam)

Tóm tắt AI

Bài viết phân tích quá trình phát triển AI Agent cho Monday.com, nhấn mạnh rằng để đạt hiệu quả thực tế, các tác nhân AI cần nhiều hơn là chỉ khả năng sử dụng công cụ, bao gồm cả tư duy logic và quy trình xử lý phức tạp.

Bản dịch AI

Building monday.com Sidekick: why capable agents need more than just tools

Đây là bài viết khách mời từ Omri Bruchim, Trưởng nhóm Kỹ thuật AI tại monday.com.

Trong giai đoạn thử nghiệm ban đầu, việc bổ sung thêm nhiều công cụ khiến Sidekick có vẻ mạnh mẽ hơn. Nhưng khi đưa vào vận hành thực tế, chúng lại làm hệ thống tệ đi. Đây là câu chuyện về cách chúng tôi đã phá bỏ kiến trúc agent (tác nhân) đầu tiên và xây dựng lại Sidekick dựa trên các trách nhiệm được giới hạn, môi trường sandbox và các subagent (tác nhân phụ) chuyên biệt.

Chúng tôi từng có một agent đa năng với quyền truy cập vào danh sách công cụ ngày càng mở rộng.

Sidekick là trợ lý AI của chúng tôi bên trong monday.com. Phiên bản đầu tiên của nó trông giống như rất nhiều nguyên mẫu agent khác trên thị trường: một agent đa năng và một danh sách công cụ ngày càng dài. Đó là một điểm khởi đầu hữu ích — nó giúp chúng tôi học hỏi nhanh chóng và xác nhận những gì người dùng thực sự cần. Một trợ lý có thể tóm tắt dự án, phát hiện các điểm nghẽn, soạn thảo cập nhật, phân tích tệp tin, cập nhật bảng biểu và thực hiện các hành động trên monday.com cũng như mọi thứ được kết nối với nó.

Sau đó, Sidekick được đưa vào các quy trình làm việc thực tế và những vết nứt bắt đầu xuất hiện. Mỗi công cụ mới chúng tôi thêm vào lại khiến hệ thống trở nên mơ hồ hơn, tốn kém chi phí vận hành hơn và khó gỡ lỗi hơn. Trên lý thuyết, năng lực của nó tăng lên, nhưng trên thực tế thì lại giảm đi.

Mục tiêu của chúng tôi chưa bao giờ là xây dựng một chatbot chỉ để trả lời các câu hỏi về monday.com. Chúng tôi muốn Sidekick chuyển từ việc trả lời sang hỗ trợ, và cuối cùng là chủ động giúp người dùng thực hiện công việc. Điều đó thúc đẩy chúng tôi ngừng coi agent là một vòng lặp suy luận lớn duy nhất. Chúng tôi bắt đầu phân tách trách nhiệm trên toàn hệ thống: điều phối, truy xuất ngữ cảnh có nhận thức về quyền hạn, các subagent chuyên biệt, các công cụ có giới hạn và môi trường thực thi sandbox.

Bài viết này chia sẻ cách chúng tôi tái cấu trúc Sidekick, lý do tại sao sandbox trở thành một thành phần nguyên thủy quan trọng đối với agent và những gì chúng tôi đã học được từ việc vận hành nó trong thực tế.

Sidekick phải hoạt động dựa trên ngữ cảnh công việc thực tế.

Sidekick nằm trong monday.com, nơi ngữ cảnh công việc được phân tán trên các bảng (boards), mục (items), cập nhật, tài liệu, bảng điều khiển (dashboards), cuộc họp, tệp tin, thông báo và các tích hợp. Người dùng có thể yêu cầu tóm tắt dự án, nhưng câu trả lời có thể phụ thuộc vào nhiều nguồn dữ liệu khác nhau, như bảng biểu, ghi chú cuộc họp hoặc các tệp tin đã tải lên.

Đó là lý do tại sao chúng tôi không thể xây dựng Sidekick như một chatbot thông thường. Nó cần hiểu mục tiêu của người dùng, thu thập đúng ngữ cảnh, tuân thủ quyền hạn của người dùng, suy luận trên nhiều nguồn dữ liệu và thực sự hoàn thành công việc.

Và các yêu cầu rất đa dạng. Một phút là tra cứu đơn giản, phút sau là tác vụ viết lách, rồi đến phân tích dữ liệu có cấu trúc, sau đó là một quy trình làm việc kéo dài tạo ra các sản phẩm đầu ra. Coi tất cả những điều đó là cùng một loại vấn đề của agent là một trong những sai lầm đầu tiên mà chúng tôi phải từ bỏ.

Những gì kiến trúc đầu tiên đã dạy chúng tôi.

Kiến trúc V1 của chúng tôi có một agent chính và một tập hợp công cụ ngày càng tăng, thoạt nhìn có vẻ trực quan. Nếu người dùng muốn Sidekick làm nhiều việc hơn, chúng tôi cung cấp cho agent nhiều công cụ hơn. Tuy nhiên, trong thực tế, chúng tôi nhận thấy mỗi công cụ mới đều gây ra những tác động lan tỏa khắp hệ thống theo những cách không mong đợi. Một vài mô hình cứ lặp đi lặp lại:

V1 đã chứng minh Sidekick có thể thực sự hữu ích. Nó cũng bộc lộ những hạn chế của một kiến trúc phẳng. Chúng tôi đã gặp phải ba rào cản:

LangChain Deep Agents đã cung cấp cho chúng tôi một cách có cấu trúc hơn để phân tách các vấn đề này. Thay vì kỳ vọng một agent biết và làm mọi thứ, chúng tôi có thể giao cho agent chính trách nhiệm hiểu mục tiêu của người dùng và ủy quyền các tác vụ có giới hạn cho các subagent chuyên biệt hoặc các môi trường thực thi biệt lập.

Nhưng sự thay đổi thực sự không nằm ở việc "chuyển sang nhiều agent". Đó là việc vạch ra những ranh giới rõ ràng hơn giữa lập kế hoạch, suy luận theo lĩnh vực cụ thể, sử dụng công cụ và thực thi.

Kiến trúc, từng lớp một.

Sidekick ngày nay được tổ chức xung quanh nhiều lớp, mang lại cấu trúc và quyền kiểm soát tốt hơn cho agent, đồng thời mở rộng các loại tác vụ mà nó có thể đảm nhận cho người dùng.

Một sandbox cung cấp cho agent một nơi để làm việc.

Chúng tôi coi MCP, các công cụ và sandbox là những thành phần bổ trợ cho nhau.

MCP và việc gọi công cụ (tool calling) giúp xác định các năng lực hoặc tài nguyên mà một agent có thể truy cập. Việc gọi công cụ hoạt động hiệu quả khi thao tác được giới hạn: truy xuất một mục, cập nhật một cột, tìm kiếm tài liệu hoặc gửi một tin nhắn đã được phê duyệt. Những hành động này có đầu vào và đầu ra rõ ràng.

Mặt khác, một sandbox cung cấp cho agent một nơi để thực hiện công việc phức tạp và mang tính lặp đi lặp lại.

Việc tạo ra sự phân biệt này đã thay đổi cách chúng tôi suy nghĩ về các quy trình làm việc nặng về tệp tin và phân tích. Nếu người dùng tải lên nhiều tệp CSV và yêu cầu Sidekick đối chiếu chúng với dữ liệu bảng, agent không nên phải chuyển mọi dataframe trung gian qua ngữ cảnh của mô hình, vì điều đó sẽ kém hiệu quả và dễ lỗi. Nó không cần một công cụ riêng biệt cho mọi phép biến đổi có thể xảy ra. Một cách tiếp cận tốt hơn là cung cấp một không gian làm việc tạm thời nơi nó có thể kiểm tra tệp, viết mã, chạy mã, sửa lỗi và tạo ra sản phẩm đầu ra.

Đây là lúc các sandbox phát huy tác dụng và nó gần giống với cách một con người thực hiện tác vụ. Bạn sẽ không yêu cầu một chuyên gia phân tích giải quyết vấn đề bảng tính bằng cách gọi một API khác nhau cho mỗi thao tác trên cột. Bạn sẽ cung cấp cho họ một không gian làm việc, các quyền hạn phù hợp và một mục tiêu rõ ràng.

Trong một sandbox, agent có thể lưu các tệp đã tải lên, kiểm tra tên cột, viết tập lệnh, chạy tập lệnh, gặp lỗi phân tích cú pháp, sửa tập lệnh, tạo biểu đồ và giữ các tệp trung gian nằm ngoài ngữ cảnh chính của mô hình. Agent chính chỉ cần kết quả và bản tóm tắt về những gì đã xảy ra.

Trong quy trình này, các công cụ cung cấp quyền truy cập có kiểm soát vào các hệ thống kinh doanh của người dùng, và sau đó sandbox cung cấp môi trường làm việc.

Cách chúng tôi quyết định giữa công cụ, subagent và sandbox.

Thay vì chọn một sự trừu tượng duy nhất cho toàn bộ yêu cầu, chúng tôi chọn ranh giới phù hợp cho từng phần của công việc.

Vì vậy, nếu agent cần đọc một bảng, cập nhật một mục, tìm kiếm tài liệu hoặc gửi một tin nhắn đã được phê duyệt, đó nên là một công cụ vì thao tác đó có giới hạn và có thể kiểm toán được.

Nếu tác vụ đòi hỏi kiểu suy luận hẹp hơn — như phân tích rủi ro, nghiên cứu và tạo nội dung — chúng tôi ủy quyền cho một subagent vì các tác vụ này được hưởng lợi từ các hướng dẫn tập trung và bộ công cụ nhỏ gọn hơn.

Nếu công việc có trạng thái trung gian có thể làm nhiễu ngữ cảnh của agent chính, chúng tôi sử dụng sandbox. Các sản phẩm như tệp tin, tập lệnh, biểu đồ đã tạo, nhật ký và các đầu ra tạm thời thuộc về một không gian làm việc biệt lập, không phải trong cửa sổ ngữ cảnh chính.

Dưới đây là một ví dụ phổ biến. Người dùng có thể hỏi:

Đối với tác vụ này, agent chính truy xuất dữ liệu bảng liên quan thông qua các công cụ của monday.com. Sau đó, nó ủy quyền phân tích rủi ro cho một subagent phân tích chuyên biệt với mục tiêu hẹp hơn và cửa sổ ngữ cảnh tập trung.

Nếu tệp CSV yêu cầu chuẩn hóa, nối dữ liệu, tính toán hoặc tạo biểu đồ, subagent phân tích có thể sử dụng sandbox. Nó đặt tệp và dữ liệu bảng đã chọn vào sandbox, thực hiện các phép biến đổi, xác thực kết quả và tạo ra các đầu ra hoặc hình ảnh trực quan có cấu trúc.

Cuối cùng, agent chính hoặc một subagent chuyên về viết lách sẽ biến những phát hiện đó thành một bản cập nhật điều hành theo định dạng mà người dùng ưa thích.

Việc một quy trình làm việc duy nhất sử dụng cả ba cơ chế này là điều phổ biến. Các công cụ cung cấp quyền truy cập có kiểm soát vào các hệ thống kinh doanh, các subagent cung cấp khả năng suy luận chuyên biệt và các sandbox cung cấp môi trường làm việc cho việc thực thi phức tạp.

Đọc bài gốc

Bài viết được AI dịch và tổng hợp tự động từ LangChain: Blog. Liên kết bài gốc ở phía trên. Dữ liệu đồng bộ qua API công khai được ghi nguồn tại AI HOT (canonical) ↗. AIHOT.vn luôn dẫn nguồn đầy đủ — nếu bạn thấy điểm cần chỉnh sửa, hãy gửi ý kiến tại trang phản hồi.