Bộ câu hỏi phỏng vấn AI Series 6: Nói về ba phương pháp luận cốt lõi của AI Agent: ReAct, Plan-and-Solve và Reflection
Ba phương pháp luận cốt lõi của AI Agent: ReAct, Plan-and-Solve và Reflection
AI Agent là tác nhân thông minh có khả năng tự nhận thức môi trường, đưa ra quyết định và thực hiện hành động. Các phương pháp luận cốt lõi của nó chủ yếu có ba loại: ReAct, Plan-and-Solve và Reflection. Dưới đây lần lượt giới thiệu, kèm theo sơ đồ luồng và ví dụ mã.
1. ReAct (Reasoning + Acting)
Ý tưởng cốt lõi: Đan xen suy luận (Reasoning) và hành động (Acting). Ở mỗi bước, Agent trước tiên suy nghĩ về trạng thái hiện tại và kế hoạch tiếp theo (suy luận), sau đó thực hiện một hành động (như gọi công cụ, tìm kiếm thông tin), rồi tiếp tục suy luận dựa trên kết quả.
Sơ đồ luồng:
[Trạng thái ban đầu] → [Suy luận: nghĩ bước tiếp theo] → [Hành động: thực hiện hành động] → [Quan sát kết quả] → [Suy luận: cập nhật kế hoạch] → ... → [Câu trả lời cuối cùng]
Mã ví dụ (giả mã):
def react_agent(question):
context = []
while not solved:
# Suy luận: tạo bước suy nghĩ
thought = llm.generate_thought(question, context)
# Hành động: chọn hành động dựa trên suy nghĩ
action = llm.choose_action(thought)
# Thực hiện hành động, nhận quan sát
observation = execute_action(action)
# Thêm suy nghĩ, hành động, quan sát vào ngữ cảnh
context.append((thought, action, observation))
return final_answer
Ví dụ:
- Người dùng hỏi: “Hôm nay thời tiết Bắc Kinh thế nào?”
- Agent suy luận: “Tôi cần tra API thời tiết, cần tên thành phố và ngày.”
- Hành động: gọi API thời tiết (tham số: Bắc Kinh, hôm nay)
- Quan sát: trả về “Nắng, 25°C”
- Suy luận: “Đã có thông tin, có thể trả lời.”
- Đầu ra: “Hôm nay Bắc Kinh nắng, 25°C.”
2. Plan-and-Solve
Ý tưởng cốt lõi: Đầu tiên lập kế hoạch hoàn chỉnh (Plan), sau đó thực hiện từng bước (Solve). Giai đoạn lập kế hoạch chia nhiệm vụ phức tạp thành các bước con, giai đoạn thực hiện hoàn thành theo thứ tự, có thể điều chỉnh kế hoạch dựa trên kết quả trung gian.
Sơ đồ luồng:
[Nhiệm vụ] → [Lập kế hoạch: chia bước con] → [Thực hiện bước 1] → [Thực hiện bước 2] → ... → [Thực hiện bước N] → [Câu trả lời cuối cùng]
Mã ví dụ:
def plan_and_solve(task):
# Giai đoạn lập kế hoạch
plan = llm.generate_plan(task) # Ví dụ: ["Tìm kiếm tài liệu", "Sắp xếp thông tin", "Viết báo cáo"]
context = {}
for step in plan:
# Thực hiện từng bước
result = execute_step(step, context)
context[step] = result
# Tổng hợp kết quả
final = llm.synthesize(context)
return final
Ví dụ:
- Nhiệm vụ: “Viết một blog về AI Agent”
- Kế hoạch:
1. Tìm kiếm định nghĩa AI Agent và tiến bộ mới nhất
2. Đọc và sắp xếp các điểm chính
3. Viết dàn ý blog
4. Điền nội dung
5. Hiệu đính và xuất bản
- Thực hiện: lần lượt hoàn thành từng bước, cuối cùng xuất ra blog.
3. Reflection
Ý tưởng cốt lõi: Trong hoặc sau khi thực hiện, Agent tự suy ngẫm (Reflection) về hành vi của mình, đánh giá kết quả và cải thiện hành động tiếp theo. Thường bao gồm tự phê bình, sửa lỗi hoặc tối ưu chiến lược.
Sơ đồ luồng:
[Hành động] → [Quan sát kết quả] → [Suy ngẫm: đánh giá thành công] → [Nếu thất bại: điều chỉnh chiến lược] → [Hành động lại] → ... → [Thành công]
Mã ví dụ:
def reflection_agent(task):
max_attempts = 3
for attempt in range(max_attempts):
action = llm.generate_action(task)
result = execute(action)
# Suy ngẫm
reflection = llm.reflect(task, action, result)
if reflection['success']:
return result
else:
# Điều chỉnh mô tả nhiệm vụ hoặc chiến lược dựa trên suy ngẫm
task = reflection['improved_task']
return None
Ví dụ:
- Nhiệm vụ: “Tính 1234 * 5678”
- Hành động: tính trực tiếp, được kết quả 7006652
- Suy ngẫm: kiểm tra quá trình tính, phát hiện lỗi nhớ
- Điều chỉnh: tính lại, được kết quả đúng 7006652 (thực tế đúng)
- Nếu vẫn sai, tiếp tục suy ngẫm cho đến khi đúng.
Tổng kết so sánh
| Phương pháp luận | Đặc điểm | Tình huống áp dụng |
|---|---|---|
| ReAct | Suy luận và hành động đan xen, điều chỉnh động | Nhiệm vụ cần tương tác thông tin thời gian thực (như hỏi đáp, tìm kiếm) |
| Plan-and-Solve | Lập kế hoạch trước rồi thực hiện, phân cấp có cấu trúc | Nhiệm vụ phức tạp nhiều bước (như viết lách, phân tích dữ liệu) |
| Reflection | Tự suy ngẫm và sửa lỗi, tối ưu lặp | Nhiệm vụ yêu cầu độ chính xác cao (như tính toán, sinh mã) |
Trong ứng dụng thực tế, thường kết hợp cả ba, ví dụ ReAct thêm cơ chế suy ngẫm, hoặc Plan-and-Solve suy ngẫm sau mỗi bước thực hiện.
评论
暂无已展示的评论。
发表评论(匿名)