← 返回列表

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.

评论

暂无已展示的评论。

发表评论(匿名)