So sánh DeepSeek Harness và Claude Code: Có gì thay đổi khi dùng cùng một mô hình?

Hầu hết các so sánh giữa những agent lập trình đều trở thành cuộc cạnh tranh về tốc độ, giá cả, số lượng công cụ hoặc điểm chuẩn. Cách tiếp cận đó bỏ qua câu hỏi quan trọng nhất: Nhà phát triển có thể thay thế bao nhiêu phần của quá trình thực thi tự động?

DeepSeek HarnessClaude Code trả lời câu hỏi đó ở các lớp khác nhau. Harness cung cấp các model adapter, bộ nhớ, sandbox và agent loop dưới dạng plugin. Claude Code đóng gói vòng lặp tích hợp sẵn của nó xung quanh Claude và thêm các điểm mở rộng cho quy trình làm việc. Ranh giới này quan trọng hơn ở đây so với việc so sánh DeepSeek và Claude như những mô hình riêng lẻ.

Cả hai công cụ cùng được cung cấp một kho lưu trữ bị lỗi và cùng một mô hình Claude để xem quá trình thực thi tự động đã thay đổi như thế nào. Một nghiên cứu trường hợp không thể xếp hạng các sản phẩm, nhưng nó cho thấy lý do tại sao harness không phải là chi tiết phụ. Bài viết sẽ tập trung vào sự khác biệt trong lựa chọn mô hình, thiết lập, xác minh, nhật ký và chi phí.

So sánh nhanh DeepSeek Harness và Claude Code

Tiêu chí

DeepSeek Harness

Claude Code

Định nghĩa

Agent runtime với các phần có thể thay thế

Agent lập trình đóng gói sẵn

Giấy phép và trạng thái

MIT, bản xem thử dành cho nhà phát triển, chưa có bản phát hành ổn định

Sản phẩm độc quyền, sản phẩm thương mại

Các mô hình

DeepSeek, Anthropic, OpenAI, Bedrock, Vertex, Azure, cục bộ

Claude, trực tiếp hoặc thông qua Bedrock và Vertex

Vòng lặp có thể thay thế

Có, đó là một mục plugin mà bạn có thể ghi đè

Không, các extension được gắn quanh nó

Đơn vị mở rộng

Plugin Cordis, bất kỳ khả năng nào tại thời điểm thực thi

Plugin tích hợp các skill, hook, agent và MCP

Lịch sử chạy

Nhật ký sự kiện có định kiểu, chỉ cho phép ghi thêm và có thể phát lại

Transcript JSONL, checkpoint, OpenTelemetry

Bề mặt

Giao diện web cục bộ, CLI headless, SDK Python

Terminal, IDE, desktop, web, Slack, CI

Thiết lập

Yêu cầu cấu hình nhà cung cấp và sự quen thuộc với các profile

Thiết lập mặc định tối giản; các quyền, hook, MCP và cấu hình dự án tùy chọn

DeepSeek Harness là gì?

DeepSeek Harness là một harness mã nguồn mở dành cho agent, hiện đang ở giai đoạn thử nghiệm dành cho nhà phát triển (developer preview). Nó cung cấp môi trường thực thi để các mô hình sử dụng công cụ và ngữ cảnh, đồng thời hỗ trợ chạy các mô hình từ những nhà cung cấp khác ngoài DeepSeek. Tài liệu README của dự án cũng lưu ý rằng các bản cập nhật có thể làm gián đoạn hoặc gây lỗi cho những thiết lập hiện có.

Claude Code là gì?

Claude Code là agent lập trình và nền tảng hỗ trợ agent độc quyền của Anthropic, được thiết kế để sử dụng cục bộ hoặc trong môi trường được quản lý trên nhiều nền tảng như terminal, IDE, ứng dụng desktop, web, Slack và CI.

Giao diện dòng lệnh (CLI) được khởi chạy bằng lệnh claude ngay trong thư mục dự án. Thư mục này trở thành phạm vi truy cập file mặc định, và phiên làm việc sẽ đọc các hướng dẫn dự án từ file CLAUDE.md. Người dùng có thể mở rộng phạm vi truy cập file hoặc bổ sung các dịch vụ bên ngoài sau đó.

Anthropic cung cấp các giao diện này như những phương thức để truy cập Claude Code. Các phiên làm việc cục bộ (local) chạy trực tiếp trên máy tính của bạn. Các phiên làm việc trên đám mây (cloud) chạy trong môi trường được quản lý hoặc trên máy chủ do tổ chức của bạn vận hành. Tính năng Remote Control cho phép trình duyệt điều phối các tác vụ đang thực hiện cục bộ.

So sánh kiến trúc và khả năng kiểm soát giữa DeepSeek Harness và Claude Code

DeepSeek Harness cho phép thay thế các thành phần runtime ở cấp độ thấp hơn. Claude Code giữ nguyên vòng lặp xử lý tích hợp sẵn và hỗ trợ mở rộng các tính năng xoay quanh nó.

Runtime có thể thay thế so với agent đóng gói sẵn

DeepSeek Harness coi runtime là cơ sở hạ tầng có thể cấu hình: Các model adapter, bộ nhớ, môi trường sandbox và vòng lặp xử lý đều có thể thay đổi thông qua những mục profile. Claude Code giữ cố định vòng lặp tích hợp và mở rộng quy trình làm việc xoay quanh nó.

DeepSeek Harness có thể tận dụng cơ chế này để thay đổi nhà cung cấp mô hình hoặc các thành phần runtime khác. Khái niệm "plugin" ở đây cũng có phạm vi khác biệt:

  • Plugin của Claude Code đóng gói các tính năng xoay quanh vòng lặp xử lý.
  • Plugin của DeepSeek Harness có thể định nghĩa chính các thành phần của runtime.

Hỗ trợ mô hình và lựa chọn nhà cung cấp

DeepSeek Harness hỗ trợ nhiều nhà cung cấp mô hình hơn. Nó vận hành được những mô hình từ DeepSeek, Anthropic, OpenAI, các nhà cung cấp dịch vụ đám mây và các endpoint cục bộ tương thích. Claude Code thì... chỉ chạy Claude. Nói cách khác, DeepSeek Harness có thể chạy Claude, nhưng Claude Code không thể chạy DeepSeek.

Chính điều này cho phép người dùng giữ nguyên mô hình khi thực hiện kiểm thử. Nếu so sánh mô hình DeepSeek trên Harness với Claude trên Claude Code, ta sẽ thay đổi hai biến số cùng lúc.

Việc lựa chọn nhà cung cấp đòi hỏi phải thiết lập thông tin xác thực và endpoint, bao gồm cả ID mô hình chính xác. Claude Code kiểm soát dòng mô hình và hầu hết các hành vi gửi yêu cầu.

Thay đổi nhà cung cấp không đảm bảo hành vi sẽ hoàn toàn giống hệt nhau. Các mô hình có thể hỗ trợ những định dạng công cụ, kích thước ngữ cảnh hoặc cơ chế kiểm soát suy luận khác nhau. Harness vẫn duy trì các thiết lập plugin bao quanh, nhưng provider adapter vẫn phải tương thích với endpoint đã chọn.

Nhật ký phiên làm việc và khả năng truy xuất quá trình thực thi

DeepSeek Harness ghi lại các câu lệnh (prompt), dữ liệu ngữ cảnh được chèn vào, những lệnh gọi công cụ và quyết định cấp quyền vào một luồng sự kiện chỉ cho phép ghi thêm. Chế độ xem lộ trình (trajectory view) hiển thị nguồn gốc của từng bản ghi và hỗ trợ các tính năng: Tiếp tục, phân nhánh, tìm kiếm và phát lại.

Claude Code lưu trữ bản ghi dưới định dạng JSONL, hỗ trợ tiếp tục và phân nhánh, đồng thời xuất ra các dấu vết theo chuẩn OpenTelemetry.

Cả hai đều hiển thị lịch sử phiên làm việc, nhưng DeepSeek Harness hiển thị chi tiết hơn về quy trình thực thi (runtime path) trên giao diện người dùng.

Môi trường thực thi và quyền hạn

DeepSeek Harness sử dụng bubblewrap hoặc Landlock trên Linux, Seatbelt trên macOS và token bị giới hạn bởi ACL trên Windows. Nếu không thể khởi động môi trường sandbox, Harness sẽ dừng lệnh. Claude Code cung cấp các chế độ quyền hạn cùng với những quy tắc cho phép (allow), hỏi ý kiến ​​(ask) và từ chối (deny). Trong lần chạy thử này, môi trường sandbox trên Windows đã định hình quy trình xác minh và thời gian thực hiện.

Các nhãn truy cập có sự khác biệt, do đó không thể thiết lập hai hệ thống này hoàn toàn giống hệt nhau.

  • Các cấu hình quyền hạn mặc định của DeepSeek Harness bao gồm: chỉ đọc (read-only), ghi vào không gian làm việc (workspace-write) và toàn quyền truy cập (danger-full-access).
  • Claude Code tách biệt các tác vụ chỉnh sửa tự động, phê duyệt thủ công, lập kế hoạch và quyền truy cập lệnh dựa trên quy tắc. Công cụ này cũng tạo bản sao lưu nhanh (snapshot) các file trước khi chỉnh sửa để có thể hoàn tác mà không cần dùng Git.

Đối với các phiên làm việc Pro, Max và Team hiện tại trong terminal và VS Code, Auto là chế độ khởi động mặc định của Claude Code. Một bộ phân loại sẽ xem xét các hành động chạy ngầm. Bài kiểm tra này sử dụng trực tiếp lệnh acceptEdits, vì vậy cơ chế quyền hạn được áp dụng phản ánh cấu hình của bài kiểm tra thay vì cài đặt mặc định thông thường.

Sự khác biệt này rất quan trọng khi so sánh số lượng phê duyệt.

Vị trí thực thi cũng khác nhau. Harness chủ yếu chạy trên máy chủ lưu trữ giao diện Web UI của nó hoặc dưới dạng tiến trình chạy ngầm không giao diện (headless process). Claude Code có thể chạy cục bộ, trong môi trường đám mây do Anthropic quản lý hoặc trên cơ sở hạ tầng tự vận hành. Tính năng Remote Control bổ sung giao diện trình duyệt trong khi quá trình thực thi vẫn diễn ra cục bộ.

So sánh DeepSeek Harness và Claude Code trong thử nghiệm thực tế

Để xem liệu sự khác biệt về runtime có ảnh hưởng đến quá trình thực thi hay không, cả hai công cụ được giao cùng một lỗi TypeScript nằm ở một dòng codde duy nhất. Nếu bạn chỉ quan tâm đến kết quả về thời gian, đây là phần dành cho bạn.

Thiết lập thử nghiệm: Cùng mô hình, repository và câu lệnh (prompt)

Tác giả đã viết một thư viện TypeScript để theo dõi chuỗi thói quen với một dòng code bị lỗi. Thư viện này tính toán số ngày theo lịch bằng cách làm tròn số mili giây đã trôi qua.

  • Một lần hoàn thành lúc 23:50 theo sau bởi một lần lúc 00:10 bị hệ thống coi là cùng một ngày.
  • Một lần hoàn thành lúc 08:00 theo sau bởi một lần lúc 20:00 ngày hôm sau lại bị coi là bỏ lỡ một ngày.

10 bài kiểm tra cố định đã bộc lộ 3 lỗi sai.

Mỗi bản sao (clone) mới đều được cài đặt các dependency trước khi bắt đầu đo runtime. Cả hai agent đều nhận cùng một chỉ dẫn và sử dụng mô hình Claude Sonnet 5. Kho lưu trữ và câu lệnh được giữ nguyên; trong khi các công cụ, quyền hạn và cơ chế hoạt động của môi trường sandbox vẫn tuân theo đặc thù của từng sản phẩm.

Cấu hình quyền hạn không hoàn toàn tương đương nhau. DeepSeek Harness khởi động ở chế độ workspace-write (cho phép ghi vào không gian làm việc), nhưng môi trường sandbox trên Windows của nó lại không thể khởi động được. Giao diện web yêu cầu xác nhận, và quyền danger-full-access (quyền truy cập đầy đủ rủi ro cao) được cấp 3 lần. Claude Code sử dụng chế độ accept-edits (chấp nhận chỉnh sửa) và chỉ có thể chạy lệnh kiểm tra thông qua bash.

Nhiệm vụ cụ thể này chỉ sử dụng code và các bài kiểm tra cục bộ. Các agent cần tìm và chỉnh sửa một dòng code lỗi, sau đó chạy bộ kiểm tra. Các dependency đã được cài đặt trước khi đo thời gian, mặc dù Harness vẫn chọn chạy lại lệnh npm install.

Kết quả thử nghiệm: Bản vá giống hệt nhau, quy trình xác nhận khác nhau

Claude Code mất 55,0 giây. Nó đã chạy bộ kiểm tra, tìm ra lỗi, chỉnh sửa một file nguồn và chạy lại các bài kiểm tra. Kết quả là cả 10/10 bài kiểm tra đều đạt yêu cầu.

Trong thử nghiệm trên Windows này, DeepSeek Harness mất 125,4 giây. Nó cũng tìm thấy hàm hỗ trợ `daysBetween` (vốn không được sử dụng trước đó), thực hiện cùng một chỉnh sửa và chạy thành công bộ kiểm tra ban đầu.

Các thay đổi (diff) giống hệt nhau đến từng byte:

-import { DAY_MS } from './dates.js';
+import { daysBetween } from './dates.js';
 
 function gapInDays(earlier: number, later: number): number {
-  return Math.round((later - earlier) / DAY_MS);
+  return daysBetween(earlier, later);
 }

Quy trình xác nhận và các thao tác lặp lại trên shell là nguyên nhân chính dẫn đến sự chênh lệch về thời gian.

Tại sao DeepSeek Harness mất nhiều thời gian hơn trên Windows?

Tính năng Sandbox ghi vào workspace của DeepSeek Harness không thể khởi động trên Windows, do đó giao diện web đã yêu cầu cấp quyền ở mức rộng hơn 3 lần. Sau khi được cấp quyền, Harness đã chạy bộ kiểm thử ban đầu, chỉnh sửa file src/streak.ts và chạy lại bộ kiểm thử đó. Kết quả là cả 10 bài kiểm tra đều vượt qua.

Kết quả này không phản ánh hiệu suất của Harness trên Linux hay macOS. Vì cả hai lần chạy đều sử dụng cùng một ID mô hình, sự chênh lệch về thời gian không thể bắt nguồn từ sự khác biệt giữa các dòng mô hình. Tuy nhiên, các thiết lập về quyền hạn và đường dẫn công cụ khác nhau vẫn ảnh hưởng đến từng lần chạy.

Kết quả từ Claude Code và DeepSeek Harness cho thấy cùng một bản vá và 10 bài kiểm tra đạt yêu cầu
Kết quả từ Claude Code và DeepSeek Harness cho thấy cùng một bản vá và 10 bài kiểm tra đạt yêu cầu

Những yếu tố được tách biệt trong bài kiểm tra sử dụng cùng một mô hình

Việc sử dụng chung ID mô hình không đồng nghĩa với việc các yêu cầu gửi đi là hoàn toàn giống nhau. Mỗi sản phẩm đều cung cấp các thiết lập riêng về câu lệnh hệ thống, mô tả công cụ, ngữ cảnh và quy tắc cấp quyền. Bất kỳ yếu tố nào trong số đó đều có thể ảnh hưởng đến phản hồi tiếp theo của mô hình.

Do đó, phương pháp thiết lập này kiểm soát biến số về dòng mô hình tốt hơn so với việc so sánh trực tiếp mô hình DeepSeek với Claude, nhưng nó vẫn chưa tách biệt được hoàn toàn mọi biến số khác.

Ngoài ra, ví dụ chỉ thực hiện một lần chạy có đo thời gian cho mỗi cấu hình. Cần phải thực hiện nhiều lần chạy theo thứ tự ngẫu nhiên trước khi có thể coi các chỉ số về thời gian hoặc số lượng công cụ là thước đo hiệu suất ổn định.

So sánh chi phí, điểm chuẩn và giới hạn thử nghiệm giữa DeepSeek Harness và Claude Code

Một trường hợp thử nghiệm trên Windows không thể giải quyết toàn bộ vấn đề so sánh về hiệu năng hay giá cả. Tuy nhiên, nó cho thấy lý do tại sao các chi tiết về điểm chuẩn (benchmark) lại quan trọng.

Lưu ý về điểm chuẩn: DeepSeek sử dụng chế độ Minimal 

Điểm số do DeepSeek công bố được thực hiện ở chế độ Minimal, không phải chế độ Standard (Tiêu chuẩn) được dùng trong bài so sánh này. Các thử nghiệm độc lập sử dụng một harness khác đã ghi nhận kết quả thấp hơn. Kết quả ở chế độ Minimal không phản ánh hiệu năng của chế độ Standard và không đo lường được hiệu năng của Claude Code.

Chi phí: Phí API so với gói đăng ký Claude

DeepSeek Harness không thu phí bản quyền, nhưng vẫn phát sinh chi phí cho mô hình và cơ sở hạ tầng. API của DeepSeek áp dụng mức giá khác nhau cho giờ cao điểm và thấp điểm. Claude Code được bao gồm trong các gói trả phí của Claude. Hãy kiểm tra trang giá của Anthropic trước khi lập ngân sách.

Chi phí chạy Harness là khoảng 0,11 USD theo bảng giá API của Anthropic. Claude Code hiển thị mức 0,349 USD khi sử dụng thông tin đăng nhập của gói thuê bao. Do các con số này đến từ những hệ thống thanh toán khác nhau, chúng không thể dùng để so sánh giá trực tiếp.

Các gói cá nhân của Claude bao gồm gói Pro (20 USD/tháng) và các gói Max (100 USD hoặc 200 USD/tháng), trong khi DeepSeek Harness không có gói đăng ký tương ứng; nhà cung cấp mô hình sẽ gửi hóa đơn thanh toán. Việc sử dụng các mô hình chạy cục bộ giúp loại bỏ phí API nhưng vẫn tiêu tốn tài nguyên tính toán của máy tính.

Các nhóm cũng cần tính đến chi phí cho môi trường sandbox được host và tài nguyên tính toán tự host nếu các dịch vụ này nằm ngoài hóa đơn thanh toán cho mô hình. Những chi phí này không nằm trong giấy phép sử dụng Harness.

Tính ổn định: Bản xem trước dành cho nhà phát triển so với sản phẩm chính thức

Harness vẫn đang ở giai đoạn "release candidate" trong quá trình thử nghiệm. Các nhóm nên cố định phiên bản gói vì những bản cập nhật có thể làm lỗi cấu hình hoặc các phiên làm việc đã lưu; trong khi đó, Claude Code đã là sản phẩm chính thức.

DeepSeek Harness và Claude Code: Nên chọn công cụ nào?

Hãy tạm gác lại tên gọi của các mô hình này. Nhiệm vụ của bạn là hoàn thiện code ứng dụng hay thay đổi chính môi trường runtime đang vận hành công việc đó?

Hãy chọn DeepSeek Harness nếu bản thân môi trường thực thi chính là dự án trọng tâm. Công cụ này phù hợp cho các bài kiểm thử đa nhà cung cấp, những vòng lặp hoặc môi trường sandbox tùy chỉnh, cũng như các tác vụ đòi hỏi dữ liệu chi tiết về quá trình thực thi. Việc công cụ này đang ở giai đoạn tiền phát hành (prerelease) đồng nghĩa với việc bạn cần chủ động quản lý các thay đổi về phiên bản và kiểm thử cấu hình.

Hãy chọn Claude Code nếu bạn đang làm việc trên một codebase có sẵn và muốn AI agent kiểm tra file, chỉnh sửa code cũng như chạy các quy trình kiểm tra của dự án mà không cần thiết lập môi trường thực thi quá phức tạp. Trong bài thử nghiệm trên Windows, Claude Code đã chạy được bộ kiểm thử gốc mà không cần đến ba bước xác nhận cấp quyền truy cập toàn diện như Harness yêu cầu.

Hãy sử dụng cả hai nếu quy trình làm việc thực tế đòi hỏi sự phân chia này. Một nhóm phát triển có thể dùng Claude Code cho các tác vụ lập trình hàng ngày, trong khi dùng Harness để thử nghiệm các câu lệnh (prompt), công cụ hoặc cơ chế vòng lặp của AI agent.

Thứ Tư, 09/09/2026 16:17
51 👨
Xác thực tài khoản!

Theo Nghị định 147/2024/ND-CP, bạn cần xác thực tài khoản trước khi sử dụng tính năng này. Chúng tôi sẽ gửi mã xác thực qua SMS hoặc Zalo tới số điện thoại mà bạn nhập dưới đây:

Số điện thoại chưa đúng định dạng!
Số điện thoại này đã được xác thực!
Bạn có thể dùng Sđt này đăng nhập tại đây!
Lỗi gửi SMS, liên hệ Admin
0 Bình luận
Sắp xếp theo
❖ Claude