Skip to content
Lesson 6/12 · Khoá học AI Agent (Hugging Face)

Chu trình Thought-Action-Observation của agent

Quy trình làm việc hoàn chỉnh của AI agent qua vòng lặp Suy nghĩ → Hành động → Quan sát, minh hoạ bằng agent thời tiết Alfred.

This content is currently available in Vietnamese only.

Beginner@shine19046 min read

Bài này đi qua toàn bộ quy trình (workflow) của một AI agent, một chu trình mà chúng ta gọi là Thought-Action-Observation (Suy nghĩ - Hành động - Quan sát). Sau đó, các bài tiếp theo sẽ đi sâu vào từng bước.

Bảng kế hoạch unit 1

Ở các bài trước, chúng ta đã học:

  • Cách tool được cung cấp cho agent trong system prompt.
  • AI agent là hệ thống có thể "suy luận", lập kế hoạch và tương tác với môi trường.

Các thành phần cốt lõi

Công việc của agent là một chu trình liên tục: suy nghĩ (Thought) → hành động (Act) và quan sát (Observe).

Chúng ta cùng tách nhỏ các bước này:

  1. Thought: phần LLM của agent quyết định bước tiếp theo là gì.
  2. Action: agent thực hiện hành động bằng cách gọi tool với các đối số tương ứng.
  3. Observation: model phản tư về phản hồi nhận được từ tool.

Chu trình Thought-Action-Observation

Ba thành phần này phối hợp trong một vòng lặp liên tục. Nếu so sánh với lập trình, agent dùng một vòng lặp while: vòng lặp tiếp tục cho đến khi mục tiêu của agent được hoàn thành.

Trực quan thì nó trông như sau:

Chu trình Suy nghĩ, Hành động, Quan sát

Trong nhiều framework agent, các quy tắc và chỉ dẫn được nhúng thẳng vào system prompt, đảm bảo mọi chu trình đều tuân theo một logic đã định.

Ở dạng đơn giản, system prompt của chúng ta có thể trông như sau:

System prompt mô tả chu trình

Có thể thấy trong system message, chúng ta đã định nghĩa:

  • Hành vi của agent.
  • Các tool mà agent được dùng, như đã mô tả ở bài trước.
  • Chu trình Thought-Action-Observation, được đưa vào chỉ dẫn cho LLM.

Chúng ta hãy xem một ví dụ nhỏ để hiểu quá trình này trước khi đi sâu vào từng bước.

Alfred, agent thời tiết

Chúng ta đã tạo Alfred, agent thời tiết.

Một người dùng hỏi Alfred: "Thời tiết hiện tại ở New York thế nào?"

Agent Alfred

Nhiệm vụ của Alfred là trả lời câu hỏi này bằng một tool API thời tiết.

Chu trình diễn ra như sau:

Thought

Suy luận nội bộ:

Khi nhận câu hỏi, độc thoại nội tâm của Alfred có thể là:

"Người dùng cần thông tin thời tiết hiện tại ở New York. Mình có quyền dùng một tool lấy dữ liệu thời tiết. Trước hết, mình cần gọi API thời tiết để lấy thông tin mới nhất."

Bước này cho thấy agent chia vấn đề thành các bước: đầu tiên là thu thập dữ liệu cần thiết.

Alfred suy nghĩ

Action

Dùng tool:

Dựa trên suy luận và việc Alfred biết có tool get_weather, Alfred chuẩn bị một lệnh định dạng JSON gọi tool API thời tiết. Ví dụ, hành động đầu tiên có thể là:

Thought: I need to check the current weather for New York.

code
{
  "action": "get_weather",
  "action_input": {
    "location": "New York"
  }
}

Ở đây, action chỉ rõ tool nào cần gọi (ví dụ get_weather) và tham số nào cần truyền ("location": "New York").

Alfred hành động

Observation

Phản hồi từ môi trường:

Sau lời gọi tool, Alfred nhận được một observation. Đó có thể là dữ liệu thời tiết thô từ API, chẳng hạn:

"Current weather in New York: partly cloudy, 15°C, 60% humidity." (Thời tiết hiện tại ở New York: có mây rải rác, 15°C, độ ẩm 60%.)

Alfred quan sát

Observation này sau đó được thêm vào prompt làm ngữ cảnh bổ sung. Nó đóng vai trò phản hồi từ thế giới thực, xác nhận hành động có thành công không và cung cấp các chi tiết cần thiết.

Thought được cập nhật

Phản tư:

Có observation trong tay, Alfred cập nhật suy luận nội bộ:

"Giờ đã có dữ liệu thời tiết của New York, mình có thể soạn câu trả lời cho người dùng."

Alfred cập nhật suy nghĩ

Action cuối cùng

Sau đó Alfred sinh câu trả lời cuối cùng theo đúng định dạng chúng ta đã yêu cầu:

Thought: I have the weather data now. The current weather in New York is partly cloudy with a temperature of 15°C and 60% humidity."

Final answer : The current weather in New York is partly cloudy with a temperature of 15°C and 60% humidity.

Action cuối cùng này gửi câu trả lời lại cho người dùng, khép lại vòng lặp.

Alfred trả lời

Ví dụ này cho thấy gì

  • Agent lặp qua một vòng lặp cho đến khi đạt mục tiêu: quá trình của Alfred mang tính chu kỳ. Nó bắt đầu bằng một suy nghĩ, rồi hành động bằng cách gọi tool, cuối cùng quan sát kết quả. Nếu observation báo lỗi hoặc dữ liệu chưa đủ, Alfred có thể quay lại chu trình để điều chỉnh cách làm.
  • Tích hợp tool: khả năng gọi tool (như API thời tiết) giúp Alfred vượt ra ngoài kiến thức tĩnh và lấy dữ liệu thời gian thực, một khía cạnh thiết yếu của nhiều AI agent.
  • Thích nghi linh hoạt: mỗi chu trình cho phép agent đưa thông tin mới (observation) vào suy luận (thought), đảm bảo câu trả lời cuối cùng đầy đủ thông tin và chính xác.

Ví dụ này thể hiện ý tưởng cốt lõi đằng sau chu trình ReAct (khái niệm chúng ta sẽ phát triển ở bài tiếp theo): sự phối hợp giữa Thought, Action và Observation giúp AI agent giải quyết các tác vụ phức tạp theo từng vòng lặp.

Hiểu và áp dụng các nguyên tắc này, bạn có thể thiết kế những agent không chỉ suy luận về tác vụ mà còn dùng tool bên ngoài hiệu quả để hoàn thành chúng, đồng thời liên tục tinh chỉnh đầu ra dựa trên phản hồi từ môi trường.

Giờ chúng ta hãy đi sâu vào từng bước Thought, Action, Observation của quá trình, bắt đầu với Thought.

Nguồn