Trình kết xuất tác nhân sang giao diện người dùng (A2UI) của Jetpack Compose cung cấp một cách triển khai giao thức A2UI, cho phép các tác nhân AI tạo ra giao diện người dùng phong phú, có tính tương tác, kết xuất các thành phần Compose gốc mà không cần thực thi mã tuỳ ý. Thư viện này liên kết giao thức JSON A2UI với các thành phần cơ bản của Compose trong khi tuân thủ hoạt động quản lý trạng thái theo cách thức đặc trưng và cung cấp khả năng phản ứng chi tiết dựa trên hệ thống trạng thái Snapshot của Compose.
Thư viện trình kết xuất A2UI của Compose cung cấp các chức năng sau:
- Tính phản ứng hiệu suất cao (
androidx.a2ui.compose:compose-runtime): Cung cấp các bản cập nhật giao diện người dùng chi tiết bằng cách tận dụng hệ thống trạng thái Compose Snapshot, đảm bảo rằng chỉ những thành phần cụ thể chịu ảnh hưởng của các bản cập nhật tác nhân truyền phát trực tiếp hoặc tương tác của người dùng mới được kết hợp lại. - API thành phần linh hoạt và khả năng tuỳ chỉnh (
androidx.a2ui.compose:compose-ui): Cung cấp một mẫu có cấu trúc để xác định danh mục các cách triển khai thành phần ánh xạ giản đồ giao thức JSON với giao diện người dùng Compose gốc. Điều này cho phép bạn tạo các thành phần hỗ trợ kết xuất tăng dần, trạng thái tải tuỳ chỉnh của các thành phần con, hiệu ứng chuyển động và liên kết dữ liệu hai chiều có thể gửi dữ liệu trở lại tác nhân. - Lõi độc lập với hệ thống thiết kế: Giúp các lớp kết xuất giao diện người dùng và thời gian chạy độc lập với mọi hệ thống thiết kế cụ thể, cho phép bạn tạo danh mục tuỳ chỉnh cho hệ thống thiết kế của ứng dụng hoặc áp dụng Danh mục cơ bản được cung cấp.
- Xử lý khéo léo ảo giác của AI (
androidx.a2ui:a2ui-modelvàandroidx.a2ui:a2ui-engine): Cung cấp quy trình xác thực lược đồ để chặn các tải trọng bị lỗi trước khi chúng đạt đến các mô hình trạng thái, xử lý lỗi khéo léo thông qua các trạng thái lỗi của thành phần và báo cáo lỗi tự động cho một tác nhân để tự sửa lỗi. - Danh mục cơ bản tích hợp (
androidx.compose.material3:material3-a2ui): Cung cấp một phương thức triển khai Danh mục cơ bản sẵn sàng sử dụng bằng các thành phần Material 3, hỗ trợ kết xuất tăng dần và tạo giao diện Material trên trình kết xuất Compose.
Kiến trúc cấp cao
Mọi giao diện A2UI đều được điều khiển bằng một danh mục thành phần. Thay vì để một tác nhân tạo mã giao diện người dùng tuỳ ý hoặc phát minh ra các thành phần chưa đăng ký, danh mục này đóng vai trò là một hợp đồng xác định các phần tử, thuộc tính và chức năng cụ thể trên giao diện người dùng mà tác nhân có thể sử dụng. Danh mục khai báo các thành phần; tác nhân sử dụng các thành phần đó để tạo giao diện người dùng.
Để hỗ trợ mô hình này, trình kết xuất A2UI của Compose tách riêng công cụ kết xuất cốt lõi, không phụ thuộc vào hệ thống thiết kế khỏi các triển khai danh mục cụ thể trên các cấu phần phần mềm Jetpack được mô tả trước đó và cung cấp các API kiểm thử chuyên dụng trong androidx.a2ui.compose:compose-ui-testing.
Sự phát triển của giao thức và khả năng tương thích của API
Trình kết xuất Compose A2UI hiện hỗ trợ phiên bản 0.9.1 của quy cách A2UI.
Các lớp giao diện người dùng (androidx.a2ui.compose:compose-ui) và thời gian chạy (androidx.a2ui.compose:compose-runtime) cung cấp một giao diện API cho các ứng dụng và danh mục thành phần của bạn, trong khi lớp dữ liệu cơ bản (androidx.a2ui:a2ui-model và androidx.a2ui:a2ui-engine) quản lý việc phân tích cú pháp và xử lý thông báo theo giao thức cụ thể. Vì các thư viện này là một phần của AndroidX, nên các quy tắc nghiêm ngặt về khả năng tương thích nhị phân sẽ được áp dụng. Ví dụ: sau khi API công khai đạt đến phiên bản ổn định 1.0.0, sẽ không có thay đổi nào gây lỗi cho các nền tảng API công khai, chẳng hạn như các lớp và giao diện.
Trình kết xuất A2UI của Compose sử dụng các chiến lược sau để hỗ trợ quá trình phát triển giao thức.
Phát triển các API giao diện người dùng và trình kết xuất thời gian chạy
Khi giao thức A2UI phát triển hoặc bổ sung các chức năng mới, các API của trình kết xuất sẽ hỗ trợ những thay đổi đó thông qua các phương pháp sau:
- Các thành phần bổ sung API không làm gián đoạn: Khi một khả năng mới được giới thiệu, khả năng đó sẽ trở thành một phần của giao diện công khai cốt lõi (chẳng hạn như
A2uiComponenthoặcA2uiCatalog) với một cách triển khai mặc định. Điều này cho phép các thành phần của ứng dụng tiếp tục biên dịch và hoạt động mà không cần sửa đổi. - Các thay đổi gây lỗi khiến các giao diện cũ không còn được dùng nữa: Nếu một bản cập nhật giao thức trong tương lai có thay đổi không tương thích, các giao diện cũ không tương thích (chẳng hạn như
A2uiComponent) sẽ không còn được dùng nữa và các giao diện mới (chẳng hạn nhưA2uiComponentV2) sẽ được giới thiệu và hỗ trợ cùng với các giao diện cũ.
Danh mục phiên bản và giản đồ thành phần
Định nghĩa giản đồ danh mục được liên kết với một phiên bản giao thức cụ thể. Khi giao thức phát triển, định nghĩa danh mục cũng phát triển theo và tăng phiên bản. Các hoạt động triển khai thành phần cho phiên bản "tiếp theo" này có thể sử dụng các API trình kết xuất đã cập nhật.
Để giúp quá trình di chuyển diễn ra liền mạch, ứng dụng của bạn có thể khai báo nhiều phiên bản danh mục được hỗ trợ mà tác nhân nhận được trong giai đoạn thương lượng khả năng.