---
title: "Reflexion Pattern: Học hỏi từ Sai lầm thông qua Phản hồi Ngôn ngữ (Verbal RL)"
description: "Khám phá kiến trúc Reflexion: Cách thức biến thất bại thành bài học kinh nghiệm bằng ngôn ngữ tự nhiên, lưu trữ vào bộ nhớ sự kiện và giúp Agent tự nâng cao năng lực mà không cần Fine-Tuning."
date: "2026-09-19"
author:
  name: "Nguyen Pham"
  role: "Xin chào. Mình thích lập trình và công nghệ. Đây là blog mình chia sẻ lại các kiến thức về lập trình, công nghệ."
  avatar: "http://0.gravatar.com/avatar/6fb61398e24046b34e13870dd6c357b9?s=128&d=mm&r=g"
category: "AI"
tags: ["AI", "AI Agent", "Reflexion", "Self-Reflection", "Memory"]
coverImage: "/blog/covers/reflexion.png"
featured: false
readingTime: "7 min read"
---

Trong học tăng cường truyền thống (Reinforcement Learning - RL), việc cập nhật trọng số mô hình qua gradient descent đòi hỏi hàng triệu lượt thử nghiệm và chi phí phần cứng khổng lồ. 

Được giới thiệu bởi Shinn et al. (2023), kiến trúc **Reflexion** mở ra một cách tiếp cận hoàn toàn mới mang tên **Học tăng cường bằng ngôn ngữ (Verbal Reinforcement Learning)**: Thay vì cập nhật trọng số nơ-ron, tác tử tự "rút kinh nghiệm" bằng các câu nhận xét bằng văn bản tự nhiên, lưu trữ các bài học thất bại vào bộ nhớ dài hạn và đọc lại những bài học đó trong lần thử tiếp theo.

---

## 1. Vòng lặp Học hỏi 4 Thành phần của Reflexion

Kiến trúc Reflexion bao gồm 4 mô-đun phối hợp nhịp nhàng:

```text
       ┌────────────────────────────────────────────────────────┐
       ▼                                                        │
   [Actor (Hành động)] ──► [Environment / Tools]                │
           │                                                    │
           ▼                                                    │
   [Evaluator (Đánh giá)] ──(Thất bại / Báo lỗi)                │
           │                                                    │
           ▼                                                    │
   [Self-Reflection (Tự rút kinh nghiệm ngôn ngữ)]              │
           │                                                    │
           ▼                                                    │
   [Episodic Memory (Bộ nhớ sự kiện lưu bài học)] ──────────────┘
```

1. **Actor (Tác tử thực thi):** Tạo ra hành động và chuỗi suy luận để giải quyết bài toán (thường dựa trên mô hình ReAct hoặc CoT).
2. **Evaluator (Bộ đánh giá):** Chấm điểm kết quả thực thi dựa trên phần thưởng môi trường (ví dụ: bộ unit test của mã nguồn có vượt qua không, phép toán có ra đúng đáp án không).
3. **Self-Reflection (Tác tử tự soi chiếu):** Khi bài toán thất bại, mô-đun này phân tích toàn bộ lịch sử hành động sai và tự trả lời câu hỏi: *"Tại sao tôi lại thất bại? Kế hoạch trước đó có lỗ hổng gì? Lần tới tôi cần làm khác đi như thế nào?"*. Câu trả lời được cô đọng thành một bài học kinh nghiệm súc tích.
4. **Episodic Memory (Bộ nhớ sự kiện):** Lưu trữ các bài học kinh nghiệm này. Trong các lần thử kế tiếp, bài học được tự động nạp vào phần đầu của prompt giúp Actor không bao giờ giẫm lại "vết xe đổ" cũ.

---

## 2. Ứng dụng thực tế vượt trội của Reflexion

- **Tự động lập trình và sửa lỗi (Self-Debugging):** Khi code chạy bị lỗi Unit Test hoặc runtime exception, Agent đọc thông báo lỗi, tự viết nhận xét phản tư: *"Hàm bị lỗi IndexError vì chưa kiểm tra mảng rỗng khi n = 0"*, sau đó tự viết lại hàm hoàn chỉnh. Nghiên cứu của Chen et al. cho thấy Reflexion giúp tăng tỷ lệ giải quyết bài toán lập trình trên HumanEval lên tới 91%.
- **Quy trình ra quyết định đa bước trong môi trường mô phỏng:** Tác tử điều hướng trong game hoặc quy trình tự động hóa web (WebArena) có thể nhanh chóng thích nghi sau các cú nhấp chuột sai.

---

## 3. Tài liệu nghiên cứu kinh điển

- **Shinn et al. (2023):** *Reflexion: Language Agents with Verbal Reinforcement Learning* (arXiv:2303.11366).
- **Madaan et al. (2023):** *Self-Refine: Iterative Refinement with Self-Feedback* (arXiv:2303.17651).
- **Chen et al. (2023):** *Teaching Large Language Models to Self-Debug* (arXiv:2304.05128).
