Agent Loop là gì? Giải phẫu vòng đời của một AI Agent chạy thật
- #agent-loop
- #ai-agent
- #llm
- #tool-calling
- #orchestration
Trả lời nhanh: Agent Loop (vòng lặp vận hành của agent) là cơ chế lặp bên trong một AI Agent, tức chương trình dùng model để tự chọn bước và gọi tool hướng tới một mục tiêu. Mỗi vòng gồm việc ghép context, để model chọn hành động tiếp theo, thực thi hành động đó, nhận kết quả về rồi cập nhật state. Vòng lặp chạy lại cho tới khi đạt mục tiêu, chạm giới hạn, cần người duyệt hoặc gặp lỗi không thể phục hồi. Chính vòng lặp này, chứ không phải bản thân model, là thứ quyết định một agent chạy được hay chạy loạn.
Bạn hỏi chatbot một câu, nó trả lời xong thì đứng chờ. Muốn đi tiếp, bạn phải gõ câu mới. Agent không chờ như thế: nó gọi tool, nhận kết quả về, rồi phải tự quyết bước kế, vì lúc đó không có ai ngồi gõ hộ. Khoảng lặng sau kết quả tool chính là chỗ hệ thống phải chọn đi tiếp, hỏi người, hay dừng hẳn.
Thiếu chỗ chọn đó thì vòng chạy hỏng ngay. Ví dụ một agent được giao kiểm tra trạng thái đơn hàng: không có vòng lặp có điểm dừng, nó có thể gọi lại đúng cái tra cứu đó vài lần, hoặc tuyên bố xong khi khách vẫn chưa nhận được câu trả lời.
Trong bài viết này, mình sẽ giải thích vì sao khoảng lặng sau kết quả tool lại cần một vòng lặp có điểm dừng, chứ không phải một câu trả lời hay hơn. Mình sẽ đi một lần chạy minh họa để bạn thấy chỗ chọn đó hiện ra từng nhịp. Cùng mình tìm hiểu nhé.

Agent Loop là gì và nó nằm ở đâu trong một AI Agent?
Agent Loop là vòng lặp thực thi: hệ thống lặp lại chu trình quan sát tình hình, chọn một hành động, thực hiện hành động đó, nhận kết quả, rồi dùng kết quả mới để quyết định vòng sau. Nó không phải một sản phẩm, một model hay một thư viện. Nó là cơ chế.
AI Agent là cả hệ thống bạn nhìn thấy từ bên ngoài: có giao diện, quyền truy cập dữ liệu, tool và giới hạn. Agent Loop là phần động cơ bên trong. Nói agent chạy được chỉ nhờ model cũng giống nói xe chạy được chỉ nhờ xăng: đúng một phần, nhưng bỏ qua phần cơ khí biến nhiên liệu thành chuyển động.
Anthropic mô tả agent theo hướng này: hệ thống tự định hướng quy trình và cách dùng tool của chính nó, chạy theo vòng lập kế hoạch, hành động, quan sát, điều chỉnh, lặp lại cho tới khi xong việc hoặc cần con người can thiệp (Anthropic, Trustworthy agents in practice). Không có nhịp lặp tự định hướng, hệ thống có thể vẫn hữu ích, nhưng chưa phải agent theo cách phân loại này.
So với chatbot, khác biệt nằm ở ai quyết định bước kế tiếp. Với chatbot, bạn hỏi, model trả lời, hết lượt. Muốn đi tiếp thì bạn phải gõ câu mới. Với Agent Loop, hệ thống có thể tự chạy vòng tiếp theo dựa trên kết quả trung gian. Bài AI Agent khác chatbot ở điểm nào? tách kỹ ranh giới này.
Một điểm cần giữ từ đầu: model đề xuất, code thực thi. Runtime hoặc harness (lớp điều khiển hành vi agent) mới thực sự gọi tool, bắt lỗi, đếm số vòng và cắt vòng lặp. Bài Harness Engineering là gì giải thích kỹ hơn lớp này.
Một lần chạy bắt đầu bằng những gì?
Trước khi vòng lặp quay vòng đầu tiên, hệ thống phải có một bộ đầu vào đủ rõ. Thiếu một thành phần quan trọng, agent có thể không chạy được, hoặc chạy mà không ai biết khi nào nó nên dừng.
| Thành phần | Nó là gì | Thiếu thì sao |
|---|---|---|
| Goal hoặc input | Mục tiêu hoặc yêu cầu cụ thể của lần chạy này | Agent không biết hướng nào là đúng |
| Instructions | Cách hành xử, giọng điệu, ràng buộc, điều không được làm | Agent tự diễn giải theo tín hiệu còn lại trong context |
| Danh sách tool và quyền | Những hành động agent được phép thực hiện và phạm vi của từng hành động | Agent hoặc bất lực, hoặc chạm vào thứ không nên chạm |
| Context và state | Thông tin hiện có trong lần chạy này, gồm kết quả các bước đã làm | Vòng sau không biết vòng trước đã làm gì |
| Điều kiện hoàn thành | Dấu hiệu để biết công việc được coi là xong | Agent không có căn cứ đáng tin để kết thúc |
| Giới hạn | Số vòng tối đa, thời gian, chi phí, phạm vi dữ liệu | Vòng lặp có thể chạy dài vô ích |
AWS mô tả agent tự chủ quanh một LLM (Large Language Model), tức model ngôn ngữ lớn, được bổ sung truy xuất dữ liệu, tool và memory (bộ nhớ), rồi được orchestration, tức lớp điều khiển vòng chạy và điểm dừng, chạy trong vòng lặp tới khi gặp lý do dừng (AWS Generative AI Lens). Đây là mô tả kiến trúc của AWS, không phải chuẩn bắt buộc. Orchestration của một vòng lặp khác việc điều phối nhiều agent cùng một kết quả cho khách; chỗ khác nằm ở bài Multi-Agent Orchestration là gì.
State không phải memory. State mô tả tiến độ của một lần chạy, chẳng hạn kết quả tool vừa trả về và việc đã thử. Memory giữ và lấy lại thông tin qua nhiều lần chạy, chẳng hạn sở thích của người dùng. Một phần state có thể được lưu lâu hơn tùy thiết kế; agent vẫn có thể hoàn thành nhiều việc mà không cần memory dài hạn. Chỗ khác nhau giữa cửa sổ của một lần gọi và lớp nhớ qua nhiều phiên nằm ở bài Memory trong AI Agent. Nếu bạn đang hỏi kho tài liệu RAG có thay được memory của từng người không, bài RAG có đủ cho AI Agent không tách vector search, Knowledge và long-term memory.
Bên trong một vòng lặp, agent thực sự làm gì?
Đầu vào đã đủ, giờ tới phần vòng lặp xử lý chúng. Có thể tách một vòng thành năm bước theo thứ tự xảy ra trong hệ thống. Cách nhóm này dùng một mô hình khái niệm chung, không phải đặc tả của framework cụ thể.

1. Ghép context hiện tại
Hệ thống gom mục tiêu, instructions (chỉ dẫn vận hành), danh sách tool và kết quả các vòng trước. Nếu thiếu kết quả cũ, model có thể hành động như chưa từng làm gì; nếu context quá nhiều nhiễu, chi tiết quan trọng dễ bị lấp.
2. Model chọn bước tiếp theo
Trong một Agent Loop đơn giản, model thường tạo câu trả lời cuối hoặc đề xuất gọi tool kèm tham số. Model chỉ phát ra ý định có cấu trúc, không nắm quyền thực thi. Lập luận nội bộ cũng không mặc định phải được lưu hay hiển thị để vòng lặp hoạt động.
3. Hệ thống gọi tool
Runtime kiểm tra tool và tham số rồi mới thực thi. Guardrail (hàng rào an toàn) hoặc cổng duyệt có thể chặn tại đây. Quyền của agent nằm ở lớp tool và phân quyền, không nằm trong model.
4. Kết quả tool quay lại vòng lặp
Tool trả về dữ liệu, lỗi hoặc kết quả rỗng để model đọc ở vòng sau. Lỗi cần được truyền rõ ràng: thông báo không tìm thấy đơn hữu ích hơn một khoảng trống im lặng.
5. State được cập nhật và vòng mới bắt đầu
Observation được ghi vào state. Vòng tiếp theo bắt đầu với thông tin mới, nhờ đó agent có thể sửa hướng thay vì đoán hết từ đầu. State cập nhật sai có thể khiến agent lặp lại con đường cũ.
Toàn bộ vòng đời của một nhiệm vụ chạy thật diễn ra ra sao?
Một nhiệm vụ thật có thể cần nhiều vòng. Kết quả của vòng trước quyết định vòng sau đi hướng nào. Hãy lấy một ví dụ giả định: agent nhận việc kiểm tra trạng thái đơn hàng rồi soạn câu trả lời cho khách. Đây là kịch bản minh họa để dễ hình dung, không phải log của một hệ thống cụ thể.

Nhận mục tiêu. Agent nhận yêu cầu kiểm tra đơn và soạn phản hồi, cùng chỉ dẫn, tool được phép dùng và giới hạn số vòng.
Đọc mã đơn. Model rút mã đơn từ tin nhắn. Nếu thiếu mã, nhánh hợp lý là hỏi lại khách, không phải đoán bừa.
Gọi tool tra cứu. Model đề xuất tool cùng mã đơn; runtime kiểm tra rồi thực thi.
Quan sát kết quả. Trong ví dụ này, tool báo đơn đang chờ giao và bị trễ. Observation vào state, làm đổi hướng phần còn lại.
Bổ sung policy hoặc hỏi người. Agent gọi tool tra policy nếu được phép, hoặc dừng để hỏi người khi vượt phạm vi tự quyết. Đây là human-in-the-loop (có người duyệt trong Agent Loop).
Soạn phản hồi. Có đủ dữ kiện, model soạn câu trả lời theo chỉ dẫn.
Kiểm tra tiêu chí. Guardrail bằng code, một bước model riêng hoặc người duyệt kiểm tra trạng thái đơn, nguồn dữ kiện và ràng buộc.
Trả kết quả cuối. Đạt tiêu chí thì vòng lặp kết thúc; chưa đạt thì quay lại để sửa hoặc chuyển sang một nhánh dừng.
Điều đáng để ý là bước tra cứu policy chỉ xuất hiện vì tool tra cứu trả về trạng thái trễ. Nếu đơn giao đúng hạn, đường đi có thể ngắn hơn. Workflow cố định cũng có thể rẽ nhánh theo kết quả trung gian, nhưng các nhánh đã được code định trước. Trong Agent Loop, model tự chọn hành động hoặc tool tiếp theo từ thông tin mới, còn code giữ quyền thực thi và giới hạn.
Agent biết khi nào phải dừng bằng cách nào?
Nhiệm vụ vừa rồi có thể kéo dài tùy tình hình, nên hệ thống phải có cách ngắt vòng. Có thể nhóm kết thúc thành bốn trạng thái dựa trên lý do dừng, không dựa trên việc kết quả tốt hay xấu.

Hoàn thành mục tiêu
Model đưa ra kết quả cuối thay vì đề xuất thêm tool call, và kết quả đó thỏa điều kiện hoàn thành đã đặt từ đầu. Vòng lặp ngắt, trả output.
Điều kiện hoàn thành phải kiểm tra được. Một yêu cầu mơ hồ như trả lời tốt cho khách chỉ đẩy việc tự chấm ngược lại cho model.
Chạm giới hạn cứng
Số vòng, thời gian hoặc chi phí vượt ngưỡng thì code cắt Agent Loop dù việc chưa xong. Google Cloud lưu ý vòng lặp phải có điều kiện kết thúc, vì thiết kế sai có thể chạy vô hạn và tăng tài nguyên cùng chi phí (Google Cloud, design patterns for agentic AI). Trang này nói về loop workflow, không phải đặc tả chung cho mọi framework.
Cần người duyệt
Agent chạm hành động vượt quyền tự quyết, chẳng hạn hoàn tiền hoặc sửa dữ liệu thật. Loop tạm dừng và chuyển quyết định cho người. Đây là điểm dừng có chủ đích, không phải sự cố.
Gặp lỗi không thể phục hồi
Tool tiếp tục hỏng sau khi thử lại, quyền bị từ chối hoặc dữ liệu không thể xử lý. Hệ thống dừng và báo lỗi thay vì cố xoay xở tiếp.
Cách hiện thực khác nhau tùy framework. OpenAI Agents SDK (Software Development Kit) là một ví dụ: Runner dừng khi có final_output; chạy vòng mới sau handoff (chuyển giao sang agent khác) hoặc tool call; tạo lỗi MaxTurnsExceeded nếu vượt max_turns (OpenAI Agents SDK, Running agents). Đây là hành vi theo tài liệu được kiểm tra ngày 19/08/2026, không phải quy tắc chung.
Agent Loop thường hỏng ở đâu?
Biết cách dừng không có nghĩa vòng lặp sẽ chạy trơn. Các lỗi dưới đây được nhóm theo dấu hiệu hiện ra trong trace hoặc kết quả cuối, giúp bạn lần ngược về nguyên nhân mà không cần biết framework bên dưới.

Lặp lại cùng một hành động
Agent gọi lại một tool với tham số gần giống nhau nhưng không tiến triển. Kết quả cũ có thể chưa được đưa đủ vào context, nên mỗi vòng lại bắt đầu từ state thiếu thông tin.
Context phình ra hoặc mất chi tiết quan trọng
Vòng lặp càng dài, thông tin mang theo càng lớn. Chi tiết quan trọng có thể bị lấp, bị rút gọn hoặc rơi khỏi context. Agent vì thế có thể quên ràng buộc ban đầu.
Tool có quyền quá rộng hoặc mô tả mơ hồ
Tool mô tả chung chung như cập nhật đơn hàng không nói rõ được cập nhật gì, trong phạm vi nào. Model phải suy diễn cách dùng. Quyền càng rộng, hậu quả của một lần suy diễn sai càng lớn. Đây là rủi ro thuộc về thiết kế hệ thống, không chỉ là lỗi của model.
Agent tuyên bố xong quá sớm
Agent trả kết quả khi việc chưa xong, chẳng hạn thiếu xác minh hoặc dựa trên phỏng đoán. Điều kiện hoàn thành quá lỏng khiến model vừa làm vừa tự chấm mà không có kiểm tra độc lập.
Không có tracing để biết hỏng ở bước nào
Không có tracing, tức bản ghi các bước của lần chạy như tool được gọi, tham số, kết quả và trạng thái kết thúc, bạn chỉ thấy đầu vào cùng đầu ra. Phần giữa vẫn là hộp đen, nên bốn vấn đề trên khó được phân biệt.
Tracing ở đây là bằng chứng vận hành, ghi lại hành động và kết quả thực tế của hệ thống. Nó không đồng nghĩa với việc phơi bày quá trình lập luận nội bộ của model. Hai thứ khác nhau về bản chất lẫn mục đích; thứ cần để gỡ lỗi là dấu vết hành động có thể kiểm tra.
Khi nào bạn không cần Agent Loop?
Câu trả lời thẳng: khi các đường đi và điều kiện rẽ nhánh đều có thể định trước. Viết chúng bằng code thường rẻ hơn, nhanh hơn và dễ đoán hơn, kể cả khi quy trình vẫn đọc kết quả trung gian để chọn một nhánh đã biết.
| Cách làm | Ai quyết định bước tiếp theo | Hợp với việc |
|---|---|---|
| Chatbot hoặc một lần gọi model | Người dùng, qua từng lượt gõ | Hỏi đáp, tóm tắt, soạn nháp một lần |
| Workflow cố định | Code, theo đường đi và điều kiện rẽ nhánh lập trình sẵn | Quy trình có thể định trước các đường đi hợp lệ |
| Agent Loop | Model, tự chọn hành động hoặc tool tiếp theo từ kết quả trung gian | Việc cần thay đổi đường đi theo dữ kiện phát sinh mà code chưa định sẵn từng nhánh |
Cái giá phải trả cũng nên nói cho sòng phẳng. Agent Loop chạy nhiều vòng nên có thể cần nhiều lượt gọi model hơn một lần gọi đơn lẻ. Nó cũng có thể chậm hơn vì mỗi vòng phải đợi tool trả kết quả, và phức tạp hơn để vận hành vì phải lo thêm giới hạn, guardrail, tracing cùng điểm duyệt. Mức chênh lệch phụ thuộc vào nhiệm vụ và cách dựng hệ thống, nên một con số chung sẽ dễ gây hiểu sai.
Anthropic khuyến nghị bắt đầu từ giải pháp đơn giản nhất và chỉ tăng độ phức tạp khi thực sự cần; workflow phù hợp khi đường đi đã biết trước, còn agent phù hợp khi cần sự linh hoạt và quyết định do model điều hướng. Họ cũng lưu ý hệ thống agentic thường đánh đổi độ trễ và chi phí để lấy khả năng xử lý tốt hơn trên tác vụ khó (Anthropic, Building Effective AI Agents). Nếu đang cân nhắc đưa agent vào việc thật, bài Vì sao AI Agent cần một platform, không chỉ một prompt? đi tiếp vào runtime và kiểm soát production.
Câu hỏi thường gặp
Năm câu dưới đây xử lý những ranh giới còn dễ nhầm theo cơ chế, không theo nhãn sản phẩm.
Agent Loop có phải ReAct không?
Không hẳn. ReAct (Reasoning and Acting), được đề xuất trong paper công bố lần đầu năm 2022, đan xen lập luận với hành động để lấy thông tin ngoài rồi cập nhật kế hoạch (ReAct paper). Agent Loop rộng hơn; ReAct là một cách tổ chức, không phải cách duy nhất.
Có tool calling là đã có Agent Loop chưa?
Chưa. Tool calling chỉ thành Agent Loop khi kết quả được đưa ngược vào để hệ thống tự quyết định bước kế tiếp và quá trình có thể lặp lại.
Memory có bắt buộc trong mọi Agent Loop không?
Không. Agent Loop cần mang đủ state từ bước trước sang bước sau, nhưng memory qua nhiều lần chạy là tùy chọn. Chỉ thêm memory dài hạn khi nhiệm vụ thật sự cần.
Agent Loop có tự học sau mỗi vòng không?
Không theo nghĩa model tự được huấn luyện lại. Agent đổi hướng vì kết quả mới đi vào context; trọng số model không tự thay đổi chỉ vì Agent Loop vừa hoàn tất.
Human-in-the-loop có làm agent mất tự động không?
Không, nó chỉ giới hạn phạm vi tự quyết. Agent vẫn tự chạy những bước được phép, rồi dừng ở hành động có hậu quả thật để chờ người xác nhận. Với việc động tới tiền hoặc dữ liệu khách hàng, đây có thể là lựa chọn kiểm soát hợp lý, không phải dấu hiệu agent thất bại.
Điều cần nhớ khi nhìn một AI Agent chạy thật
Đừng dừng ở câu hỏi hệ thống dùng model gì. Model chỉ là một mắt xích; khả năng hành động và giới hạn vận hành nằm ở cả vòng lặp.
Năm câu hỏi đáng đặt ra mỗi khi nhìn một agent:
- Mục tiêu của một lần chạy được định nghĩa ra sao, và dựa vào đâu để biết là xong
- Agent có những tool nào, và mỗi tool được cấp quyền tới đâu
- State trong một lần chạy được giữ và truyền đi thế nào, có memory dài hạn hay không
- Vòng lặp dừng ở những điều kiện nào, gồm cả giới hạn cứng và điểm chờ người duyệt
- Có tracing để dựng lại từng bước khi kết quả sai hay không
Trả lời được năm câu đó, bạn đã nhìn agent như một hệ thống thay vì hộp đen thông minh.
Muốn đi tiếp, nếu còn lấn cấn ranh giới khái niệm, bạn có thể đọc AI Agent khác chatbot ở điểm nào?. Nếu muốn xuống thêm một tầng để xem lớp code quanh vòng lặp làm gì, bài Harness Engineering là gì? là chỗ hợp lý để mình nối tiếp câu chuyện.