Your cart is currently empty!
Hơi Thở Mới Cho “Tư Vấn Viên AI” Trong Thương Mại Điện Tử
Khi nghĩ về việc xây dựng một hệ thống thông minh, tôi lại hình dung đến một người tư vấn tận tâm, tỉ mỉ. Mà đúng thật, đó chính là điều mà những “tư vấn viên AI” này đang cố gắng vươn tới. Bài viết này sẽ mở ra cánh cửa vào thế giới ấy, nơi công nghệ và sự tinh tế hòa quyện, mang đến những gợi ý “chuẩn gu” cho mọi tâm hồn.
Đi qua những ngày đầu của RAG – cái tên có vẻ khô khan nhưng lại là xương sống của mọi trợ lý ảo. Lúc đó, ta vẫn dùng RAG một cách đơn thuần: một câu hỏi từ người dùng, qua trí tuệ nhân tạo, chạy vào “kho dữ liệu” rồi trả lời. Nghe thì có vẻ đơn giản, nhưng vấn đề là, cuộc sống đâu chỉ có những câu hỏi một chiều. Từng bước một, ta chạm đến những “ngõ cụt” mà RAG truyền thống chưa thể vượt qua.
Thứ nhất, đó là khi ta muốn tìm thứ gì đó vừa có chữ, vừa có hình. Thử nghĩ mà xem, bạn muốn tìm “những chiếc cốc có hình người nhảy múa và mã SKU 123 ABC”. Nếu chỉ dựa vào văn bản, làm sao máy hiểu được cái dáng “người nhảy múa” kia? Đâu đó, ta bối rối nhẹ vây quanh, khi công nghệ chưa đủ “tinh tế” để thấu hiểu.
Thứ hai, đó là về những lời đề xuất “chân thành”. Chẳng hạn, bạn hỏi: “Gợi ý món quà sinh nhật cho con trai tôi đi?”. Đây đâu chỉ là tìm kiếm thông tin, mà là một yêu cầu mang đầy cảm xúc, đòi hỏi hiểu ngữ cảnh sâu sắc. RAG thông thường, cứ thế mà lạc lối giữa muôn vàn sản phẩm, không tài nào tìm ra được món quà ưng ý.
Thế thôi, rõ ràng là ta cần một phương pháp tìm kiếm vượt lên trên sự tương đồng văn bản đơn giản, một bước tiến mới để máy móc cũng có thể “cảm” được điều ta muốn.
Rồi, như một tia sáng le lói, những phương pháp tìm kiếm nâng cao xuất hiện, từng chút một thay đổi cách chúng ta tương tác với thế giới số.
Tìm kiếm Đa phương thức
Mỗi lần nhắc đến “đa phương thức”, tôi lại nghĩ về việc hội tụ. Văn bản và hình ảnh, tưởng chừng khác biệt, nay lại có thể “nói chuyện” cùng nhau. Bằng cách dùng các mô hình “đa phương thức” (như từ Vertex AI Embeddings API), máy tạo ra những “nhúng” (embeddings) cho cả hình ảnh và văn bản trong cùng một không gian. Điều này có nghĩa là, nếu ý nghĩa tương đồng, dù là từ chữ hay từ hình, chúng sẽ nằm gần nhau trên “bản đồ” dữ liệu. Nhờ vậy, ta có thể tìm kiếm hình ảnh bằng chữ hoặc ngược lại. Tôi vẫn nhớ lần demo ấy, chỉ với câu hỏi “cốc có hình người nhảy múa”, máy đã tìm ra ngay những chiếc cốc phù hợp từ 3 triệu mặt hàng, hoàn toàn dựa vào việc phân tích hình ảnh, chẳng cần đọc một dòng mô tả nào. Thật kỳ diệu!
Tìm kiếm Lai
Đôi khi, ngữ nghĩa tinh tế cũng có giới hạn. Nó giỏi hiểu ý nghĩa sâu xa, nhưng lại lúng túng với những cái tên sản phẩm cụ thể hay những món đồ mới toanh. Vấn đề là, ta cần cả hai: hiểu ý nghĩa và từ khóa chính xác. Thế là “tìm kiếm lai” ra đời, kết hợp tìm kiếm ngữ nghĩa (dựa trên “nhúng dày đặc”) với tìm kiếm từ khóa (dựa trên “nhúng thưa thớt”) vào một chỉ mục duy nhất. Một mũi tên trúng hai đích. Trong buổi demo, tôi đã thấy rõ điều này, khi gõ “1234” – một mã sản phẩm vô nghĩa, hệ thống vẫn tìm được những mặt hàng có số “1234” trong mô tả, đồng thời đưa ra cả những kết quả có ý nghĩa liên quan. Thật sự là một sự kết hợp khéo léo.
Nhúng theo Loại Tác vụ
Đây là phần khiến tôi phải suy nghĩ nhiều nhất. Trong đời sống, một câu hỏi và một câu trả lời thường không giống nhau về mặt từ ngữ, nhưng lại có mối liên hệ sâu sắc. Ví dụ, “Tại sao bầu trời màu xanh?” và “sự tán xạ của không khí”. Nếu chỉ tìm từ khóa giống nhau thì rõ ràng là không ổn. Vấn đề là, mô hình cần hiểu được mối quan hệ này, không chỉ tương đồng bề mặt. Google đã cho ra đời các mô hình “mã hóa kép” hay “hai tháp” (qua Vertex AI Embeddings API) để học cách kết nối các miền dữ liệu khác nhau. Điều này đảm bảo các kết quả trả về là phù hợp nhất với ý định, chứ không phải chỉ giống nhất. Tôi còn nhớ rất rõ, khi tìm “quà sinh nhật cho con trai tôi”, nếu dùng cách cũ, máy chỉ đưa ra toàn móc khóa. Nhưng với “nhúng loại tác vụ”, kết quả lại là những món quà đa dạng, thật sự ý nghĩa, như chú chuột đồ chơi “Reggie Mouse”. Nó không chỉ giống từ, mà còn hiểu được “cái gu” của người hỏi. Thật sự đáng để suy ngẫm.
Rồi, khi ta đã có những viên gạch tìm kiếm thật vững chắc, giờ là lúc xây nên ngôi nhà cho những “tư vấn viên AI” đầy thông minh.
Không hiểu sao, việc tích hợp những kỹ thuật tìm kiếm tiên tiến này vào các “tác nhân AI” lại mở ra một chân trời mới cho những lời đề xuất “thông thái” và “sinh tạo”. Bởi lẽ, người dùng giờ đây đâu chỉ muốn một câu trả lời đơn thuần, họ muốn một “người bạn” tư vấn, một “chuyên gia” thật sự. Kiểu như: “Bạn có thể gợi ý quà sinh nhật cho con trai tôi không? Xu hướng mới nhất là gì?”. Điều này đòi hỏi hiểu ngữ cảnh sâu sắc và khả năng đưa ra những gợi ý cá nhân hóa.
Giải pháp ư? Chính là sự kết hợp giữa “Tác nhân AI” và “Tìm kiếm Vector”. Tưởng tượng nhé, một “tác nhân giao diện người dùng” (UI agent) nhận câu hỏi, rồi nó “bật” Google Search lên để nghiên cứu xu hướng. Từ đó, nó sẽ tự mình tạo ra vô vàn câu hỏi nhỏ, cụ thể (như “đồ chơi STEM cho trẻ 10 tuổi”, hay “bộ khoa học cho trẻ em”). Kế đến, nó “giao” cho một “tác nhân tìm kiếm” (Search Agent) chạy song song tất cả các truy vấn này. Cuối cùng, “tác nhân tìm kiếm” lại chuyển những truy vấn đó đến “Tìm kiếm Vector”. Cứ thế, một dòng chảy thông tin tinh vi, vượt xa những cách khớp từ khóa đơn giản ngày nào.
Tôi vẫn còn ấn tượng với buổi demo về “Trợ lý mua sắm” (Shoppers Concierge). Với một câu hỏi “quà sinh nhật cho con trai 10 tuổi” đơn giản, tác nhân đã dùng Tìm kiếm Vector, tạo ra những truy vấn như “đồ chơi và trò chơi”, “nhân vật hành động” để tìm kiếm trong 10 triệu mặt hàng. Nhưng điều tuyệt vời hơn cả là “chế độ nghiên cứu chuyên sâu”. Khi người dùng yêu cầu, tác nhân không ngần ngại “ngụp lặn” vào Google Search, tìm hiểu xu hướng, xác định 5 danh mục, và rồi đưa ra 20 truy vấn cho mỗi danh mục – tổng cộng 100 truy vấn! Một hành trình tìm kiếm không ngừng nghỉ, để rồi tuyển chọn ra những kết quả tốt nhất, đa dạng và đầy cảm hứng. Thậm chí, khi tôi tải lên hình ảnh căn phòng của mình, tác nhân AI đã hiểu ngay “đây là góc học tập”, gợi ý một chiếc “đèn bàn LED” phù hợp, và còn có thể tạo ra hình ảnh chiếc đèn ấy nằm ngay ngắn trong căn phòng của tôi. Thật sự, đôi khi tôi tự hỏi, liệu có phải công nghệ cũng có tâm hồn chăng?
Để làm được tất cả những điều này, “hậu trường” cần những “người bạn” đồng hành vững chắc. Đó chính là Agent Development Kit (ADK) và Vertex AI Vector Search. ADK, một khung đa tác nhân mã nguồn mở mới tinh từ Google (ra mắt tháng 4/2024), hỗ trợ Gemini và cả các mô hình bên thứ ba, cho phép giao tiếp thời gian thực bằng âm thanh và hình ảnh. Có thể nói, đó là một “sân chơi” rộng lớn cho những “người kiến tạo AI”.
Kiến trúc của chế độ nghiên cứu chuyên sâu với ADK, tôi nhớ mang máng là thế này: “Tác nhân UI” nhận yêu cầu, rồi dùng Google Search để “định hướng” (nghiên cứu xu hướng). “Tác nhân UI” lại nhờ “Tác nhân Tìm kiếm” tạo ra 100 truy vấn (20 truy vấn cho 5 danh mục). Tất cả những truy vấn ấy, không hiểu sao, lại trở nên “mạnh mẽ” hơn bao giờ hết, khi được kết hợp với nhúng đa phương thức, loại tác vụ và từ khóa. Chúng được gửi đến Tìm kiếm Vector song song, nhanh như chớp. Cuối cùng, “Tác nhân Tìm kiếm” sẽ tự tay “tuyển chọn” các mặt hàng đa phương thức, tỉ mỉ xem xét từng hình ảnh và mô tả, để chọn ra dưới 50 sản phẩm ưng ý từ 100-200 kết quả ban đầu. Gemini, với trí tuệ của mình, sẽ phân tích hình ảnh qua những “lời nhắc tuyển chọn” đầy khéo léo.
Nhắc đến code, tôi vẫn hình dung ra những dòng lệnh đơn giản nhưng ẩn chứa sức mạnh phi thường. Cài đặt pip install google-adk là khởi đầu. Rồi thiết lập môi trường, định nghĩa một ShopAgent cơ bản dùng Gemini 2.0 Flash. Điều thú vị là cách ta biến hàm call_vector_search thành một công cụ ADK tên find_shopping_items, bằng cách thêm tên hàm, tham số và quan trọng nhất là “chuỗi tài liệu” để tác nhân hiểu mà dùng. Sau đó, “mở rộng” ShopAgent để nó biết đến công cụ này. Rồi lại thêm một ResearchAgent riêng biệt, được hướng dẫn dùng GoogleSearchTool tích hợp (một phần của ADK) để nghiên cứu ý định người dùng và tạo năm truy vấn. Cuối cùng, ShopAgent chính sẽ dùng ResearchAgent như một công cụ, chia sẻ các truy vấn đã tạo với người dùng, và sau đó sử dụng find_shopping_items với những truy vấn đó. À, đây chính là mẫu thiết kế “tác nhân như một công cụ” (agent as a tool), nơi tác nhân chính làm “tổng quản”, giữ quyền kiểm soát hệ thống đa tác nhân, làm “người tư vấn” duy nhất cho người dùng, thay vì để các tác nhân con tương tác trực tiếp. Thật là một cách sắp xếp tài tình.
Thế thôi, tóm lại là:
- ADK: Là “công cụ” giúp ta xây dựng những “người bạn AI” với khả năng giao tiếp đa phương tiện, đa tác nhân, và xử lý thông tin tức thì.
- Đề xuất Sinh tạo: Trí tuệ của tác nhân (Gemini) kết hợp với Google Search để “định hướng” (nghiên cứu xu hướng), tạo ra vô vàn truy vấn, và “tuyển chọn” mặt hàng một cách khéo léo, đầy tinh tế.
- Backend tìm kiếm Vector: Là “kho tàng” chứa đựng tìm kiếm đa phương thức, tìm kiếm lai, nhúng loại tác vụ và API xếp hạng, tất cả đều được tích hợp một cách hài hòa.
Những tài liệu quý giá như tài liệu Tìm kiếm Vector, tài liệu và mẫu ADK, cùng các mẫu demo về trợ lý mua sắm luôn sẵn có, như một lời mời gọi chân thành đến những ai muốn khám phá.
Nhìn sâu hơn một chút, tôi thấy có một điều cứ mãi vấn vương trong tâm trí: khác biệt giữa tương đồng ngữ nghĩa đơn thuần và việc thấu hiểu ý định thực sự của người dùng hay mối quan hệ giữa các câu hỏi và tài liệu. Những “nhúng loại tác vụ” chính là cây cầu nối diệu kỳ, giúp ta vượt qua ranh giới của những từ ngữ bề mặt, chạm tới ý nghĩa sâu xa hơn. Thật là một triết lý đáng để suy ngẫm.
Cách sắp xếp các tác nhân cũng thật tinh tế. Mô hình “tác nhân như một công cụ” – nơi tác nhân chính làm “người điều khiển” – cho thấy cân nhắc kỹ lưỡng trong thiết kế hệ thống đa tác nhân. Tất cả vì một mục tiêu: mang đến trải nghiệm “tư vấn” liền mạch, thống nhất cho người dùng. Điều này ngụ ý rằng, dù có nhiều tác nhân con hoạt động, nhưng “bộ não” chính vẫn kiểm soát mọi thứ, như một người kiến trúc sư tài ba.
Cái sự “lai ghép” trong tìm kiếm cũng cho tôi một bài học. Dù các mô hình ngữ nghĩa có tân tiến đến mấy, ta vẫn cần sự “thô mộc” nhưng chính xác của từ khóa cho những mã sản phẩm hay mặt hàng mới. Đó là một cách tiếp cận rất thực tế, biết cách kết hợp điểm mạnh của nhiều phương pháp khác nhau.
Rồi, vai trò của AI đâu chỉ dừng lại ở việc tìm kiếm. Nó còn là một “nghệ nhân” tuyển chọn. Không chỉ đưa ra một danh sách dài, mà nó còn thông minh lọc và chọn ra những món đồ giá trị nhất, bằng cách phân tích hình ảnh và mô tả bằng trí tuệ của Gemini, thực sự nâng tầm trải nghiệm sau quá trình tìm kiếm.
Khi nghe đến việc xử lý 100 truy vấn song song cho 10 triệu mặt hàng, tôi lại nghĩ đến một cỗ máy khổng lồ, vận hành không ngừng nghỉ. Điều đó cho thấy, đằng sau sự tinh tế kia là khả năng tính toán đáng nể, một hạ tầng hiệu quả (như Tìm kiếm Vector của Google) để hỗ trợ những hệ thống đề xuất phức tạp, “thời gian thực” như vậy.
Và dĩ nhiên, đằng sau mỗi bước tiến, luôn có những giả định. Ta tin rằng các mô hình “nhúng” và Gemini của Google đủ mạnh mẽ để tạo ra những nhúng chất lượng cao, thực hiện suy luận tinh vi. Ta cũng tin rằng dữ liệu đủ phong phú và chất lượng. Rồi, hạ tầng đủ mở rộng. Ta cũng giả định rằng người dùng thật sự mong muốn những trải nghiệm “tư vấn” tinh vi hơn. Và ADK thực sự làm đơn giản hóa quá trình phát triển. Cuối cùng, Google Search là một nguồn thông tin đáng tin cậy. Tất cả những điều đó, như những viên gạch nền vững chắc, giúp ta xây nên một tương lai đầy hứa hẹn.