ReAct "vừa đi vừa nghĩ". Nhưng với nhiệm vụ nhiều bước, cách này dễ lạc hướng và tốn nhiều lời gọi. Hai mẫu kiến trúc nâng cao giải quyết điều đó: plan-execute (lập kế hoạch trước) và reflection (tự đánh giá và sửa).
Plan-Execute: nghĩ trước, làm sau
Ý tưởng: tách làm hai pha.
Pha 1 — PLAN: LLM lập một kế hoạch nhiều bước trước.
Pha 2 — EXECUTE: thực thi từng bước (có thể bằng model rẻ hơn),
chỉ quay lại lập kế hoạch nếu chệch.
Ví dụ mục tiêu "Viết báo cáo đối thủ X":
PLAN:
1. search_web("đối thủ X sản phẩm")
2. search_web("đối thủ X giá")
3. get_our_pricing()
4. tổng hợp thành bảng so sánh
5. viết báo cáo
EXECUTE: chạy lần lượt 1→5.
Ưu điểm: agent có "bức tranh lớn", ít lạc; các bước độc lập có thể chạy song song; dùng model mạnh chỉ ở pha plan → tiết kiệm. Nhược điểm: kế hoạch cứng, kém linh hoạt khi thực tế bất ngờ.
So sánh ReAct vs Plan-Execute
| Tiêu chí | ReAct | Plan-Execute |
|---|---|---|
| Cách làm | Quyết định từng bước | Lập kế hoạch trước rồi chạy |
| Hợp với | Khám phá, bước phụ thuộc nhau | Nhiệm vụ có cấu trúc rõ |
| Số lời gọi LLM | Nhiều (mỗi bước nghĩ lại) | Ít hơn |
| Khi gặp bất ngờ | Thích ứng tốt | Phải re-plan |
Reflection: agent tự chấm bài mình
Reflection là cho agent tự đánh giá kết quả và sửa trước khi trả cho user. Vòng lặp:
1. Generate: agent tạo kết quả nháp.
2. Reflect: agent (hoặc một 'critic') tự hỏi:
"Kết quả này có đạt yêu cầu? Thiếu gì? Sai đâu?"
3. Revise: sửa dựa trên phản hồi.
4. Lặp tối đa N lần hoặc đến khi 'đạt'.
Ví dụ agent viết code: chạy thử → thấy lỗi test → phản tư "test 2 fail do thiếu xử lý null" → sửa → chạy lại. Reflection biến agent "làm một phát" thành "làm và tự kiểm".
Các bước thêm reflection vào agent
- Sau khi có kết quả nháp, gọi thêm một lượt LLM đóng vai người phản biện với tiêu chí rõ ràng.
- Cung cấp tín hiệu khách quan nếu có (kết quả test, lỗi runtime, schema validation) — reflection dựa trên dữ kiện tốt hơn dựa trên cảm tính.
- Giới hạn số vòng reflection (2–3), nếu không sẽ tốn token và có thể lặp quanh.
- Dừng khi 'đủ tốt', không cầu toàn — mỗi vòng là thêm chi phí.
Khung tư duy: chọn mẫu nào?
- Bước phụ thuộc kết quả, cần khám phá → ReAct.
- Nhiệm vụ có cấu trúc, biết đại thể các bước → Plan-Execute.
- Chất lượng đầu ra quan trọng, có tín hiệu kiểm chứng → thêm Reflection.
- Nhiệm vụ lớn → kết hợp cả ba.
Checklist
- [ ] Đã chọn mẫu phù hợp độ cấu trúc của nhiệm vụ.
- [ ] Plan-execute có cơ chế re-plan khi bước lỗi.
- [ ] Reflection dựa trên tín hiệu khách quan khi có thể.
- [ ] Giới hạn số vòng reflection.
- [ ] Có tiêu chí "đủ tốt" để dừng.
Sai lầm thường gặp
- Dùng plan-execute cho việc mù mờ: kế hoạch lập ra sai vì thiếu thông tin thực tế; nên dùng ReAct.
- Kế hoạch cứng không re-plan: một bước fail kéo sập cả chuỗi.
- Reflection không có tín hiệu khách quan: agent tự khen mình "đã tốt" dù sai — reflection thành vô nghĩa.
- Reflection vô hạn vòng: đốt token, có khi làm kết quả tệ đi. Giới hạn 2–3 vòng.
- Cầu toàn: cố sửa đến hoàn hảo trong khi "đủ tốt" đã đáp ứng yêu cầu — lãng phí.
Học xong bài này rồi?
Tạo tài khoản miễn phí để lưu lại — lần sau vào là biết ngay đang dở ở đâu,
và học hết khóa thì có chứng chỉ.
Lưu tiến độ của tôi