Giữ coding agent đang dùng, thêm workflow và kiểm tra hoàn tất với OMA
OMA mình bảo trì cho phép tiếp tục dùng Claude Code, Codex CLI hoặc Cursor trong môi trường được hỗ trợ, rồi thêm skill chuyên môn, workflow phối hợp nhiều agent và các bước kiểm tra hoàn tất đã cấu hình. Danh sách chương công khai của buổi học chính thức với Lauren Tan đề cập skill xác minh, đánh giá skill và ràng buộc CI nghiêm ngặt. Nguyên tắc xác minh của pstack yêu cầu kiểm tra trực tiếp kết quả thực tế và, khi có thể, lưu bước kiểm tra có thể chạy lại cùng đầu ra.
Cấu hình và kiểm tra điều kiện hoàn tất
OMA quản lý cấu hình chung trong .agents/, rồi chuyển chúng sang định dạng của môi trường agent tương ứng. Mô hình vẫn lập kế hoạch và lựa chọn cách sửa mã. OMA quản lý trạng thái workflow và chạy các lệnh kiểm tra đã cấu hình.
Bạn có thể giữ Claude Code, Codex CLI hoặc Cursor trong các môi trường được hỗ trợ và dùng cấu hình chung. Hook và tính năng khác nhau giữa các môi trường; cần kiểm tra khả năng hỗ trợ.
Trong thử nghiệm, mình dùng workflow Ralph với gate test. Khi workflow còn hoạt động, Stop hook chạy lệnh kiểm thử và trả về quyết định có chặn việc kết thúc hay không. Hook không bổ sung test còn thiếu.
Một lỗi ở thời điểm hết hạn
Fixture độc lập có hàm isExpired(expiresAt, now) và ba trường hợp: trước hạn, đúng thời điểm hết hạn, sau hạn. Cài đặt ban đầu là:
return now > expiresAt;
Yêu cầu là hết hạn ngay khi hai giá trị bằng nhau. Vì vậy trường hợp ở đúng thời điểm hết hạn nhận false thay vì true. Lần chạy đầu có 2 test thành công, 1 test thất bại; lệnh test kết thúc với mã 1.
Mình gọi thủ công Stop hook thật của OMA. Hook chạy lại test và xuất JSON chứa "decision":"block". Sau đó mình sửa phép so sánh:
- return now > expiresAt;
+ return now >= expiresAt;
Cả 3 test đều thành công sau sửa đổi. Khi gọi Stop hook lần nữa, đầu ra chuẩn trống và trạng thái workflow của fixture được xóa. Nhật ký ghi gate.passed và session.ended với lý do completion_gate_passed.
Một chi tiết cần chú ý: tiến trình hook trả mã 0 trong cả hai lần. Không thể dùng riêng mã thoát đó để biết gate đã thông qua chưa. Cần đọc kết quả test, JSON của hook và thay đổi trạng thái.
Phạm vi của bằng chứng
Gist công khai có transcript, bản diff, kết quả xác minh và script tái hiện. Phiên bản mã nguồn OMA trong thử nghiệm là 15.0.13. Video minh họa đầu ra thực tế; đây không phải bản ghi phiên agent tự làm việc hoặc sự cố production. Hook được gọi thủ công, và phép so sánh được sửa trong quy trình thử nghiệm.
Để đối chiếu tuyên bố hoàn tất với test hiện có, hãy thử trên dự án nhỏ có lỗi đã biết. Quan sát phản hồi chặn, sửa lỗi rồi chạy lại. Test xanh chỉ xác nhận các trường hợp đã kiểm tra, không chứng minh toàn bộ phần mềm đúng.
Để cài CLI và cấu hình hook/gate, chuẩn bị Bun, uv và Serena rồi chạy:
bunx oh-my-agent@latest
oma doctor
npx skills add first-fluke/oh-my-agent chỉ cài skill, không cài đầy đủ hook và gate của ví dụ này. Sau khi kiểm tra môi trường bằng oma doctor, cần cấu hình lệnh phù hợp với dự án.
Mã nguồn và hướng dẫn OMA được công bố theo giấy phép MIT.
Bài viết có AI hỗ trợ soạn thảo, dịch và biên tập. Mô tả kỹ thuật dựa trên nhật ký và kết quả xác minh công khai.
All rights reserved