Cách kết hợp Codex và Claude Code chỉ với plugin

Tóm tắt nhanh
Plugin openai/codex-plugin-cc do OpenAI phát hành cho phép gọi Codex ngay trong Claude Code để review code, phản biện thiết kế, nhận một task độc lập hoặc chuyển cả phiên làm việc sang Codex. Bài viết hướng dẫn cách cài plugin, phân biệt /codex:review, /codex:rescue và /codex:adversarial-review, đồng thời giải thích cách theo dõi tác vụ nền bằng status, result và cancel. Cách kết hợp này giảm đáng kể việc chuyển tab và sao chép context giữa hai công cụ. Tuy nhiên, người dùng cần phân vai rõ, giới hạn phạm vi và đặc biệt thận trọng với review gate vì vòng lặp Claude/Codex có thể tiêu hao limit rất nhanh.
Có ai đang dùng song song cả Codex lẫn Claude Code không? Mình mới phát hiện plugin Codex cho Claude Code do chính OpenAI phát hành. Nói thật là đến giờ mới biết nên cũng có cảm giác như người tối cổ. Điểm hay nhất là từ nay có thể gọi Codex ngay trong phiên Claude Code hiện tại để review code, phản biện hướng triển khai hoặc nhận riêng một tác vụ, không phải chuyển qua lại giữa nhiều tab và session như trước.
Plugin Codex cho Claude Code có gì đáng chú ý?
Plugin openai/codex-plugin-cc được thiết kế cho người đã quen làm việc trong Claude Code nhưng muốn tận dụng thêm Codex. Thay vì để hai agent cùng nhảy vào chỉnh một file, bạn có thể phân vai rõ ràng: Claude Code triển khai, Codex kiểm tra; hoặc Claude Code giữ luồng chính còn Codex xử lý một vấn đề độc lập ở chế độ nền.
Theo tài liệu chính thức, plugin cung cấp ba nhóm khả năng. Nhóm review gồm /codex:review và /codex:adversarial-review. Nhóm giao việc có /codex:rescue. Nhóm quản lý phiên và tác vụ nền gồm /codex:transfer, /codex:status, /codex:result và /codex:cancel. Nhờ vậy, Codex trở thành một cộng sự nằm ngay trong workflow Claude Code thay vì là một cửa sổ tách rời.
Không phải một Codex runtime tách biệt
Plugin không tạo thêm một hệ thống Codex mới. Nó sử dụng Codex CLI và Codex app server đang cài trên máy, đồng thời dùng lại trạng thái đăng nhập, repository hiện tại và cấu hình trong config.toml. Điều này giúp việc tích hợp gọn hơn, nhưng cũng có nghĩa mọi lượt gọi vẫn được tính vào giới hạn sử dụng Codex của tài khoản.
Điều kiện trước khi cài
Bạn cần Node.js 18.18 trở lên và một tài khoản ChatGPT, kể cả gói Free, hoặc OpenAI API key. Nếu Codex CLI chưa có trên máy, lệnh /codex:setup có thể hướng dẫn cài; cách thủ công là chạy npm install -g @openai/codex. Nếu chưa đăng nhập, dùng !codex login ngay trong Claude Code.
Cách cài Codex plugin trong Claude Code
Quy trình cài đặt khá ngắn. Trong Claude Code, lần lượt chạy các lệnh sau:
/plugin marketplace add openai/codex-plugin-cc/plugin install codex@openai-codex/reload-plugins/codex:setup
Lệnh cuối kiểm tra Codex đã được cài và xác thực hay chưa. Sau khi hoàn tất, danh sách slash command của Codex sẽ xuất hiện trong Claude Code, đồng thời agent codex:codex-rescue cũng có mặt trong mục /agents.
Chạy thử ở chế độ nền
Một bài thử ít rủi ro là yêu cầu Codex review thay đổi hiện tại bằng /codex:review --background, sau đó dùng /codex:status để xem tiến độ và /codex:result để lấy kết quả. Review nhiều file có thể mất thời gian, vì vậy chạy nền sẽ không chặn luồng làm việc chính của Claude Code.
Ba cách phối hợp Codex và Claude Code hiệu quả
Giá trị của plugin không nằm ở việc có thêm một AI, mà ở cách phân vai. Nếu cả hai cùng sửa một khu vực mà không có ranh giới, bạn dễ gặp xung đột code, lặp phân tích và tốn context. Ba luồng dưới đây rõ trách nhiệm hơn.
Claude viết, Codex review
Đây là cách dễ áp dụng nhất. Sau khi Claude Code hoàn thành một tính năng, chạy /codex:review để Codex thực hiện review chỉ đọc. Lệnh này có thể kiểm tra thay đổi chưa commit hoặc so sánh branch với nhánh gốc bằng /codex:review --base main. Codex không sửa file trong chế độ này, nên bạn vẫn giữ quyền quyết định cuối cùng.
Ví dụ, Claude vừa thêm luồng thanh toán qua ba module. Thay vì yêu cầu Claude tự đánh giá lại phần việc của chính mình, hãy để Codex rà lỗi logic, trường hợp biên và tác dụng phụ giữa các file. Sau đó Claude Code có thể đọc nhận xét, chọn điểm hợp lý và sửa trong cùng phiên.
Giao hẳn một task cho Codex
Với một bài toán có thể tách độc lập, dùng /codex:rescue. Chẳng hạn: /codex:rescue --background điều tra nguyên nhân kiểm thử tích hợp không ổn định. Claude Code tiếp tục xử lý UI hoặc tài liệu, trong khi Codex điều tra test ở nền. Lệnh này hỗ trợ --background, --wait, --resume và --fresh, nên có thể tiếp tục một task trước đó hoặc buộc mở một lượt mới.
Điểm quan trọng là mô tả đầu ra và phạm vi file rõ ràng. Giao “sửa mọi thứ đang lỗi” cho Codex trong khi Claude cũng đang chỉnh toàn repository vẫn có nguy cơ đụng nhau. Một task tốt nên có mục tiêu cụ thể, tiêu chí hoàn thành và vùng code sở hữu riêng.
Dùng adversarial review để chất vấn hướng phát triển dự án
/codex:adversarial-review phù hợp khi bạn không chỉ muốn bắt bug mà còn muốn chất vấn quyết định thiết kế. Có thể thêm trọng tâm, ví dụ: /codex:adversarial-review --base main challenge the caching and retry design. Codex sẽ soi giả định ẩn, trade-off, phương án thay thế và các rủi ro như mất dữ liệu, race condition, rollback hoặc độ tin cậy.
Nói vui thì đây là lúc hai ông có thể “cãi nhau ỏm tỏi”, nhưng tranh luận chỉ hữu ích khi có người cầm trịch. Hãy đặt câu hỏi hẹp, yêu cầu bằng chứng và chốt tiêu chí ra quyết định; nếu không, phiên phản biện rất dễ biến thành chuỗi ý kiến nối tiếp mà không tạo ra thay đổi thực tế.
Chuyển phiên và quản lý tác vụ nền
Plugin còn giải quyết một vấn đề quen thuộc: đã thảo luận dài trong Claude Code nhưng muốn chuyển nguyên mạch công việc sang Codex. /codex:transfer tạo một Codex thread bền vững từ phiên Claude Code hiện tại và trả về lệnh codex resume <session-id>. Nhờ đó, bạn không phải viết lại toàn bộ bối cảnh bằng tay.
Khi nào nên dùng transfer
Hãy dùng transfer khi task đã vượt khỏi một lần review ngắn và bạn muốn tiếp tục trực tiếp trong Codex App hoặc TUI. Ví dụ, Claude Code đã cùng bạn điều tra kiến trúc trong một phiên dài, nhưng giai đoạn tiếp theo cần Codex thực hiện nhiều vòng chỉnh sửa. Việc chuyển phiên giữ lại lịch sử có cấu trúc và giảm rủi ro mất các quyết định đã thống nhất.
Theo dõi, lấy kết quả và hủy tác vụ
Với task chạy nền, /codex:status cho biết tiến độ, /codex:result trả kết quả cuối cùng và session ID, còn /codex:cancel dừng job đang chạy. Ba lệnh này nghe đơn giản nhưng rất cần thiết để workflow nhiều agent không trở thành một hộp đen. Nếu task đi sai hướng, hủy sớm thường tiết kiệm limit hơn chờ kết quả rồi làm lại.
Cẩn thận vòng lặp review và giới hạn sử dụng
Review gate mạnh nhưng cần giám sát
Kịch bản dễ gặp là Codex nêu vấn đề, Claude sửa, Codex review lại và phát hiện một điểm mới; chu kỳ tiếp tục vì tiêu chí “đủ tốt” chưa được định nghĩa. Đây chính là phiên bản tự động của việc để hai agent review qua lại liên tục. Chi phí không chỉ là limit mà còn là thời gian và nguy cơ thay đổi quá mức một bản vá vốn đã ổn.
Một bộ nguyên tắc vận hành an toàn
- Phân vai trước khi chạy: một agent triển khai, một agent review hoặc một agent sở hữu một task độc lập.
- Giới hạn phạm vi: nêu rõ branch, file, loại rủi ro và tiêu chí hoàn thành.
- Ưu tiên chạy nền cho review nhiều file, nhưng kiểm tra trạng thái định kỳ.
- Chỉ bật review gate khi đang chủ động theo dõi và tắt bằng
/codex:setup --disable-review-gatesau khi hoàn tất. - Không yêu cầu Claude review lại toàn bộ kết quả Codex rồi tiếp tục yêu cầu Codex review toàn bộ phần sửa của Claude nếu chưa có điểm dừng rõ ràng.
- Dùng
/codex:cancelkhi task lệch hướng thay vì cố cứu một vòng chạy tốn kém.
Làm sao kết hợp Codex và Claude Code hiệu quả?
Trước đây mình thường mở Codex và Claude Code song song, đôi lúc còn để cả hai cùng nhảy vào một file để tiết kiệm thời gian. Plugin chính chủ của OpenAI tạo ra cách làm gọn hơn: Claude Code giữ vai trò điều phối, Codex vào review, phản biện hoặc nhận task riêng mà không cần chuyển tab liên tục. Bắt đầu tốt nhất là cài plugin, chạy một lượt /codex:review --background trên dự án nhỏ và quan sát cách ba lệnh status, result, cancel hoạt động. Khi đã quen mới thử rescue, transfer và review gate. Hai AI có thể bổ trợ nhau rất tốt, miễn là con người vẫn đặt ranh giới, ngân sách và điểm dừng.



