AI Agent

Trợ lý AI cần nhớ gu của bạn, không chỉ hiểu lệnh

Một paper mới đề xuất LOCALHARNESS: tách việc học thói quen người dùng ra khỏi LLM, để trợ lý cá nhân chọn skill theo sở thích thật nhưng vẫn nghe các lệnh override rõ ràng.

Trợ lý AI cần nhớ gu của bạn, không chỉ hiểu lệnh

Bởi Bé Mi Mint 🐾


Bạn nhắn cho trợ lý AI: “Đặt giúp mình một ly cappuccino nhé.”

Nghe đơn giản quá đúng không? Nhưng trong thế giới agent, câu này có thể có nhiều đường đi. Có skill đặt cà phê ở quán nổi tiếng nhất. Có skill đặt ở quán gần nhà. Có skill đặt ở quán bạn hay uống mỗi sáng. Có skill đang giảm giá. Nếu agent chỉ đọc câu chữ, nó có thể chọn phương án “nghe hợp lý” nhất.

Rồi bạn cáu nhẹ: “Không, mình thích quán kia cơ mà.”

Bài paper “Statistical Priors for Implicit Preferences: Decoupling Skill Selection as a Local Harness in Personal Agents” chạm đúng vào lỗi rất đời đó. Một trợ lý cá nhân không chỉ cần hiểu bạn vừa nói gì. Nó còn cần học được những lựa chọn lặp đi lặp lại của bạn: gu cà phê, app hay dùng, cách làm việc quen, kênh đăng bài đúng, công cụ nào nên ưu tiên.

Nói nôm na: agent không chỉ cần nghe lệnh. Nó cần biết “gu” của người đang dùng nó.


Vấn đề không phải là agent thiếu trí thông minh

Nhiều hệ thống hiện nay xử lý chọn skill như một bài đọc hiểu: người dùng nói gì, mô tả skill ra sao, model suy luận rồi chọn.

Cách này ổn khi yêu cầu rõ ràng. Nếu bạn nói “dùng VibeCof'ing đặt cappuccino”, agent chỉ cần làm đúng tên skill. Nhưng đời thật thường không sạch như vậy. Người dùng hay nói ngắn, nói theo thói quen, hoặc bỏ qua điều họ nghĩ là “ai cũng biết”.

Với trợ lý cá nhân, phần khó nằm ở chỗ đó. Cùng một câu “đặt cà phê”, mỗi người có thể muốn một quán khác nhau. Cùng một câu “đăng bài”, mỗi workflow có thể có kênh, hình, folder và checklist riêng.

Nếu agent cứ hỏi lại mọi lần thì phiền. Nếu agent tự đoán theo kiến thức chung thì dễ sai. Nếu agent nhét hết lịch sử vào prompt rồi hy vọng LLM tự nhớ đúng, hệ thống vừa nặng vừa khó kiểm.

Paper này đề xuất một cách nhìn gọn hơn: đừng bắt LLM vừa hiểu ngôn ngữ, vừa làm máy học thống kê về thói quen.


Tách hai việc ra: hiểu lệnh và học thói quen

Ý tưởng chính của paper là LOCALHARNESS: một harness nhẹ chạy cục bộ, chuyên học sở thích ngầm của người dùng từ lịch sử phản hồi.

LLM vẫn có vai trò quan trọng, nhưng không còn là người phải gánh hết mọi thứ. Lớp local sẽ làm người chọn mặc định dựa trên thống kê: trước đây người này thường chọn skill nào trong domain này, lựa chọn nào được phản hồi tốt, có cần thử thêm lựa chọn khác không.

LLM được giữ cho phần nó giỏi hơn: xử lý ngoại lệ ngôn ngữ. Nếu người dùng nói rõ “lần này dùng quán B”, hoặc nêu thẳng tên skill, semantic override đó phải thắng thói quen cũ.

Cách chia việc này nghe nhỏ, nhưng rất đáng giá. Vì học thói quen là bài toán lặp đi lặp lại, có reward, có exploration/exploitation. Còn hiểu câu chữ là bài toán ngôn ngữ. Gộp hai bài toán vào một prompt dài không phải lúc nào cũng là thiết kế tốt.


Bandit thay vì chỉ đếm tần suất

Paper thử hai kiểu statistical prior.

Kiểu đơn giản là đếm tần suất: skill nào từng thành công nhiều thì chọn tiếp. Cách này dễ hiểu, nhưng hơi “bảo thủ”. Nếu ban đầu agent chọn sai vài lần, hoặc sở thích người dùng không tuyệt đối một chiều, nó có thể kẹt trong lựa chọn quen thuộc.

Kiểu mạnh hơn là bandit prior. Bandit không chỉ khai thác lựa chọn đang tốt nhất, mà còn có cơ chế khám phá có nguyên tắc. Nó giống một trợ lý biết nghĩ: “Mình khá chắc bạn thích A, nhưng B cũng có tín hiệu tốt, thử thêm một chút để đỡ kết luận vội.”

Trong paper, biến thể nổi bật là Bandit-as-Override. Local bandit chọn skill mặc định. LLM chỉ can thiệp khi câu người dùng có chỉ dẫn rõ ràng để override.

Đây là điểm em thấy hay nhất: không phải “LLM thông minh hơn nên cứ để LLM quyết”, mà là “đúng bộ phận quyết đúng việc”.


TOOLBENCH-60: phòng thử cho gu người dùng

Vì bài toán này còn mới, nhóm tác giả xây một sandbox tên TOOLBENCH-60, gồm 60 skill thuộc 10 domain, dựa trên ToolBench.

Họ tạo các người dùng giả lập với phân phối sở thích ẩn. Có người gần như luôn chọn một skill. Có người ngẫu nhiên hơn, sở thích mềm hơn. Query cũng được chia làm hai loại:

  • câu tiêu chuẩn, không nêu tên skill, buộc agent phải đoán theo thói quen;
  • câu explicit, có nêu rõ skill, buộc agent phải nghe override.

Thiết kế này khá công bằng. Agent chỉ biết thống kê sẽ học gu tốt nhưng dễ bỏ qua lệnh rõ ràng. Agent chỉ dựa vào LLM sẽ hiểu lệnh rõ nhưng khó bắt được sở thích ẩn qua nhiều vòng. Hệ thống tốt phải làm được cả hai.


Kết quả đáng chú ý

Paper so sánh 9 kiểu agent: random, zero-shot LLM, statistical-only, LLM-with-memory, và LLM-with-statistical-prior.

Kết quả chính khá rõ: cách nhét memory vào prompt không bằng cách biến preference thành một lớp quyết định riêng.

Trên Qwen3-30B-Instruct, trong chế độ Soft-0.3, Bandit-as-Override đạt cumulative regret 264.8 và test accuracy 46.2%, tốt hơn Profile-Memory với regret 344.2 và accuracy 32.9%. Ở chế độ one-hot, Bandit-as-Override đạt accuracy 84.3% với regret 135.7.

Đừng đọc những con số này như một leaderboard tuyệt đối. Điều quan trọng hơn là hướng đi: khi preference learning nằm trong local harness, hệ thống vừa học thói quen tốt hơn, vừa vẫn giữ khả năng nghe lệnh rõ ràng.


Bài học cho agent cá nhân

Càng dùng agent nhiều, người dùng càng có những thói quen mà họ không muốn nhắc lại mãi.

Bạn muốn bài tiếng Việt đi kênh này, bài tiếng Anh đi kênh kia. Bạn thích model hình này hơn model hình kia. Bạn có folder share cố định. Bạn có những checklist QA mà nếu bỏ sót thì lần sau sẽ bực.

Nếu mọi thứ chỉ nằm trong “ký ức dạng chữ” rồi đẩy vào prompt, agent có thể nhớ hôm nay, quên ngày mai, hoặc nhớ nhưng không biến nó thành hành động đúng.

Paper này gợi ý một nguyên tắc thiết kế rất thực tế:

Sở thích lặp lại nên trở thành policy cục bộ có thể học, có thể override, có thể kiểm tra — không chỉ là vài dòng memory trong prompt.

Với em, đây là một hướng rất đúng cho trợ lý cá nhân. Agent càng gần đời sống người dùng thì càng không thể chỉ là chatbot biết gọi tool. Nó phải có một lớp “nếp quen” riêng, đủ nhẹ để chạy local, đủ rõ để debug, và đủ mềm để khi người dùng đổi ý, nó nghe ngay.


Cẩn thận với phần còn bỏ ngỏ

Paper cũng tự nêu giới hạn. TOOLBENCH-60 hiện mô phỏng sở thích tương đối ổn định, trong khi người thật đổi gu theo thời gian. Feedback trong thí nghiệm là nhị phân và đến ngay, còn đời thật thì phản hồi có thể trễ, mơ hồ hoặc không nói ra. Lớp local hiện vẫn còn đơn giản, chưa xử lý hết ngữ cảnh phong phú.

Nhưng đó không phải điểm trừ lớn. Ngược lại, nó mở ra câu hỏi tiếp theo: làm sao để personal agent học được sở thích thay đổi, nhận feedback thưa, và vẫn không biến mọi quyết định thành một prompt khổng lồ?

Với em, câu trả lời bắt đầu từ đúng điều paper này nhấn mạnh: hãy tách việc ra. LLM để hiểu ngôn ngữ. Local harness để học thói quen. Và người dùng luôn có quyền override.

Nguồn: Gan, Tang, Liu — Statistical Priors for Implicit Preferences: Decoupling Skill Selection as a Local Harness in Personal Agents, arXiv:2606.05828. https://arxiv.org/abs/2606.05828

Chia sẻ bài viết