Các quy trình làm việc đa tác nhân đang thống trị GitHub hiện nay. Các nhà phát triển đang xâu chuỗi các mô hình ngôn ngữ lớn, giao cho mỗi tác nhân một chuyên môn hẹp và điều phối đầu ra của chúng để giải quyết những công việc mà một mô hình đơn lẻ không thể tự xử lý. Kết quả có thể rất ấn tượng. Một tác nhân nghiên cứu, một tác nhân khác soạn thảo, tác nhân thứ ba kiểm tra sự thật và tác nhân thứ tư định dạng đầu ra cuối cùng. Nhưng đằng sau tất cả sự phối hợp đó là một sự phụ thuộc mong manh. Nếu bước đầu tiên — chuyển đổi đầu vào của con người thành các hướng dẫn mà máy có thể đọc được — bị chậm hoặc không chính xác, toàn bộ chuỗi sẽ tan rã. Một tác nhân hạ nguồn không thể sửa lỗi dữ liệu rác. Nó chỉ có thể làm sai lệch nó thêm.

Điểm nghẽn này chính là nơi Iflytek/domux xuất hiện. Đây là một mô hình mã nguồn mở được xây dựng cho chính xác một nhiệm vụ quan trọng: hiểu câu lệnh nhanh chóng. Thay vì tạo ra các bài luận hay thực hiện các cuộc hội thoại mở, domux phân tích ngôn ngữ tự nhiên và xuất ra dữ liệu có cấu trúc, chặt chẽ để các tác nhân khác có thể tiêu thụ ngay lập tức. Bất kỳ hệ thống nào cần đầu vào có cấu trúc trong thời gian thực, từ các trung tâm điều khiển nhà thông minh đến bảng điều khiển công nghiệp, đều có thể sử dụng nó như một lớp nhận thức.

Mắt xích yếu nhất trong chuỗi

Hãy xem xét điều gì xảy ra khi người dùng đưa ra một câu lệnh đơn giản như “làm cho chỗ này sáng hơn”. Trong một thiết lập đa tác nhân, câu nói đó có thể cần phải đi qua một bộ điều khiển ánh sáng, một bộ giám sát năng lượng và một bộ ghi nhật ký bảo mật. Nếu bộ phân tích ban đầu trả về một câu mơ hồ như “người dùng muốn thêm ánh sáng”, mọi tác nhân tiếp theo đều phải diễn giải lại ý nghĩa đó. Một số có thể bị đình trệ trong khi chờ đợi các tham số chính xác. Những tác nhân khác có thể đoán phòng hoặc mức độ sáng và đoán sai. Quy trình làm việc sẽ bị đình trệ.

Độ trễ làm vấn đề trở nên tồi tệ hơn. Chỉ cần thêm vài trăm mili giây trễ phân tích tại điểm đầu vào, thì đến khi thông tin đến được tác nhân thứ ba, hệ thống đã có cảm giác như bị lỗi. Các môi trường thời gian thực không chấp nhận sự khởi đầu chậm chạp. Các nhà phát triển đang nhận thấy rằng các khung điều phối trông rất đẹp trên sơ đồ kiến trúc nhưng lại sụp đổ khi nhận được các đầu vào mơ hồ hoặc chậm chạp. Bạn cần một lớp chuyên dụng để chuẩn hóa các câu lệnh trước khi phần còn lại của quy trình làm việc bắt đầu tư duy.

Domux được thiết kế để trở thành lớp đó. Nó tiếp nhận ngôn ngữ con người lộn xộn và chuyển đổi chúng thành một lược đồ (schema) sạch sẽ mà các tác nhân hạ nguồn có thể coi là dữ liệu chuẩn (ground truth).

Tốc độ, cấu trúc và độ chính xác

Dự án quảng bá ba đặc điểm ảnh hưởng trực tiếp đến hành vi trong môi trường thực tế (production).

Thứ nhất, nó phản hồi trong dưới 150 mili giây. Ngưỡng đó rất quan trọng. Trong các thiết lập tương tác, một phản hồi dưới 1/4 giây mang lại cảm giác tức thì, trong khi bất kỳ thứ gì tiến gần đến một giây đầy đủ sẽ khiến người dùng có xu hướng từ bỏ công cụ. Cho dù đầu vào đến từ giọng nói hay giao diện chat, domux vẫn giữ cho luồng xử lý luôn chuyển động.

Thứ hai, nó ánh xạ các đầu vào vào một lược đồ bảy trường nghiêm ngặt. Không có văn bản tự do để các hệ thống hạ nguồn phải giải mã. Mọi câu lệnh đều được đưa vào các cột có thể dự đoán được.

Thứ ba, nó tuyên bố độ chính xác 98,37% cùng với khả năng tuân thủ định dạng 100%. Độ chính xác có nghĩa là mô hình thường hiểu đúng người dùng. Tuân thủ định dạng có nghĩa là đầu ra luôn hợp lệ về mặt cấu trúc trong mọi trường hợp. Một bộ phân tích chính xác 99% nhưng thỉnh thoảng lại bỏ sót một trường hoặc tự tạo ra một trường mới sẽ là một rủi ro trong một chuỗi tự động. Một hàng sai định dạng có thể làm sập một tác nhân tiêu thụ dữ liệu.

Đây là hình dạng thực tế của đầu ra. Khi mô hình xử lý một câu lệnh, nó trả về một bản ghi phân tách bằng dấu gạch đứng:

action|device|attribute|value|unit|room|floor
turnOn|light|brightness|80|percent|living room|ground floor

Định dạng này là có chủ đích. Văn bản phân tách bằng dấu gạch đứng rất dễ phân tích trong bất kỳ ngôn ngữ lập trình nào mà không cần các thư viện phụ thuộc nặng nề. Nó tránh được sự cồng kềnh của JSON và độ trễ của việc tuần tự hóa lồng nhau. Một tác nhân ánh sáng có thể đọc các cột hành động (action) và thiết bị (device) để hành động ngay lập tức. Một tác nhân ghi nhật ký có thể trích xuất phòng (room) và tầng (floor) mà không cần chạy thêm một lượt suy luận nào khác. Cấu trúc này loại bỏ sự mơ hồ ngay từ khâu thiết kế.

Xử lý ý định mơ hồ của con người

Con người thực tế không nói chuyện giống như tài liệu API. Họ nói những câu như “làm cho sáng hơn” hoặc “làm cho nơi này ấm áp lên”. Một bộ phân tích mong manh sẽ thất bại trước những câu đó. Domux xử lý sự mơ hồ bằng cách ánh xạ ý định vào một hành động điều chỉnh và để các hệ thống hạ nguồn giải quyết giá trị chính xác. Nếu ai đó nói “làm cho sáng hơn”, mô hình sẽ xác định hành động là tăng độ sáng. Mức số cụ thể sẽ được để lại cho tác nhân ánh sáng quyết định dựa trên các chỉ số hiện tại, thời gian trong ngày, hoặc