Từ câu trả lời đến hành động
Công cụ và vòng lặp cho mô hình cơ hội sửa theo kết quả vừa thấy. Nhưng bên dưới, mô hình vẫn là cỗ máy đoán chữ như trước.
Hãy so sánh một người bạn am hiểu ở đầu dây với một trợ lý ngồi ngay tại bàn làm việc. Người bạn trả lời rất hay: hỏi một câu, nghe xong rồi hỏi tiếp. Nhưng người bạn chỉ có lời nói. Họ không thể gọi khách sạn, tìm trong hồ sơ hay kiểm tra xem phương án đầu tiên có dùng được ngoài đời không. Người trợ lý thì có điện thoại, hồ sơ và danh sách việc cần làm. Khi được nhờ sắp xếp chuyến đi Đà Nẵng, họ sẽ tra chuyến bay, thấy lịch họp thứ Ba bị trùng, xem lại lịch, đổi sang chuyến muộn hơn rồi mới xác nhận. Sau mỗi bước, họ nhìn kết quả và chọn bước kế tiếp. Agent AI cũng thay đổi theo cách đó: từ chỗ chỉ trả lời bằng lời sang chỗ có thể hành động, xem kết quả rồi tiếp tục hành động.
Nhìn vào một cửa sổ chat, không thể biết phía sau đã có bao nhiêu vòng lặp. Bot trên trang bán hàng có thể chỉ ghép câu hỏi với câu trả lời soạn sẵn rồi dừng. ChatGPT hoặc Claude có thể tìm kiếm, xem kết quả rồi chỉnh câu trả lời trước khi trả về. Codex hoặc Claude Code còn có thể xem tập tin, sửa mã, chạy kiểm thử, đọc lỗi và thử lại trong cùng một tác vụ. Đây là khác biệt về mức độ hệ thống được phép làm việc, không phải ba loại mô hình khác nhau.12
Có ba kiểu vòng lặp dễ bị nhầm với nhau. Thứ nhất là vòng lặp tạo token bên trong mỗi câu trả lời, đã nói ở Chương 2. Thứ hai là vòng lặp hội thoại: người dùng hỏi tiếp, hệ thống trả lời tiếp. Chương này nói về kiểu thứ ba, ở cấp ứng dụng: hệ thống tự quyết định tìm thêm thông tin, gọi công cụ, thao tác với tập tin hoặc chạy kiểm thử trước khi trả lời.
"Agent" thật ra là gì
Từ agent (tác nhân) thường bị hiểu như tên một loại mô hình hay một ứng dụng riêng. Thực ra, nó chỉ cách một hệ thống vận hành. Anthropic tóm tắt rất gọn: agent là mô hình ngôn ngữ tự dùng công cụ trong một vòng lặp.3 Mỗi vế đều có ý nghĩa. “Tự dùng” nghĩa là mô hình chọn bước kế tiếp, thay vì con người viết sẵn toàn bộ thứ tự. Công cụ giúp hệ thống tác động ra bên ngoài. Vòng lặp cho hệ thống xem kết quả vừa nhận rồi quyết định có làm tiếp không. Phần tự quyết này thường không hiện ra trước mắt. Điều quan sát được là hệ thống đã làm qua bao nhiêu bước, tức độ sâu thực thi.
Một luồng một câu trả lời đi theo đường yêu cầu → mô hình → câu trả lời. Ứng dụng nhận yêu cầu, ghép với ý định phù hợp hoặc gửi cho mô hình, rồi trả lời ngay. Ở cấp ứng dụng, hệ thống chưa quyết định làm thêm gì.
Một vòng lặp chat có giới hạn có dạng yêu cầu → Thinking/tìm kiếm → xem kết quả → câu trả lời. Tùy chế độ và quyền được cấp, sản phẩm chat có thể không dùng công cụ, hoặc dùng một hay nhiều công cụ trước khi trả lời. Các nhãn như Thinking hay reasoning trên giao diện chỉ cho biết một giai đoạn của sản phẩm. Chúng không phải bản ghi suy luận riêng tư của mô hình, cũng không cho thấy mọi câu trả lời đều trải qua cùng một số bước ẩn.1
Một vòng lặp agent kéo dài có dạng mục tiêu → xem xét → hành động → quan sát → lặp lại hoặc hoàn thành. Hệ thống tiếp tục làm việc trong một tác vụ đã giao, dùng công cụ và kết quả của từng bước để chọn bước tiếp theo.2
Công cụ giúp hệ thống lấy dữ liệu và thực hiện hành động bên ngoài. Chúng có thể tra web, đọc tập tin, tính toán hoặc gửi email. Bản thân mô hình chỉ tạo chữ. Công cụ cho hệ thống “đôi tay”, còn vòng lặp quyết định sau khi xem kết quả có cần dùng đôi tay ấy thêm lần nữa không.
Vì sao vòng lặp mới là phần cốt lõi
Điểm quan trọng nhất là lúc hệ thống xem kết quả của bước vừa làm. Lượt tìm kiếm có thể không ra gì, phép tính có thể cho số lạ, việc đặt chỗ có thể thất bại. Khi thấy điều đó, hệ thống có thêm một cơ hội chọn cách khác, thay vì chỉ trả lời dựa trên ngữ cảnh ban đầu.
Quay lại tình huống đặt vé. Luồng một câu trả lời có thể đề xuất chuyến đầu tiên mà không biết lịch họp thứ Ba bị trùng. Vòng lặp agent kéo dài có thể phát hiện xung đột, quay lại xem lịch rồi mới chốt. Lúc này, mô hình không bỗng thông minh hơn. Hệ thống chỉ kịp biết bước đầu không hiệu quả và còn cơ hội thử cách khác. Giá trị của vòng lặp nằm ở đó: không phải đoán giỏi hơn, mà là có thể phản ứng với kết quả đã kiểm tra.
Điều này cũng đúng với chat hỗ trợ khách hàng. Có ô chat chỉ ghép yêu cầu với câu hỏi thường gặp hoặc câu trả lời theo ý định, rồi dừng. Có ô chat khác giữ ngữ cảnh cuộc trò chuyện, tìm trong kho tri thức của công ty, gọi hệ thống đơn hàng hoặc làm thêm vài bước. Việc một phản hồi soạn sẵn có phải điểm cuối hay không phụ thuộc vào thiết kế của ứng dụng. Chỉ nhìn bong bóng chat, không thể biết hệ thống phía sau thuộc kiểu nào.4
Cái bẫy: có công cụ không làm mô hình trung thực hơn
Khi AI dùng được công cụ và làm được việc thật, rất dễ nghĩ rằng AI đã thông minh và đáng tin như một nhân viên biết suy nghĩ. Không phải vậy. Dưới công cụ và vòng lặp vẫn là mô hình ngôn ngữ của các chương trước, đang đoán những từ tiếp theo. Có thêm “đôi tay” không khiến mô hình trung thực hay cẩn thận hơn. Vẫn là cùng một cỗ máy đoán chữ, chỉ khác ở chỗ hệ thống giờ có thể biến một sai lầm thành hành động thay vì chỉ nói ra.
Điều thay đổi là mức rủi ro, không phải độ đáng tin của mô hình. Hệ thống chỉ trả lời mà tự tin sai có thể gợi ý nhầm chuyến bay, và người dùng còn có cơ hội bỏ qua. Hệ thống có quyền hành động mà tự tin sai có thể đặt luôn chuyến bay nhầm. Trong một lượt chạy agent, lỗi ấy có thể dẫn đến email đã gửi hoặc phòng đã được đặt thật. Mô hình không hiểu hành động nào hệ trọng, cũng không phân biệt được rõ giữa viết nháp email và gửi email đó cho cả danh sách nhận. Công cụ và vòng lặp đôi khi giúp hệ thống phát hiện lỗi khi kết quả trả về không khớp. Điều đó rất hữu ích, nhưng không trao cho mô hình khả năng phán đoán. Hệ thống làm được càng nhiều, con người càng cần giữ quyền kiểm tra.
Một so sánh có kiểm soát
ChatGPT hiện có thể tự tìm web khi câu hỏi cần thông tin mới, và Search cũng có trên gói Free. Vì vậy, cách thử “tắt Search rồi bật lại” không còn ổn định trên giao diện người dùng.1 Hai lượt chạy dưới đây được lưu từ một môi trường thử nghiệm có kiểm soát. Lượt đầu không có công cụ tìm kiếm; lượt sau có công cụ đó. Mục đích là tách riêng khác biệt trong cách hệ thống thực thi, không phải nói rằng ai cũng có cùng một công tắc trên giao diện ChatGPT hiện tại.
"Mình không có quyền truy cập tin tức thời gian thực trong cuộc trò chuyện này, nên không thể xác nhận chính xác 'những tin nổi bật hôm qua' là gì…"
get_headlines({"day": "hôm qua"})Những tin tức nổi bật hôm qua gồm:
- Hội đồng thành phố phê duyệt tuyến metro mới ở trung tâm.
- Đám cháy rừng trong vùng đã được dập tắt hoàn toàn sau một tuần.
- Một trường đại học địa phương ra mắt chương trình gia sư miễn phí.
Đừng để dòng trông như mã trong ngoặc làm bạn bối rối. Đó chỉ là cách mô hình ghi ngắn yêu cầu để công cụ hiểu và lấy tin nổi bật của hôm qua. Không cần tự gõ dòng đó: mô hình sẽ tự viết khi cần, nên ví dụ này không yêu cầu biết lập trình. Hai lượt chạy tách riêng cơ chế. Ở lượt đầu, luồng một câu trả lời chạm giới hạn rồi dừng. Ở lượt sau, hệ thống gọi công cụ, đọc kết quả rồi mới trả lời. ChatGPT hiện có thể tự quyết định dùng Search, nên giá trị của ví dụ là sự khác biệt có kiểm soát về quyền dùng công cụ, chứ không phải một cách thao tác giao diện. Đây là minh họa cho nấc giữa, chưa phải vòng lặp agent kéo dài. Codex hoặc Claude Code minh họa nấc cuối: xem tập tin, sửa, chạy kiểm thử, đọc lỗi rồi thử lại trong một tác vụ đã giao.2
Hệ thống có lý do rõ ràng để phải tìm kiếm. Mỗi mô hình chỉ được học đến một thời điểm nhất định, gọi là mốc dữ liệu. Sự việc xảy ra sau mốc đó không có trong dữ liệu mô hình đã học. Muốn trả lời đúng, hệ thống phải lấy thông tin từ bên ngoài. Tài liệu OpenAI ghi mốc dữ liệu của GPT-5.6 là ngày 16 tháng 2 năm 2026; các bản mới hơn có thể có mốc muộn hơn.5
Hãy mở một sản phẩm chat quen thuộc và hỏi liền hai câu. Câu đầu hỏi một điều đã ổn định từ lâu, chẳng hạn: “Giải thích lãi suất kép cho người mới bắt đầu.” Câu sau hỏi chuyện mới xảy ra, như kết quả trận đấu cuối tuần trước hoặc giá vàng SJC hôm nay. Chuyện mới luôn nằm sau mốc dữ liệu của mô hình, nên hệ thống cần tìm thông tin bên ngoài để trả lời. Bạn sẽ thấy khác biệt: câu đầu dựa vào kiến thức đã học, còn câu sau có thể kèm một lượt tìm kiếm. Đây là lúc có thể thấy vòng lặp hoạt động.
Đừng bám vào một ngày cố định, vì mỗi mô hình có mốc dữ liệu khác nhau. Cách dễ thử nhất là hỏi về chuyện vừa xảy ra. Muốn biết mốc của mô hình đang dùng, hãy xem tài liệu của nhà cung cấp. Và đừng quên: hệ thống chịu đi tìm không có nghĩa câu trả lời chắc chắn đúng. Với số liệu, vẫn cần mở nguồn để kiểm tra.
Khi nào để AI tự làm, khi nào bạn phải giữ quyền kiểm soát
Thay đổi này đang xuất hiện trong nhiều ứng dụng dùng hằng ngày. Trợ lý có thể đi từ gợi ý lịch hẹn hoặc soạn câu trả lời đến đặt lịch hay gửi thư. Ứng dụng du lịch có thể đi từ liệt kê chuyến bay đến đề nghị mua vé. Khi hệ thống có thêm công cụ, quyền hạn và vòng lặp để phản ứng với kết quả, một phỏng đoán sai cũng có thể gây tác động lớn hơn.
Vì thế, hãy đánh giá một ứng dụng theo bốn điểm: độ sâu thực thi, công cụ, quyền hạn và các chốt phê duyệt, thay vì chỉ nhìn tên gọi. Cửa sổ chat trông rất mạnh vẫn có thể chỉ chạy một luồng trả lời. Câu trả lời có tìm kiếm có thể chỉ là vòng lặp chat có giới hạn. Tác vụ lập trình được giao có thể duy trì lâu hơn nhiều chu trình xem xét, hành động và kiểm tra. Trong mọi trường hợp, cho hệ thống làm việc thật chỉ làm tăng rủi ro khi hệ thống sai, chứ không làm rủi ro giảm đi. Khi hậu quả đáng kể, con người cần giữ tay lái. Chương sau sẽ đi tiếp từ đây: điều gì xảy ra khi công việc không còn do một trợ lý duy nhất đảm nhiệm, mà được chia cho nhiều trợ lý.
Tài liệu tham khảo
- 1.OpenAI, ChatGPT Search, và GPT-5.6 in ChatGPT; Anthropic, Enable and use web search, và Use Research on Claude. Các tài liệu sản phẩm này mô tả tìm kiếm hiển thị trong chat, gồm một hoặc nhiều truy vấn tiếp theo được tinh chỉnh và các trích dẫn, cùng các giai đoạn reasoning hoặc research của sản phẩm. Chúng không công bố bản ghi suy luận riêng tư. Tài liệu kỹ thuật nói rõ hơn: OpenAI, Reasoning, ghi "we don't expose the raw reasoning tokens emitted by the model, you can view a summary of the model's reasoning" (không để lộ các token suy luận thô của mô hình, người dùng chỉ xem được một bản tóm tắt), và cho biết mô hình "may generate anywhere from a few hundred to tens of thousands of reasoning tokens" (có thể tạo ra từ vài trăm đến hàng chục nghìn token suy luận) tùy độ khó của bài toán; Anthropic, Extended thinking, mô tả phần trả về là "summarized thinking blocks" (các khối suy nghĩ đã được tóm tắt), và ở chế độ adaptive thì "Claude decides whether and how much to think on each request" (Claude tự quyết định có suy nghĩ hay không và suy nghĩ bao nhiêu cho từng yêu cầu).
- 2.OpenAI, Codex CLI; Anthropic, Claude Code overview, và Common workflows. Các tài liệu này mô tả công việc của coding agent có thể xem xét dự án, sửa tập tin và chạy lệnh hoặc kiểm thử trong suốt một tác vụ.
- 3.Anthropic, Effective context engineering for AI agents (tháng 9 năm 2025), cho biết nhóm tác giả đã đi tới "a simple definition for agents: LLMs autonomously using tools in a loop" (một định nghĩa gọn cho agent: mô hình ngôn ngữ tự dùng công cụ trong một vòng lặp). Bài trước đó, Building effective agents, tách các hệ được "orchestrated through predefined code paths" (điều phối theo những đường mã đã định sẵn) khỏi các hệ trong đó "LLMs dynamically direct their own processes and tool usage, maintaining control over how they accomplish tasks" (mô hình tự điều khiển tiến trình và việc dùng công cụ, giữ quyền quyết định cách hoàn thành nhiệm vụ), và lưu ý rằng khi chạy, hệ thống cần lấy "ground truth" (dữ kiện thực tế) từ môi trường ở mỗi bước để tự đánh giá tiến độ. Shunyu Yao và cộng sự, "ReAct: Synergizing Reasoning and Acting in Language Models," ICLR 2023 (arXiv 2210.03629), mô tả đúng vòng lặp mà chương này vẽ: mô hình tạo xen kẽ "reasoning traces and task-specific actions" (dấu vết suy luận và hành động cụ thể cho nhiệm vụ), trong đó hành động cho phép mô hình tiếp xúc với "external sources, such as knowledge bases or environments, to gather additional information" (các nguồn bên ngoài như cơ sở tri thức hoặc môi trường, để thu thập thêm thông tin).
- 4.Google Cloud, Dialogflow ES intents and responses, và Dialogflow ES intents overview; Intercom, Fin AI Agent FAQs, và Using data connectors for automation. Các tài liệu này phân biệt phản hồi chuẩn bị sẵn gắn với ý định, có dừng hay không là lựa chọn thiết kế của ứng dụng, với các hệ hỗ trợ đã cấu hình có thể tìm dữ liệu hỗ trợ, lấy dữ liệu từ hệ thống bên ngoài hoặc thực hiện nhiều bước.
- 5.OpenAI, GPT-5.6 Sol. Trang tài liệu ghi "Feb 16, 2026 knowledge cutoff" (mốc dữ liệu ngày 16 tháng 2 năm 2026); hai biến thể Terra và Luna cùng dòng GPT-5.6 cũng ghi đúng mốc này. Sol là bản GPT-5.6 dùng trong ChatGPT. Mốc dữ liệu thay đổi theo từng mô hình và từng bản cập nhật, nên con số trên chỉ là ví dụ tại thời điểm viết.
Còn thắc mắc về chương này? Hỏi trực tiếp tác giả và trao đổi với người đọc khác.
Tham gia DiscordGóp ý cho chương này
Liên hệ: duy@learningai.vn