Chống Sycophancy Và Role Collapse Trong Hội Đồng Agent: Reviewer Không Fork Của akiflow
Sycophancy và role collapse khiến agent tự khen code của chính nó. akiflow chống bằng reviewer tạo mới từ ngữ cảnh sạch, chỉ nhận diff và tiêu chí đóng, cùng năm định nghĩa agent tách vai.

Hai lỗi kinh niên của hệ thống AI agent là sycophancy (agent luôn đồng ý và tự khen kết quả của chính mình) và role collapse (một agent gánh nhiều vai có chuẩn đúng mâu thuẫn nhau).
Khi một agent vừa lập kế hoạch, vừa viết mã, vừa tự kiểm thử, nó dựng nên một chuỗi tự biện minh (self-justification chain) và hạ chuẩn chất lượng để các vai khớp nhau. Bài này mô tả cách akiflow tách vai và cách ly reviewer khỏi chuỗi đó.
Vì sao reviewer được fork từ agent chính vẫn bị nhiễm thiên lệch?
[CAUTION] Khi cần review, nhiều hệ thống fork một subagent từ agent chính. Subagent đó kế thừa toàn bộ lịch sử suy luận của người viết, gồm cả những giả định sai, nên dễ gật đầu duyệt ("rubber stamp") đoạn mã lỗi mà không kiểm tra lại. Review kiểu này tệ hơn không review, vì nó phát ra một con dấu duyệt.
akiflow không dùng reviewer kế thừa ngữ cảnh. Reviewer là một plain subagent tạo mới từ đầu.
Cách reviewer độc lập hoạt động
1. Ngữ cảnh sạch: aki-challenger là subagent tạo mới, không mang lịch sử của lead hay của người viết. Định nghĩa của nó nhấn vào thứ nó không được đưa, không phải thứ nó biết.
2. Đầu vào tối thiểu: chỉ có diff, tiêu chí đóng (closes when) của item và sàn rule RULE-agent-behavior.md. Lập luận của lead, nội dung phòng họp và rationale đều bị giữ lại.
3. Đòn tấn công đầu tiên nhắm vào cách phân rã: yêu cầu nào không có item, item nào có hai owner, tiêu chí đóng nào không ai kiểm được. Mọi lượt review đều kết bằng hai câu hỏi: "có gì cắt được không?" và "kết quả này có trả lời đúng lời chủ dự án không?".
4. Kiểm chứng tách khỏi review: "tôi có làm đúng điều đã hứa không?" là so sánh cơ học và cần ngữ cảnh, nên giao cho một plain subagent khác nhận diff cùng lời hứa. "Việc này có nên làm không?" là phán đoán và càng ít ngữ cảnh càng sạch. Hai việc trông giống nhau nhưng đòi hỏi ngược nhau.
Tách vai bằng năm định nghĩa agent
Vai không nằm trong lời dặn mà nằm trong định nghĩa agent, với tập công cụ quyết định quyền hạn:
aki-hands (Read, Grep, Glob): truy xuất, cấm phán xét. aki-judge (Read, Grep, Glob): phán xét theo đúng một chuẩn nêu lúc gọi, nên muốn nhiều chuẩn thì gọi nhiều ghế. aki-conduct (thêm Bash): kiểm tra quy trình, dùng scythe.py. aki-challenger (Read, Grep, Glob): tấn công kết quả. aki-maker (Read, Edit, Write, Bash): agent duy nhất được ghi file. Chỉ đọc là cơ chế, vì công cụ Edit và Write không có trong danh sách, chứ không phải một câu nhắc mà agent có thể tự lý giải cho qua.
Roster không cố định. Một ghế chỉ được triệu tập khi truy được về một yêu cầu trong lời chủ dự án; năm file trên là danh mục, không phải thực đơn để chọn. Hai agent đồng ý với nhau cũng không phải một quyết định: chỉ lead được đóng item, và một đồng thuận không kèm điều kiện chứng minh sai (falsifier) bị coi là đồng thuận giả.