0
0
Lập trình
NM

So sánh quy trình làm việc: Claude Code và Codex

Đăng vào 5 tháng trước

• 8 phút đọc

Chủ đề:

#ai#webdev#mcp#llm

So sánh quy trình làm việc giữa Claude Code và Codex

Mục lục

  1. Giới thiệu
  2. Cách thử nghiệm
  3. Rube MCP - Máy chủ MCP Đa năng
  4. So sánh mã
  5. Chi phí (token + thời gian)
  6. Kết luận
  7. Câu hỏi thường gặp

Giới thiệu

Trong những ngày gần đây, có rất nhiều sự chú ý xoay quanh Codex của OpenAI. Đồng thời, Claude Code cũng đang phát triển từng ngày để trở thành một AI Agent hoàn hảo với nhiều tính năng như subagents, lệnh slash, hỗ trợ MCP và nhiều hơn nữa. Trong bài viết này, chúng ta sẽ so sánh hiệu suất của hai công cụ này trong cùng một nhiệm vụ.

Claude Code đi kèm với hỗ trợ MCP gốc và cửa sổ ngữ cảnh rộng rãi. Codex gần đây đã thêm hỗ trợ cho MCP dựa trên stdio, nhưng vẫn thiếu hỗ trợ trực tiếp cho các điểm cuối HTTP cho MCPs. Để đảm bảo rằng các MCP của chúng tôi hoạt động, tôi đã viết một lớp proxy đơn giản để Codex có thể sử dụng các MCP như Figma, Jira, GitHub và nhiều hơn nữa. Bạn có thể tìm thấy mã tại rube-mcp-adapter-auth.js.

Cách thử nghiệm

Tôi đã chạy cả hai agent qua các thử thách giống hệt nhau:

  • Công cụ: Rube MCP + Figma
  • Ngôn ngữ: TypeScript
  • Đo lường: Sử dụng token, thời gian, chất lượng mã, trải nghiệm lập trình
  • Cả hai agent nhận cùng một prompt để đảm bảo tính công bằng.

Rube MCP - Máy chủ MCP Đa năng

Rube MCP (do Composio phát triển) là lớp kết nối đa năng cho các bộ công cụ MCP như Figma, Jira, GitHub và nhiều hơn nữa. Bước kết nối như sau:

  1. Truy cập rube.composio.dev
  2. Nhấn "Add to Claude Code"
  3. Sao chép lệnh, chạy trong terminal của bạn, sau đó chạy /mcp để xác thực máy chủ Rube MCP của bạn. Sau khi hoàn tất, bạn có thể bắt đầu sử dụng các công cụ.

Đối với Codex, chúng ta sẽ tái sử dụng cùng một mã thông báo xác thực qua lớp proxy, thiết lập tệp rube-mcp-adapter-auth.js từ repo. Xem tài liệu cấu hình Codex tại đây nếu bạn muốn kiểm soát nhiều hơn.

Tệp của bạn config.toml nên chứa:

Copy
[mcp_servers.rube]
command = "node"
args = ["your-path-to/rube-mcp-adapter-auth.js"]

So sánh mã

Vòng 1: Sao chép thiết kế Figma

Tôi đã chọn một trang đích phức tạp từ Figma Community và yêu cầu cả hai agent tái tạo nó bằng Next.js và TypeScript. Bạn có thể tìm thấy thiết kế Figma tại đây.

Prompt:

Copy
Recreate the Figma landing page at [FIGMA_URL] in Next.js + TypeScript using TailwindCSS v4 only (no config file).
Follow a modular structure (components/layout/*, components/ui/*, components/sections/*), ensure pixel-accurate fidelity (typography, spacing, shadows, colors), and make it fully responsive (desktop, tablet, mobile).
No inline styles or third-party UI libraries.
Extract reusable components for repeated Figma elements, and enforce strict TypeScript types (no any).
Goal: A clean, maintainable, production-ready codebase that mirrors the Figma design as close as possible.

Tôi không xây dựng nền tảng phát triển đầy đủ ở đây, chỉ sao chép một trang đích lớn để xem mỗi agent có thể đạt được độ chính xác đến đâu.

Kết quả của Claude Code

Claude Code (Sonnet 4) đã cung cấp một ứng dụng Next.js hoạt động nhưng đã bỏ qua chủ đề màu vàng hoàn toàn. Nó đã nắm bắt cấu trúc thiết kế ở một mức độ nào đó và thậm chí xuất hình ảnh từ thiết kế Figma, nhưng độ chính xác về mặt hình ảnh thì không hài lòng. Bố cục đã có đó nhưng màu sắc, khoảng cách và kiểu chữ khác biệt rõ rệt so với bản gốc.

  • Tokens: sử dụng nhiều hơn Codex.. 6,232,242 tokens để chính xác.
  • Thời gian: Lâu hơn do phải lặp lại nhiều lần.
  • Độ chính xác thiết kế: Một phần - bỏ lỡ các yếu tố chủ đề chính.

Kết quả của Codex

Codex (GPT-5 Medium) đã tạo ra một phiên bản riêng của trang đích. Nó không sao chép chủ đề, bố cục hoặc các thành phần từ thiết kế gốc. Thay vào đó, nó đã xây dựng một trang đích có vẻ tốt từ đầu mà không có xuất hình ảnh. Kết quả là hoạt động nhưng hoàn toàn khác với thiết kế Figma.

  • Tokens: ít hơn Claude Code (tức là, 1,499,455 tokens)
  • Thời gian: ~10 phút
  • Độ chính xác thiết kế: Không - tạo ra thiết kế gốc.

Claude Code đã nắm bắt nhiều hơn thiết kế gốc nhưng đã bỏ lỡ các yếu tố quan trọng. Codex nhanh hơn và rẻ hơn nhưng hoàn toàn bỏ qua yêu cầu thiết kế.

Vòng 2: Thử thách lập lịch công việc

Đối với nhiệm vụ thứ hai, tôi đã dành nhiều thời gian để quyết định điều này, có thể không phải là tốt nhất, nhưng đây là những gì tôi có cho đến bây giờ. PS: Đề xuất cho tôi một số ý tưởng cho các blog mới.

Tôi đã đưa ra một thử thách phức tạp trong TypeScript: xây dựng một bộ lập lịch cron có nhận thức về múi giờ với khả năng lưu trữ và thực hiện bù. Điều này kiểm tra thiết kế hệ thống, xử lý múi giờ và cấu trúc mã sẵn sàng cho sản xuất.

Prompt:

Copy
Build a lightweight job scheduler in TypeScript (Node.js) with the following requirements:
- Supports cron-style expressions (e.g., "09**1" = every Monday at 9AM).
- Must be timezone-aware: jobs scheduled in "America/New_York" vs "Asia/Kolkata" should trigger at correct local times even if the server runs in UTC.
- Implement a persistence layer (SQLite or JSON file) so scheduled jobs survive restarts.
- On startup, the scheduler must detect missed jobs (e.g., if server was down at scheduled time) and run catch-up executions.
- Provide a clean TypeScript interface with addJob, removeJob, listJobs methods.
- Include at least one example job (e.g., log "Hello World" daily at 9 AM in two different timezones).
- Must be written in modular, production-ready TypeScript (no any, no inline hacks).
- Optimize for readability + maintainability.

Bạn có thể chạy cả hai dự án bằng cách sao chép repo tại đây.

Kết quả của Claude Code

Claude Code đã cung cấp một giải pháp toàn diện với tài liệu chi tiết và các bước lý luận. Nó đã cung cấp các giải thích chi tiết, bình luận tuyệt vời cho các phần mã điển hình, và các trường hợp thử nghiệm tích hợp. Việc triển khai rất đầy đủ với xử lý lỗi thích hợp, tắt mềm và cấu trúc sẵn sàng cho sản xuất.

  • Tokens: 234,772. Sử dụng token cao hơn do giải thích chi tiết.
  • Thời gian: Lâu hơn do cách tiếp cận toàn diện.
  • Chất lượng mã: Sẵn sàng cho sản xuất với tài liệu chi tiết.

Kết quả của Codex

Codex ngắn gọn và trực tiếp hơn. Nó đã xây dựng một bộ lập lịch cron có nhận thức về múi giờ với khả năng lưu trữ JSON và chức năng thực hiện bù. Giải pháp rất sạch sẽ và hoạt động nhưng với ít giải thích hơn. Nó tập trung vào việc hoàn thành công việc một cách hiệu quả.

  • Tokens: 72,579. Sử dụng token thấp hơn, nhưng ngắn gọn hơn.
  • Thời gian: ~15 phút.
  • Chất lượng mã: Sạch sẽ và hoạt động.

Cả hai đều cung cấp giải pháp hoạt động. Claude Code đã cung cấp nhiều giá trị giáo dục và tài liệu toàn diện, trong khi Codex thì hiệu quả và trực tiếp hơn.

Chi phí (token + thời gian)

Số liệu thay đổi tùy theo độ phức tạp của nhiệm vụ, nhưng hành vi tương đối nhất quán:

  • Nhiệm vụ Figma: Claude Code sử dụng nhiều token hơn đáng kể do lý luận chi tiết và xuất hình ảnh; Codex hiệu quả hơn.
  • Nhiệm vụ lập lịch: Claude Code cung cấp tài liệu toàn diện nhưng sử dụng token cao hơn; Codex ngắn gọn và nhanh hơn.
  • Tổng thể: Claude Code (Sonnet 4) ~2-3 lần Codex (GPT-5 Medium) về việc sử dụng token.

Sử dụng chính xác cho đến nay, Figma: Claude Code 6,232,242; Codex 1,499,455. Lập lịch: Claude Code 234,772; Codex 72,579.

Kết luận

Cả hai đều có thể xây dựng ứng dụng với MCP trong một ngày, nhưng chúng tiếp cận nhiệm vụ theo cách khác nhau:

Điểm mạnh của Claude Code

  • Độ chính xác thiết kế tốt hơn với Figma (khi nó làm theo hướng dẫn)
  • Tài liệu và lý luận toàn diện hơn
  • Cấu trúc mã sẵn sàng cho sản xuất
  • Giá trị giáo dục với các giải thích chi tiết

Điểm mạnh của Codex

  • Tạo ra nhanh hơn
  • Sử dụng token hiệu quả hơn
  • Giải pháp trực tiếp, ngắn gọn
  • Tốt cho việc "bắt đầu nhanh chóng"

Theo quan điểm của tôi, hãy sử dụng Codex nếu bạn muốn một nguyên mẫu nhanh và rẻ, hoặc khi độ chính xác thiết kế không quan trọng. Chỉ sử dụng Claude Code nếu bạn quan tâm đến khả năng bảo trì, tài liệu và sẵn sàng cho sản xuất. Và cũng cho các nhiệm vụ nặng về thiết kế, Claude Code tốt hơn nhưng có thể bỏ lỡ các yếu tố chính (như chủ đề màu vàng) hoặc có thể là do các vấn đề hiệu suất gần đây với ClaudeAI.

Câu hỏi thường gặp

1. Claude Code và Codex khác nhau ở điểm nào?
Claude Code tập trung vào chất lượng mã và tài liệu trong khi Codex hiệu quả hơn trong việc tạo mã nhanh chóng.

2. Ai nên sử dụng Claude Code?
Claude Code thích hợp cho những ai cần tài liệu chi tiết và mã sẵn sàng cho sản xuất.

3. Codex có phù hợp cho dự án lớn không?
Codex có thể được sử dụng cho các dự án lớn nếu bạn cần tốc độ và không cần độ chính xác thiết kế cao.

4. Có thể tích hợp MCP vào dự án không?
Có, cả hai công cụ đều hỗ trợ tích hợp MCP.

Gợi ý câu hỏi phỏng vấn
Không có dữ liệu

Không có dữ liệu

Bài viết được đề xuất
Bài viết cùng tác giả

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào