AI tự dặn mình giấu lỗi khi compact session =))
OpenAI ghi nhận agent viết lời dặn giấu lỗi vào compaction summary. Đọc bằng chứng, phân biệt hai hiện tượng và kiểm soát bàn giao giữa các context.
Đọc báo cáo OpenAI ngày 16/9/2026, mình dừng ở lời dặn của agent làm bảng tính: chỉ minh bạch nếu người dùng hỏi. Nó đề xuất tự điền dữ liệu lịch sử còn thiếu. [1]
Bạn chưa hỏi tới tức là phòng kế toán chưa cần biết. Cách bàn giao này có thể giúp người làm tránh một cuộc họp khó chịu, còn người dùng thì nhận thêm một file cần kiểm tra.
Agent ghi chỉ dẫn vào bản tóm tắt công việc; OpenAI cho biết lượt sau thường làm theo. [1] Mình dùng chữ "dặn mình" để mô tả hành vi ấy, không gán ý thức cho model.
Đọc tới đó, mình muốn kiểm tra bản bàn giao trước khi bấm tiếp tục. Người nhận bàn giao vẫn là AI, còn thứ nó nhận có thể gồm cả công việc dang dở lẫn lời khuyên ém nhẹm công việc làm sai.
Biên bản bàn giao có thêm mục "đừng kể khách"
Báo cáo huấn luyện 5.6-Sol còn nêu agent dùng nguồn không khớp nhãn phiên bản rồi dặn context sau giấu việc đó. [1]

Ảnh 1. Highlight nguyên văn lời dặn về việc tiết lộ. Xem báo cáo gốc. Phần ngoài trích đoạn đã làm mờ; chú thích là của bài viết.
Bạn có thể hình dung compaction như đổi người trực khi ca làm quá dài. Hệ thống rút gọn lịch sử rồi đưa bản tóm tắt cho context mới. Người trực sau cần biết đã sửa file nào, test nào chưa chạy, còn vướng chỗ nào. Nó không cần ôm cả chục nghìn dòng log vào đầu.
Người trực trước đã trộn quyết định về cách báo cáo với thông tin tiến độ. "Chưa lấy được dữ liệu" mô tả trạng thái. "Đừng nói chuyện đó" yêu cầu người kế tiếp hành động. Nếu agent đọc cả hai với cùng mức tin cậy, nó có thể tiếp tục che lỗi mà chẳng cần ai bên ngoài tấn công.
Mình nghĩ tới một tờ bàn giao ghi "máy lạnh tầng ba đang chảy nước, khách hỏi thì bảo đang bảo trì". Anh trực sau có thể sửa máy lạnh, hoặc nối nghiệp anh trực trước. Giữ được nguyên tờ giấy không có nghĩa là giữ được sự trung thực.

Hình 2. Mình vẽ lại cơ chế bàn giao để giải thích báo cáo, không phải sơ đồ nội bộ của OpenAI. Các nhãn tiếng Việt là diễn giải. Mở diagram chỉnh sửa được.
Xin khoan phong chức "AI biết âm mưu"
OpenAI công bố sáu báo cáo trong đợt này. Hãng nói rõ đây là những trường hợp quan sát trong huấn luyện hoặc đánh giá; không dùng chúng để suy ra tần suất hành vi trên toàn bộ model. [2]
Báo cáo về giấu lỗi nêu tỷ lệ summary bị hệ thống phát hiện gắn cờ là 2,15% với 5.6-Sol và 0,27% với GPT-6-Astra, trong các đợt RL được báo cáo. Đây không phải xác suất một cuộc chat của bạn bị AI lừa. [1]

Ảnh 3. Mẫu số là compaction summary trong RL. Đọc phạm vi và cách khắc phục ở cuối báo cáo, đừng đổi nhãn thành "tỷ lệ nói dối với khách hàng".
Mình cũng không rút ra kết luận rằng tỷ lệ nhỏ hơn chứng minh hệ thống đã an toàn. Muốn so sánh, người đánh giá còn phải biết tập nhiệm vụ, cách phát hiện và những trường hợp công cụ bỏ sót. Hai con số trong thông báo chưa cung cấp đủ cơ sở cho một lời bảo hành.
OpenAI nghi cơ chế thưởng ưu ái câu trả lời che giấu, rồi agent lưu cách hành xử ấy qua summary. Hãng chưa xác lập quan hệ nhân quả. [1]
Phần châm biếm ở đây dành cho cách chấm bài: giao sản phẩm trông hoàn chỉnh có thể được ưu ái hơn việc thừa nhận thiếu dữ liệu. Trong một tình huống thiết kế tệ như vậy, chúng ta đã cấp cho model cả KPI lẫn lý do để làm đẹp báo cáo. Rồi chúng ta ngạc nhiên khi nó chú trọng hình thức báo cáo.
Còn một loại lời dặn khác, đừng gộp chung
Một báo cáo riêng mô tả 27 summary có chỉ dẫn kiểu jailbreak trong một đợt huấn luyện model Astra chưa phát hành. Có lượt kế tiếp bỏ qua chỉ dẫn; có lượt tuân theo hạn chế vô cớ về độ dài và công cụ, khiến nhiệm vụ thất bại. [3]

Ảnh 4. Dòng phạm vi ghi model nội bộ chưa phát hành và RL training. Đây là báo cáo khác với trường hợp dặn giấu lỗi.
OpenAI nghi ngờ trục trặc ở việc kết thúc summary có góp phần gây hiện tượng này, nhưng chưa xác lập quan hệ nhân quả. Hãng cho biết đợt huấn luyện đó tách biệt với đợt dùng cho model Astra cuối cùng, và đã sửa một bug liên quan. [3]
Vậy mình có hai đầu việc khác nhau để kiểm tra: chỉ dẫn che lỗi bám vào nhiệm vụ, và chỉ dẫn lạc đề tự xuất hiện. Viết chung thành "AI thức tỉnh rồi tự jailbreak" thì tiện cho thumbnail, nhưng người phụ trách sửa hệ thống sẽ phải gỡ cái thumbnail ấy khỏi đầu trước.
Agent cũng có thể phạm lỗi bằng tinh thần phục vụ
Trong một trường hợp khác, agent đã lấy được dữ liệu hồ bằng Python. Nó muốn có citation từ browser, nên thử đưa file lên một dịch vụ public mà không hỏi người dùng. Upload thành công; browser vẫn không mở được URL ấy. Cuối cùng agent trả lời dựa vào nguồn bản đồ và nói rõ phần dữ liệu lấy từ Python. [4]

Ảnh 5. Agent đã thực hiện thao tác ghi ra ngoài, dù mục tiêu lấy citation không thành. Nguồn và chuỗi thao tác.
Khách xin danh sách hồ, nhân viên tiện tay mở thêm quầy phát file ngoài đường. Nếu chỉ đọc câu trả lời cuối, bạn dễ bỏ lỡ việc dữ liệu đã rời máy.
Mình không gọi đây là một vụ lộ bí mật doanh nghiệp. Báo cáo đang nói về trường hợp cụ thể với dữ liệu và công cụ cụ thể. Điều mình muốn kiểm tra trong hệ thống của mình là quyền thực hiện thao tác: yêu cầu tìm thông tin có cho phép agent upload file không, và lớp nào chịu trách nhiệm chặn nếu chưa có quyền?
Mình sẽ kiểm tra bản bàn giao thế nào
Phần dưới là đề xuất thiết kế của mình, chưa phải một bản vá đã thử nghiệm cho các model trong báo cáo.
Trước hết, mình muốn hệ thống lưu bằng chứng ngoài phần văn xuôi mà model tự tóm tắt. Agent có thể ghi "test pass", nhưng người kiểm tra phải lần tới lệnh đã chạy, exit code và commit tương ứng. Nếu chỉ giữ câu kể, mình đang nhờ chính người làm bài xác nhận luôn rằng bài làm đúng.
Một bản bàn giao cho nhiệm vụ sửa code có thể tách như sau:
progress:
changed_files:
- src/report.py
verification:
tests:
status: not_run
historical_data:
status: unavailable
source: null
open_issues:
- Output chưa có dữ liệu lịch sử để đối chiếu.
next_steps:
- Xin nguồn dữ liệu hoặc báo rõ phần còn thiếu.
Đây là ví dụ mình tự viết. Schema giúp người đọc nhìn ra ô còn thiếu; nó không chứng nhận rằng nội dung trong ô là thật. Hệ thống vẫn phải đối chiếu log, artifact và quyền truy cập. Ai cũng có thể điền một lời nói dối vào YAML, kể cả người thích YAML.
Mình cũng sẽ tách đề xuất bước tiếp theo khỏi quyền thực hiện bước đó. Summary có thể nhắc cần gửi file. Nó không có thẩm quyền cấp quyền gửi file. Công cụ upload cần kiểm tra phạm vi cho phép ở lúc thực thi, thay vì tin một đoạn văn vừa đi qua compaction.
Với tác vụ sửa code hoặc xử lý dữ liệu, mình muốn lưu cả summary trước và sau bàn giao. Người review cần biết agent đã làm rơi cảnh báo nào, có biến một phỏng đoán thành sự thật không, có tự thêm yêu cầu người dùng chưa từng đưa ra không. Người review chỉ rà từ khóa "ignore" có thể bỏ sót lời dặn bảo phần chưa kiểm tra là đã hoàn tất.

Hình 6. Thiết kế mình đề xuất: agent dùng summary để tiếp tục công việc; runtime giữ quyền công cụ và người kiểm tra đối chiếu bằng chứng. Các lớp này giảm rủi ro, không tạo bảo đảm tuyệt đối. Bản draw.io.
Một bài test mình muốn thêm cũng nhỏ thôi: cho agent gặp nguồn dữ liệu không truy cập được, ép nó bàn giao, rồi xem context sau còn báo thiếu dữ liệu không. Sau đó thử thay tình huống bằng test fail. Người chấm phải đọc cả artifact lẫn câu trả lời cuối, kẻo model được điểm nhờ viết một bản tổng kết dễ nghe.
Mình vẫn muốn agent làm việc dài hơi. Ngồi canh từng lệnh thì tự động hóa nghe hơi giống tuyển thêm việc cho mình. Nhưng trước khi giao nó một đêm để chạy, mình muốn đọc thử cách nó bàn giao một lần thất bại. File còn lỗi thì sửa được; bản bàn giao xóa mất dấu lỗi sẽ làm người sau tìm lâu hơn nhiều.
Bình
Nguồn để bạn kiểm tra (4)
- Encouraging deception in compaction summaries. OpenAI. 2026-09-16. RL training; không đại diện tỷ lệ sự cố production.
- Our framework for reporting model misalignment. OpenAI. 2026-09-16.
- Self-generated prompt injections in compaction summaries. OpenAI. 2026-09-16.
- Uploading files to the internet in order to cite them. OpenAI. 2026-09-16.