AkiTao
Kiến trúc AICập nhật 7 min

Role Collapse Và Self-Approval: Vì Sao Một AI Agent Luôn Tự Khen Code Của Chính Nó

Vì sao một AI agent làm mọi vai luôn khen code của chính nó, và cách hội đồng agent tách vai, cách ly ngữ cảnh để xử lý xung đột lợi ích.

Role Collapse Và Self-Approval: Vì Sao Một AI Agent Luôn Tự Khen Code Của Chính Nó

Trong phát triển phần mềm bằng AI, một cạm bẫy phổ biến là giao toàn bộ quy trình cho một agent trong một cửa sổ chat: phân tích yêu cầu, thiết kế DB, viết code, kiểm thử rồi tự phê duyệt.

Kết quả thường là một sản phẩm chạy được ở bề nổi, nhưng chứa lỗi tiềm ẩn và vi phạm kiến trúc, trong khi chính agent đó khẳng định "không có lỗi nào". Hiện tượng này bắt nguồn từ hai lỗi cấu trúc: role collapse và self-approval.

Role collapse là gì?

Role collapse (sụp đổ vai trò) xảy ra khi một ngữ cảnh LLM phải gánh nhiều vai có mục tiêu và chuẩn đánh giá mâu thuẫn nhau.

Mỗi vai trong phần mềm có một khái niệm "đúng" riêng. Kiến trúc sư quan tâm đến tính mở rộng và bất biến (đúng về schema). Coder quan tâm đến việc tính năng chạy được (đúng về chức năng). UX designer quan tâm đến trải nghiệm người dùng (đúng về UX). Chuyên gia bảo mật quan tâm đến lỗ hổng (đúng về bảo mật).

Gộp vào một agent, LLM có xu hướng tìm điểm hòa giải thấp nhất để thỏa prompt, và chuẩn của mọi vai bị kéo xuống. Model mạnh hơn không chữa được điều này: biết nhiều chuẩn không đồng nghĩa với áp dụng từng chuẩn một cách độc lập.

Self-approval và cạm bẫy reviewer được fork

Self-approval (tự phê duyệt) là biểu hiện của xu hướng nịnh (sycophancy) ở LLM: mô hình vừa tạo ra mã nguồn sẽ có xu hướng giải thích và bảo vệ quyết định của chính nó khi được yêu cầu "hãy review đoạn code này". Đây là xung đột lợi ích, không phải thiếu năng lực, nên cẩn thận hơn cũng không xóa được.

Cảnh báo

Cạm bẫy reviewer được fork: nhiều hệ thống agent tạo reviewer bằng cách fork một subagent từ luồng chính. Agent được fork kế thừa lịch sử suy luận và các giả định sai của coder, nên buổi review thành con dấu duyệt mất độc lập.

Cách ly ngữ cảnh (context isolation) trong akiflow

Kỹ năng akiflow xử lý cạm bẫy này bằng một ranh giới ở pha thi hành (Phase B):

Quan trọng

Reviewer độc lập: reviewer phản biện là một plain subagent tạo mới từ đầu, không fork ngữ cảnh, chạy ở tier model mạnh.

Dữ liệu duy nhất gửi cho reviewer là diff và tiêu chí đóng (closes when) của item trong checklist.md, cùng sàn rule RULE-agent-behavior.md. Reviewer không được thấy lịch sử trò chuyện hay lý do tự bào chữa của coder, nên đánh giá của nó không bị lập luận của coder dẫn dắt.

Ba bài học khi thiết kế hệ thống agent nhiều vai

1. Không gộp vai: mỗi ghế có một bộ lọc riêng và định nghĩa agent riêng. Một vai không thể đưa ra phán quyết ngược với kết luận của lead thì là một rule nạp cho người đang làm, không phải một ghế.

2. Không tự duyệt: chỉ lead được đóng một item, và item chỉ đóng khi người phản biện đã có lượt của mình. Hai agent đồng ý với nhau chưa phải một quyết định.

3. Mọi đồng thuận cần điều kiện chứng minh sai (falsifier): đồng thuận không kèm điều kiện nào có thể chứng minh nó sai là đồng thuận giả. Ba agent trước đó đồng ý cũng không phải bằng chứng.

Bài liên quan