Vừa rồi, DeepSeek Harness gây chấn động khi mã nguồn mở: Mọi thứ đều là plugin

marsbitXuất bản vào 2026-08-14Cập nhật gần nhất vào 2026-08-14

Tóm tắt

Hôm nay, DeepSeek đã chính thức mở mã nguồn DeepSeek Harness (phiên bản xem trước cho nhà phát triển), một framework xây dựng agent AI với triết lý thiết kế cốt lõi "mọi thứ đều là plugin". Dự án được xây dựng trên vi lõi Cordis, cho phép các nhà phát triển lắp ráp các agent thông minh với các khả năng khác nhau thông qua file cấu hình `cordis.yml` - từ chỉnh sửa file, chạy lệnh Shell, truy cập web, đến quản lý công việc và điều phối đa agent. DeepSeek Harness cung cấp nhiều giao diện: Web UI, TUI cho terminal, chế độ Headless cho tự động hóa và SDK cho Python. Web UI cung cấp 4 chế độ agent mẫu, từ "Chuẩn" đầy đủ tính năng đến "Sáng tạo" cho phép agent kiểm tra và sửa đổi thời gian chạy của chính nó một cách có kiểm soát. Một điểm nổi bật là thiết kế "Session Log" ghi lại toàn bộ sự kiện, đảm bảo trạng thái agent có thể được tái tạo hoàn toàn để gỡ lỗi và kiểm tra. Framework cũng nhấn mạnh bảo mật với các chính sách hạn chế quyền mặc định (workspace-write), cơ chế phê duyệt và nguyên tắc "fail-close". Với cấu trúc plugin triệt để, DeepSeek Harness không chỉ là một trợ lý lập trình khác, mà là một bộ SDK/bộ khung ứng dụng linh hoạt để xây dựng, vận hành và mở rộng các hệ thống agent, thể hiện tầm nhìn kỹ thuật sâu sắc của DeepSeek về tương lai của kỹ thuật agent AI.

Rạng sáng nay, DeepSeek V4 Pro phiên bản chính thức đã được phát hành, gây nên làn sóng nhiệt tình. Bây giờ, nửa ngày đã trôi qua, DeepSeek Harness(bản xem trước dành cho nhà phát triển) cũng đã đến!

Đương nhiên, điều này không có gì bất ngờ, bởi dự án này đã được chủ động chuẩn bị từ lâu, ví dụ như DeepSeek Harness đội ngũ của Thôi Thiêm Dực (Cui Tianyi) liên tục đăng bài tiết lộ sơ bộ và tuyển dụng nhân tài cho đội ngũ trên mạng xã hội.

Chúng tôi cũng đã có được tư cách thử nghiệm nội bộ của DeepSeek Harness vào đầu tháng 8, tận hưởng sớm khung làm việc trí tuệ nhân tạo (AI agent) chắc chắn sẽ mang lại sự thay đổi mới cho cộng đồng AI này.

Địa chỉ mã nguồn mở: https://github.com/deepseek-ai/deepseek-harness

Ví dụ ở đây, chúng tôi đã cấu hình DeepSeek Harness với DeepSeek -V4-Flash chính thức để xây dựng một trò chơi bắn súng zombie góc nhìn thứ nhất. Chúng tôi không can thiệp gì trong suốt quá trình, và sau hơn 30 phút đã có được một sản phẩm hoàn chỉnh dù chưa hoàn hảo nhưng đã khá có thể chơi được.

Xét đến việc gần đây ý tưởng tạo thế giới 3D bằng AI của Andrej Karpathy đang rất nổi, chúng tôi cũng để DeepSeek Harness(V4-Flash) thử thách chuẩn đánh giá "Hoa Cường mua dưa hấu": Dựa trên mô tả văn bản để tái hiện lại cảnh kinh điển "Hoa Cường mua dưa hấu" thành hoạt hình 3D (cũng là kết quả từ một lần nhắc duy nhất - one-shot prompt):

Nhìn chung, dù còn xa mới hoàn hảo, nhưng cốt truyện của hoạt hình này về cơ bản đã được tái hiện, mối quan hệ nhân vật cũng có thể nhận ra phần lớn. Ngược lại, hoạt hình do chúng tôi sử dụng cùng một prompt, được tạo ra bằng Codex (được cấu hình với GPT-5.6 sol-xhigh) thì kém hơn nhiều:

Cần biết rằng, quy mô tham số của DeepSeek -V4-Flash thấp hơn nhiều so với GPT-5.6 sol. Có thể thấy, DeepSeek Harness hẳn đã lập công lớn.

Hôm nay cùng với việc phát hành phiên bản chính thức của DeepSeek V4 Pro, chúng tôi cũng đã kết nối mô hình này vào DeepSeek Harness và chạy lại một lần nữa:

Hiệu quả thực sự tốt hơn một chút.

Tiếp theo, hãy xem cấu trúc dự án, rất đáng kinh ngạc:Kho lưu trữ đã chứa hơn 230 thành viên workspace, mã nguồn được phân bố ở các khu vực packages/, apps/, examples/, python/, native/, vendor/, website/, v.v. Hệ thống tệp, terminal, tiến trình con, PTY, máy chủ ngôn ngữ, truy cập web, kỹ năng, agent con, quy trình làm việc, chế độ kế hoạch, lưu trữ phiên làm việc, cài đặt, thông tin xác thực, telemetry, hầu như mỗi khả năng đều có gói riêng của nó.

Nếu so sánh dự án Agent thông thường như một máy tính đã được lắp ráp sẵn, thì DeepSeek Harness giống như một tấm ván lỗ (breadboard) có kích thước đáng kinh ngạc: mô hình, công cụ, giao diện, lưu trữ, chính sách bảo mật và quản lý ngữ cảnh đều có thể cắm vào, và cũng đều có thể rút ra.

Nó cung cấp một phương án lắp ráp mặc định, nhưng có thể thấy, điều mà DeepSeek thực sự muốn tạo ra không phải là một "trợ lý lập trình DeepSeek" có hình thái cố định, mà làmột cách thức lắp ráp các agent.

DeepSeek Harness là gì?

Trước tiên làm rõ một vấn đề dễ gây nhầm lẫn: DeepSeek Harness không phải là mô hình DeepSeek mới, cũng không chỉ đơn thuần là một client API. Nó làmột bộ SDK và framework ứng dụng dùng để xây dựng, chạy và mở rộng các agent, mặc định có thể kết nối với mô hình DeepSeek (cũng có thể dễ dàng tùy chỉnh để kết nối với các mô hình khác), cho phép mô hình đọc dự án, sửa tệp, chạy lệnh, quản lý tác vụ, phân công nhiệm vụ con, và tương tác với người dùng thông qua Web UI, terminal toàn màn hình, lệnh Headless hoặc giao thức tự động hóa.

DeepSeek Harness phiên bản web cung cấp cổng vào thuận tiện để cấu hình trực tiếp các dịch vụ mô hình khác, không yêu cầu người dùng chỉnh sửa tệp cấu hình thủ công

Cộng đồng AI ngày nay đã không còn xa lạ với từ Harness. Ý nghĩa nguyên bản của nó là yên ngựa, dây nịt, thiết bị hãm, v.v. Nếu trừu tượng hóa lên một chút, tác dụng của nó là kết nối sức mạnh vào cơ cấu có thể làm việc, đồng thời không để sức mạnh đó thoát khỏi kiểm soát. Cụ thể đến AI, Harness chịu trách nhiệm kết nối mô hình với hệ thống tệp, Shell, trình chỉnh sửa mã nguồn, trang web và các Agent khác, đồng thời ghi lại những gì nó đã làm, giới hạn những gì nó có thể làm, và quyết định thử lại, hủy bỏ, nén ngữ cảnh hay trả lại vấn đề cho người dùng khi xảy ra lỗi.

Điều này có lẽ cũng giải thích tại sao mã nguồn và số lượng gói của dự án này lại lớn như vậy, vì rốt cuộc các tác vụ và lựa chọn công cụ liên quan ở đây rất nhiều, bao gồm việc gọi công cụ có thể chạy song song hay không, lệnh hủy có thể thực sự dừng tiến trình con hay không, kết quả công cụ có làm ô nhiễm ngữ cảnh không, tin nhắn mới người dùng gửi đến trong khi mô hình đang chạy nên được chèn vào đâu, làm thế nào để xây dựng lại đầu vào mô hình lúc đó sau khi khôi phục phiên làm việc, agent con sở hữu những công cụ nào, việc ghi tệp có vượt qua phạm vi workspace không, nội dung nhìn thấy khi phát lại giao diện có thể nhất quán với chạy thời gian thực không.

DeepSeek Harness cố gắng biến tất cả những vấn đề này thành khả năng hệ thống chính thức.

Mọi thứ đều là plugin

Thiết kế nổi bật nhất của DeepSeek Harness là "Mọi thứ đều là plugin", thậm chí chính vòng lặp Agent (Agent Loop) cũng được coi là một plugin.

Dự án được xây dựng trên lõi vi mô Cordis, Harness đang chạy về bản chất là một Cordis Context. Các gói khác nhau đăng ký dịch vụ, sự kiện và khả năng vào Context, cuối cùng được tệp cấu hình kết hợp thành một agent có thể chạy.

packages/core/ là lõi của toàn bộ hệ thống, trong đó bao gồm Session, System Prompt, Tools, Agent và Agent Loop. Chúng giải quyết những vấn đề cơ bản nhất: phiên làm việc là gì, prompt hệ thống được lắp ráp như thế nào, công cụ được đăng ký và gọi ra sao, Agent được tạo như thế nào, và một lượt hội thoại đi từ đầu vào người dùng đến yêu cầu mô hình, thực thi công cụ và câu trả lời cuối cùng ra sao.

Bên ngoài lõi là một lượng lớn các gói khả năng:

  • packages/llm/ chịu trách nhiệm về bộ chuyển đổi mô hình (adapter) và đầu ra dạng luồng (stream);
  • packages/shell/, packages/subprocess/ và packages/terminal/ chịu trách nhiệm về lệnh một lần, cây tiến trình và terminal liên tục;
  • packages/fs/ chịu trách nhiệm đọc ghi tệp, chỉnh sửa, tìm kiếm và hạn chế chính sách;
  • packages/lsp/ kết nối máy chủ ngôn ngữ, cho phép Agent không chỉ tìm kiếm bằng văn bản mà còn có thể điều hướng mã nguồn ở cấp độ ngữ nghĩa;
  • packages/web/ chịu trách nhiệm tìm kiếm và thu thập dữ liệu web;
  • packages/skill/ quản lý kỹ năng có thể tái sử dụng;
  • packages/subagent/ và packages/workflow/ mở rộng một Agent đơn lẻ thành hệ thống đa agent có thể ủy quyền và sắp xếp.

Nhìn ra xa hơn, kế hoạch, mục tiêu, việc cần làm, tác vụ nền, nén ngữ cảnh, truy vấn phiên làm việc, tiêu đề phiên làm việc, thông tin xác thực, cài đặt người dùng, cơ chế phê duyệt và telemetry cũng được tách thành các khả năng độc lập. Điều thú vị nhất trong cấu trúc này, là nó thể hiện ý thức về ranh giới gần như cứng nhắc: ai sở hữu giao diện, ai chịu trách nhiệm triển khai, ai trình bày khả năng cho mô hình, cố gắng không trộn lẫn lại với nhau.

Tài liệu dự án chia các khả năng điển hình thành ba lớp: giao diện, triển khai và người tiêu dùng.

Lấy Bash làm ví dụ, giao diện định nghĩa "thực thi lệnh" là gì, triển khai cục bộ chịu trách nhiệm thực sự tạo tiến trình, còn gói công cụ hướng tới mô hình chịu trách nhiệm biến khả năng này thành schema và kết quả mà mô hình có thể hiểu. Trong tương lai nếu Shell cục bộ muốn đổi thành container từ xa, sandbox đám mây hoặc nền tảng thực thi doanh nghiệp, về lý thuyết chỉ cần thay thế lớp triển khai, mà không cần viết lại công cụ mô hình và vòng lặp Agent.

Đây là một tư duy framework điển hình. Nó sẽ khiến kho lưu trữ trông lớn trong giai đoạn đầu, nhưng cũng cho thấy mục tiêu của DeepSeek Harness không phải là làm ra một sản phẩm hoàn chỉnh chỉ có đội ngũ chính thức mới có thể bảo trì, mà là để các bên triển khai khác nhau có thể thay đổi mô hình, thay đổi lưu trữ, thay đổi chính sách bảo mật, thêm công cụ, thậm chí thay thế vòng lặp agent.

Ở đây, chúng ta cũng thấy DeepSeek luôn kiên trì vớimã nguồn mở thực sự!

cordis.yml

Một tệp cấu hình lắp ráp các Agent khác nhau

Kiến trúc plugin hóa cuối cùng thông qua cordis.yml đến tay nhà phát triển. Tệp cấu hình liệt kê tên plugin, ID ổn định và tham số, quyết định agent hiện tại cuối cùng sở hữu nhóm khả năng nào.

Cùng một bộ mã nguồn có thể được lắp ráp thành các hình thái sản phẩm hoàn toàn khác nhau. Thêm bộ chuyển đổi LLM của DeepSeek , hệ thống tệp, Bash và TUI, sẽ có được agent lập trình trong terminal; thay đổi giao diện tương tác thành plugin Web, sẽ có được ứng dụng trình duyệt; sử dụng cổng vào Headless, nó sẽ nhận một tác vụ, hoàn thành các lượt mô hình và công cụ, in câu trả lời rồi thoát; đổi thành cổng trước ACP hoặc JSON-RPC, nó lại có thể trở thành dịch vụ tự động hóa mà các chương trình khác có thể điều khiển.

Cấu hình cũng hỗ trợ lớp phủ. TUI và Web UI có thể chia sẻ một cấu hình cơ bản, sau đó chồng lên các plugin giao diện và tham số của riêng mình; cấu hình cá nhân nằm ở lớp cuối cùng. Bằng cách này, bên triển khai không cần sao chép toàn bộ cây cấu hình, chỉ cần thay thế plugin được chỉ định. Tuy nhiên cũng có một chi tiết cần lưu ý ở đây: bản vá cấu hình thay thế toàn bộ config của plugin mục tiêu, không phải hợp nhất sâu. Nếu chỉ viết một trường mới, API Key, địa chỉ cơ sở hoặc các tham số khác có thể biến mất cùng lúc. Nó rất rõ ràng, nhưng không nhất thiết phù hợp với trực giác của người dùng lần đầu.

Dự án còn cho phép đọc biến môi trường và biểu thức thời gian chạy thông qua !!js trong YAML, ví dụ lấy khóa từ DEEPSEEK_API_KEY. Cấu hình chỉ tham chiếu tên thông tin xác thực, khóa thực tế được phân tích khi gọi. Web UI sẽ ghi khóa vào $DSH_HOME/.credentials.yaml, còn biến môi trường và .env có thể là nguồn dự phòng trong tự động hóa hoặc phát triển cục bộ; khóa không nên được ghi trực tiếp vào cordis.yml hoặc đi vào nhật ký phiên làm việc.

Agent Loop

Không phải một vòng lặp, mà là một bộ quy tắc giao thông

Mã lõi của nhiều dự án Agent thời kỳ đầu có thể được đơn giản hóa thành vài dòng: gửi tin nhắn đến mô hình, nếu mô hình trả về lời gọi công cụ, thì thực thi công cụ, sau đó gửi kết quả về lại mô hình, cho đến khi mô hình xuất ra văn bản. DeepSeek Harness đương nhiên cũng làm việc này, nhưng nó tách quá trình này thành vòng đời nghiêm ngặt.

Một lượt đầu vào người dùng sẽ mở ra một Turn, một Turn có thể chứa nhiều Step; một Step tương ứng với một yêu cầu mô hình và việc thực thi công cụ tiếp theo của nó. Trước khi yêu cầu, hệ thống sẽ lắp ráp prompt hệ thống ổn định, môi trường thực thi hiện tại, schema công cụ và tin nhắn phiên làm việc; sau khi yêu cầu, chunk dạng luồng, tin nhắn hoàn chỉnh, lời gọi công cụ, kết quả công cụ và lý do kết thúc của mô hình sẽ đi vào luồng sự kiện.

Trò chơi bắn súng zombie nói trên đã thực hiện 3 turn, 127 step

Công cụ cũng không phải là "nhận được tên hàm là gọi". Nó sẽ trải qua chính sách tiền xử lý, biện pháp bảo vệ bảo mật không thể đảo ngược, thực thi thực tế, xử lý hậu kỳ, sắp xếp nội dung và thông báo kết quả. Cho phép hoặc từ chối, quá thời gian, thử lại, thống kê chỉ số, đính kèm ngữ cảnh, đều có thể được kết nối từ các vị trí khác nhau trong đường ống xử lý. Công cụ có thể khai báo rằng việc gọi ở dưới một loại tham số nào đó là an toàn để chạy đồng thời (concurrency-safe), bộ lập lịch sẽ để các tác vụ chỉ đọc liên tục chạy song song; một khi gặp phải lời gọi sửa đổi trạng thái hoặc không thể xác định tính an toàn, nó sẽ coi đó là rào cản, chờ các tác vụ trước đó kết thúc rồi thực thi độc quyền.

Thiết kế này trông có vẻ giống như lắp đặt hệ thống kiểm soát không lưu trên một con đường làng nhỏ, nhưng khi Agent bắt đầu đồng thời tìm kiếm mười tệp, chạy thử nghiệm, chấp nhận lệnh bổ sung của người dùng, và còn phải cho phép hủy bất cứ lúc nào, thì những quy tắc này sẽ nhanh chóng từ "thiết kế quá mức" trở thành "thứ muốn có sớm nhất trong báo cáo điều tra sự cố".

Nó còn xử lý nghiêm túc hướng đi của tin nhắn trong khi chạy. Nội dung mới người dùng gửi trong khi Agent đang làm việc, có thể là nhiệm vụ lượt tiếp theo, cũng có thể là lệnh chuyển hướng cho công việc hiện tại. Hệ thống phân biệt tin nhắn xếp hàng, tiêm vào ngữ cảnh và Steering, và xác nhận qua biên nhận xem một lệnh chuyển hướng cụ thể có thực sự đi vào một yêu cầu mô hình nào đó hay không. Nói cách khác, nó không chỉ quan tâm "tin nhắn đã nhận được", mà còn quan tâm "mô hình cuối cùng đã thấy nó ở bước nào".

Session Log

Nguồn thẩm quyền thực sự của toàn bộ hệ thống

Một thiết kế đáng chú ý khác của DeepSeek Harness là Session Log.

Dự án quy định, bất kỳ nội dung nào mô hình nhìn thấy, đều phải có thể xây dựng lại từ nhật ký. Tin nhắn người dùng, ngữ cảnh môi trường thực thi, thông tin yêu cầu mô hình, đầu ra dạng luồng, lời gọi và kết quả công cụ, sự kiện nén, chuyển đổi quyền hạn, lý do hủy bỏ, đều sẽ đi vào luồng phiên làm việc dạng nối thêm dưới dạng sự kiện. Giao diện, lưu trữ lâu dài, khôi phục, Fork, telemetry và phát lại, không nên tự duy trì một trạng thái "gần như đúng", mà nên được suy ra từ cùng một nguồn sự kiện.

Nguyên tắc này giải quyết một vấn đề rất khó khăn trong hệ thống Agent: khi một nhiệm vụ xảy ra lỗi, chúng ta cuối cùng có thể biết mô hình lúc đó đã nhìn thấy những gì không?

Nếu hệ thống chỉ lưu văn bản trò chuyện cuối cùng, nhiều yếu tố quan trọng sẽ bị mất. Có thể trước khi yêu cầu mô hình vừa tiêm trạng thái workspace, có thể kết quả công cụ đã bị cắt xén, có thể hệ thống tự động chuyển đổi định tuyến mô hình, có thể người dùng thay đổi hướng đi giữa lúc đầu ra dạng luồng. DeepSeek Harness sẽ lưu lại các bản ghi đủ để xây dựng lại tin nhắn tại ranh giới yêu cầu, chunk dạng luồng gốc cũng sẽ được giữ lại, để giao diện và phát lại duy trì nhất quán.

Bản thân việc lưu trữ lâu dài phiên làm việc vẫn là một plugin. Dự án cung cấp các backend như JSONL và SQLite, khả năng truy vấn có thể ưu tiên truy cập phiên làm việc thời gian thực, cũng có thể tìm kiếm toàn văn bản lịch sử qua SQLite. Resume sẽ tiếp tục công việc bằng phiên làm việc gốc, Fork thì suy ra phiên làm việc mới từ một ranh giới lịch sử xác định. Đối với nhà phát triển, điều này cung cấp nền tảng thống nhất cho việc gỡ lỗi, đánh giá, kiểm toán và tự động hóa.

Từ một Agent đến một nhóm Agent

DeepSeek Harness đã tích hợp sẵn nhiều khả năng agent con và quy trình làm việc.

Agent chính có thể ủy quyền nhiệm vụ cho agent con, agent con có thể là một phiên bản mới được tạo, cũng có thể Fork từ ranh giới hoàn thành của một phiên làm việc đã có, hoặc kết nối với tiến trình con bên ngoài thông qua ACP.

Trò chơi bắn súng zombie nói trên đã tạo ra 5 agent con chạy song song

Thiết kế phạm vi tác dụng ở đây rất quan trọng. Mỗi Agent sở hữu lớp ngữ cảnh riêng của mình, có thể nhìn thấy các công cụ, prompt và lệnh cụ thể. Một agent con nào đó có thể bị giới hạn chỉ làm tìm kiếm và phân tích, một agent con khác thì được phép sửa tệp. Các khả năng được đăng ký trong phạm vi tác dụng của Agent sẽ được dọn dẹp tự động theo vòng đời của Agent, không cần dựa vào quy ước tên toàn cục để duy trì sự cô lập.

Quy trình làm việc thì tiến xa hơn: nó cho phép dùng script để điều khiển việc sắp xếp đa agent, kết nối nhiều tác vụ con, đầu ra có cấu trúc và tiếp tục thực thi. Dự án đồng thời cung cấp mục tiêu, kế hoạch, việc cần làm và tác vụ nền, chúng không chỉ là bốn tiện ích con UI có tên gần giống nhau, mà thực ra là các trạng thái hợp tác có vòng đời khác nhau. Chế độ kế hoạch ghi lại giai đoạn hợp tác hiện tại, mục tiêu có thể tồn tại liên tục xuyên suốt cùng một phiên làm việc, việc cần làm cung cấp danh sách tác vụ nhẹ cho mô hình, tác vụ nền chịu trách nhiệm quản lý công việc thực tế vẫn đang chạy.

Điều này cho thấy Harness muốn bao phủ không chỉ là "lập trình hỏi một đáp một". Nó hy vọng hỗ trợ các tác vụ dài, điều tra song song, chạy tự động hóa và phối hợp với hệ thống bên ngoài. Còn việc mô hình có thể ổn định điều khiển nhiều cơ chế như vậy hay không, là một cuộc thử nghiệm khác; ít nhất framework đã làm ra tay lái, bảng điều khiển và phanh trước.

Web, TUI, Headless và SDK

Hướng tới người dùng thông thường, dự án đề xuất Web UI, mặc định lắng nghe http://127.0.0.1:3080. Nó cung cấp hội thoại, thanh bên phiên làm việc, lựa chọn quyền hạn, chế độ kế hoạch, thẻ công cụ và tương tác workspace.

Web UI còn cung cấp bốn chế độ cài đặt sẵn Agent. Chúng không phải là bốn Agent độc lập với nhau, cũng không chỉ thay đổi phong cách prompt, mà dựa trên cùng một máy chủ Harness, lắp ráp các công cụ, prompt và khả năng thời gian chạy khác nhau cho phiên làm việc hiện tại:

Chế độ tiêu chuẩn: Agent mã hóa đa dụng hoàn chỉnh nhất về chức năng, cung cấp chỉnh sửa tệp, Shell, truy xuất tệp và web, Skills, kế hoạch, mục tiêu, agent con và quy trình làm việc, phù hợp với phần lớn các tác vụ phát triển hàng ngày;

Chế độ PTC: Giữ lại toàn bộ khả năng của chế độ tiêu chuẩn, đồng thời trình bày công cụ cho mô hình thông qua SDK Code Mode. Mô hình có thể viết một chương trình TypeScript, kết hợp nhiều thao tác trong một lần run_code, giảm chi phí đi lại nhiều lần giữa mô hình và công cụ, phù hợp hơn với các tác vụ phức tạp có chuỗi gọi dài;

Chế độ cực giản: Chỉ cung cấp hai công cụ là Bash lưu trữ lâu dài và str_replace_editor. Tập hợp công cụ nhỏ hơn giảm bớt gánh nặng lựa chọn và ngữ cảnh, phù hợp với các tác vụ mã hóa có đường dẫn rõ ràng, mong muốn Agent trực tiếp thao tác;

Chế độ sáng tạo: Trên chế độ tiêu chuẩn, thêm vào kiểm tra thời gian chạy Cordis, thử nghiệm plugin tạm thời và hướng dẫn sáng tạo Agent preset. Agent không chỉ có thể sử dụng các công cụ hiện có, mà còn có thể khám phá và kết hợp lại thời gian chạy của chính mình, từ đó tạo ra các preset tùy chỉnh mới. Vì nó có thể chạy mã plugin do mô hình viết, đây là một chế độ tin cậy cao hướng tới người dùng nâng cao.

Nhóm cài đặt sẵn này có lẽ là biểu hiện sản phẩm hóa trực quan nhất của "Mọi thứ đều là plugin": định tuyến mô hình cơ bản, lưu trữ lâu dài phiên làm việc, sandbox và phê duyệt vẫn được cung cấp bởi máy chủ dùng chung, cài đặt sẵn chỉ quyết định cụ thể những khả năng nào được nạp vào trong một Agent Context. Cùng một Web UI, do đó có thể chuyển đổi từ Agent cực giản hai công cụ, sang chế độ tiêu chuẩn có thể sắp xếp agent con, thậm chí tiến xa hơn thành chế độ sáng tạo có thể tự cải tạo.

Ví dụ ở đây, chúng tôi trong chế độ sáng tạo, để DeepSeek Harness được kết nối với DeepSeek V4 Pro tạo ra một "chế độ ba cột" mà Web UI chính thức không có:

Ngoài Web UI, TUI hướng tới các nhà phát triển thích ở lại trong terminal.

Chế độ Headless phù hợp với script và CI: nó nhận một tác vụ, chờ Agent dừng hoàn toàn, xuất ra phản hồi hợp lệ cuối cùng rồi thoát. Nếu chương trình cần sự kiện có cấu trúc và kiểm soát liên tục, nên sử dụng ACP hoặc JSON-RPC/Python SDK.

Về mặt tự động hóa, dự án cung cấp dịch vụ ACP và cổng vào JSON-RPC. Python SDK điều khiển thời gian chạy JSON-RPC đi kèm, cho phép ứng dụng Python có thể khởi động phiên làm việc, gửi tác vụ, nhận thông báo, mà không cần nhúng trực tiếp lõi Node. Kho lưu trữ còn bao gồm các ví dụ về Code Mode, Cordis tự chỉ, dịch vụ bộ nhớ MCP, v.v.

Đáng chú ý là, các cổng vào này không phải là bốn Agent phát triển riêng rẽ. Chúng chia sẻ mô hình khả năng lõi, ngữ nghĩa sự kiện phiên làm việc và phần lớn các plugin cơ sở, nhưng không phải đơn giản thay thế một lớp UI, mà thông qua các bundle khác nhau để lắp ráp thành các hình thái sản phẩm như Web, tác vụ một lần và dịch vụ tự động hóa. Đây chính là thành quả trực quan nhất của "Mọi thứ đều là plugin".

Agent có thể kiểm tra thậm chí cải tạo chính mình

DeepSeek Harness còn cung cấp một nhóm công cụ Cordis tự chỉ. Chúng sẽ không đi vào các chế độ tiêu chuẩn, PTC hoặc cực giản, mà được cung cấp thông qua cổng vào nâng cao rõ ràng là "chế độ sáng tạo" trong Web UI. Sau khi chọn cài đặt sẵn này, Agent có thể kiểm tra cây plugin của thời gian chạy hiện tại, và động lắp hoặc gỡ bỏ plugin tạm thời.

Nghe có vẻ hơi giống để xe hơi tự thay động cơ trên đường cao tốc, do đó dự án không mặc định mở nó. Nó phù hợp với các kịch bản nghiên cứu hoặc tự động hóa nâng cao: mô hình có thể viết tạm trình lắng nghe sự kiện, đăng ký công cụ mới, cung cấp một dịch vụ, sau đó gỡ bỏ sau khi tác vụ hoàn thành.

Agent tự sửa đổi dễ dàng trở thành trình diễn khái niệm, nhưng Harness ít nhất đã đặt nó vào vòng đời plugin hiện có. Plugin động vẫn chạy dưới cơ chế Context và Effect của Cordis, các mục đăng ký có đường dẫn dọn dẹp rõ ràng.

Nó còn lâu mới có thể nói là an toàn vô lo, nhưng đã cho thấy nơi mà kiến trúc này thực sự muốn hướng đến: agent không chỉ sử dụng khả năng, mà còn có thể kết hợp lại thời gian chạy của chính mình trong ranh giới được kiểm soát.

Thiết kế đằng sau Cordis, có thể tham khảo bài báo được phát hành đồng bộ chính thức "A Programming Paradigm for Spatiotemporal Composability":

Địa chỉ bài báo: https://github.com/cordiverse/paper

Chính sách bảo mật

Agent lập trình một khi có quyền hệ thống tệp và Shell, có thể sửa mã nguồn, cài đặt phụ thuộc, khởi động tiến trình, thậm chí chạm đến môi trường máy chủ bên ngoài workspace. DeepSeek Harness rõ ràng coi việc này như một vấn đề kiến trúc cơ sở, chứ không phải chỉ tăng một cửa sổ bật lên xác nhận trên giao diện là xong.

Dự án mặc định sử dụng chế độ workspace-write, hạn chế việc thực thi lệnh và sửa tệp trong workspace hiện tại và các thư mục tạm thời được phép, đồng thời kết hợp với chính sách phê duyệt ask để xử lý các thao tác cần mở rộng quyền hạn. Chế độ danger-full-access lỏng lẻo hơn cũng tồn tại, nhưng phải được bên triển khai lựa chọn rõ ràng; nó sẽ không được đóng gói thành một tùy chọn tương thích trông có vẻ vô hại.

Việc gọi công cụ còn phải trải qua chính sách tiền xử lý, biện pháp bảo vệ an toàn đơn điệu, bao bọc thực thi và xử lý hậu kỳ. Thao tác bị biện pháp bảo vệ từ chối không thể được các plugin tiếp theo mở lại; lệnh cần mở rộng quyền hạn phải giải thích lý do, và thử lại thông qua cơ chế phê duyệt. Hệ thống tệp, Bash và tiến trình con chia sẻ cùng một bộ chính sách sandbox, tránh xuất hiện ranh giới chia cắt "lệnh bị hạn chế, nhưng công cụ tệp có thể vượt qua".

Đáng khẳng định hơn là, DeepSeek Harness áp dụng nguyên tắc "đóng lại khi thất bại" (fail-closed). Nếu hệ thống không thể xác nhận cơ chế cách ly thực sự có hiệu lực, nó sẽ từ chối thực thi, chứ không lặng lẽ thoái hóa thành chạy không bảo vệ. Chuyển đổi quyền hạn, yêu cầu phê duyệt, tham số công cụ, kết quả thực thi và lý do hủy bỏ cũng sẽ đi vào Session Log, lưu lại căn cứ cho việc kiểm toán sau sự kiện và tái hiện vấn đề.

Thiết kế này không thể loại bỏ toàn bộ rủi ro của việc agent thực thi thao tác cục bộ, nhưng nó thể hiện một thái độ kỹ thuật đáng quý:Bảo mật là một ràng buộc hệ thống xuyên suốt cơ chế cấu hình, thực thi, phê duyệt, nhật ký và khôi phục. Mô hình có thể đề xuất hành động, thứ thực sự quyết định hành động có thể xảy ra hay không, vẫn là Harness.

DeepSeek muốn làm không chỉ là "một Codex khác"

Nếu chỉ nhìn Web UI hoặc TUI, dễ dàng hiểu nhầm DeepSeek Harness là phiên bản DeepSeek của Codex, Claude Code hoặc các trợ lý lập trình khác. Nhưng nhìn từ cấu trúc kho lưu trữ, mục tiêu của nó rõ ràng ở mức thấp hơn.

Ứng dụng mặc định đương nhiên quan trọng, nó cho phép nhà phát triển trực tiếp có được một công cụ có thể đọc ghi dự án, chạy lệnh, lập kế hoạch tác vụ và gọi agent con. Nhưng thứ thực sự chiếm vị trí trung tâm của dự án, là giao diện khả năng có thể thay thế, vòng đời hướng sự kiện, nhật ký phiên làm việc có thẩm quyền và kết hợp khai báo. Nói cách khác, Agent thành phẩm giống như khách hàng đầu tiên của bộ SDK này.

Điều này cũng bổ sung một mảnh ghép trước đây không đủ nổi bật cho hệ sinh thái mô hình của DeepSeek . Mô hình quyết định trí tuệ trên, Harness quyết định trí tuệ này đi vào môi trường thực tế như thế nào, sử dụng công cụ ra sao, giữ trạng thái như thế nào, và lại làm việc trong ranh giới quyền hạn ra sao. Đối với nhà phát triển doanh nghiệp, cái sau thường quan trọng hơn việc cửa sổ trò chuyện có thêm vài nút, bởi nó quyết định hệ thống có thể được kiểm toán, mở rộng, thay thế và bảo trì lâu dài hay không.

DeepSeek Harness hiện tại còn lâu mới đến giai đoạn "cài đặt xong, mọi thứ trơn tru", nhưng nó đã thể hiện một phán đoán kỹ thuật khá hoàn chỉnh: Agent không nên là một vòng lặp ngày càng phình to, mà nên là một nhóm khả năng có thể kết hợp, quan sát và thay thế; phiên làm việc không nên chỉ là bản ghi trò chuyện, mà nên là sự thực chạy; công cụ không nên chỉ là hàm, mà nên đồng thời sở hữu chính sách, nhật ký và giao thức trình bày.

Vì vậy, thứ đáng chú ý nhất của DeepSeek Harness, không phải là việc hôm nay nó có thể thay thế trợ lý lập trình bạn đang sử dụng hay không, mà là nó đã công khai câu trả lời của DeepSeek về kỹ thuật Agent đến mức nào.

Bài viết này đến từ tài khoản WeChat công chúng "Cỗ máy có trái tim" (ID:almosthuman2014), tác giả: Cỗ máy có trái tim theo dõi DSH

Câu hỏi Liên quan

QDeepSeek Harness là gì và mục tiêu chính của nó là gì?

ADeepSeek Harness không phải là một mô hình hay một API client mới, mà là một bộ SDK và framework ứng dụng dùng để xây dựng, chạy và mở rộng các trợ lý thông minh (Agent). Nó có thể kết nối mặc định với các mô hình DeepSeek (hoặc tùy chỉnh để kết nối với các mô hình khác), cho phép mô hình đọc dự án, chỉnh sửa file, chạy lệnh, quản lý tác vụ và phân công công việc phụ. Mục tiêu chính của DeepSeek Harness không phải là tạo ra một trợ lý lập trình DeepSeek cố định, mà là cung cấp một phương pháp lắp ráp các Agent thông minh theo kiểu 'mọi thứ đều là plugin', cho phép tùy biến cao độ về mô hình, công cụ, giao diện và chính sách bảo mật.

QTriết lý thiết kế 'Tất cả đều là Plugin' trong DeepSeek Harness có ý nghĩa gì?

ATriết lý 'Tất cả đều là Plugin' có nghĩa là mọi thành phần chức năng của DeepSeek Harness, bao gồm cả chính vòng lặp Agent (Agent Loop), đều được xây dựng như các plugin độc lập. Dự án dựa trên lõi vi mô Cordis, nơi các plugin đăng ký dịch vụ, sự kiện và khả năng. Cấu hình trong file 'cordis.yml' sẽ quyết định cách kết hợp các plugin này để tạo ra một Agent cụ thể với bộ công cụ và hành vi nhất định. Điều này cho phép người dùng dễ dàng thay thế mô hình, công cụ, giao diện, chính sách bảo mật và thậm chí cả cách hoạt động cốt lõi của Agent.

QSession Log trong DeepSeek Harness đóng vai trò quan trọng như thế nào?

ASession Log (Nhật ký Phiên) là nguồn dữ liệu có thẩm quyền của toàn bộ hệ thống. Nó ghi lại mọi sự kiện như tin nhắn người dùng, ngữ cảnh môi trường, yêu cầu mô hình, đầu ra từ mô hình, lệnh gọi công cụ và kết quả, sự kiện nén dữ liệu, thay đổi quyền hạn, lý do hủy... dưới dạng luồng sự kiện được ghi nối tiếp. Nguyên tắc là mọi thứ mô hình 'nhìn thấy' đều có thể tái tạo lại từ nhật ký này. Điều này giải quyết vấn đề khó khăn là khi một tác vụ thất bại, chúng ta có thể biết chính xác mô hình đã thấy gì vào thời điểm đó, phục vụ cho việc gỡ lỗi, đánh giá, kiểm toán và tự động hóa.

QCác chế độ Agent (Preset) khác nhau trong Web UI của DeepSeek Harness là gì?

AWeb UI của DeepSeek Harness cung cấp 4 chế độ Agent cài đặt sẵn khác nhau, không chỉ thay đổi phong cách mà còn thay đổi bộ công cụ và khả năng runtime: 1) **Chế độ Tiêu chuẩn**: Đầy đủ chức năng, phù hợp hầu hết tác vụ phát triển. 2) **Chế độ PTC**: Tương tự chế độ tiêu chuẩn nhưng cho phép mô hình viết mã TypeScript để kết hợp nhiều thao tác, giảm số lượt tương tác giữa mô hình và công cụ. 3) **Chế độ Tối giản**: Chỉ có hai công cụ là Bash và trình soạn thảo, giảm tải cho mô hình. 4) **Chế độ Sáng tạo**: Dành cho người dùng nâng cao, cho phép Agent kiểm tra và sửa đổi runtime của chính nó, thử nghiệm plugin tạm thời và tạo các cài đặt Agent tùy chỉnh mới.

QDeepSeek Harness xử lý vấn đề bảo mật và quyền hạn như thế nào?

ADeepSeek Harness coi bảo mật là một ràng buộc hệ thống xuyên suốt. Mặc định, nó sử dụng chế độ 'workspace-write' để hạn chế việc thực thi lệnh và sửa đổi file chỉ trong thư mục làm việc hiện tại và các thư mục tạm thời được cho phép. Các lệnh gọi công cụ phải trải qua kiểm tra chính sách trước, bộ bảo vệ an toàn, thực thi và xử lý sau. Các thao tác cần mở rộng quyền hạn phải được giải thích và phê duyệt qua cơ chế 'ask'. Hệ thống áp dụng nguyên tắc 'thất bại thì đóng' (fail-close): nếu không thể xác nhận cơ chế cô lập có hiệu lực, nó sẽ từ chối thực thi. Tất cả thay đổi quyền hạn, yêu cầu phê duyệt, kết quả thực thi đều được ghi vào Session Log để kiểm tra sau này.

Nội dung Liên quan

Sau trái phiếu Mỹ được mã hóa, cổ phiếu được mã hóa đang trở thành mặt trận mới trong lĩnh vực RWA

Sau thành công của trái phiếu Kho bạc Hoa Kỳ được mã hóa (tokenized), thị trường cổ phiếu được mã hóa đang nổi lên như một mặt trận mới đầy tiềm năng trong lĩnh vực Tài sản Thực tế Được mã hóa (RWA). Trong khi thị trường trái phiếu mã hóa có dấu hiệu chững lại, thị trường cổ phiếu mã hóa lại tăng trưởng mạnh cả về quy mô lẫn chất lượng, thu hút sự tham gia của nhiều bên: từ các công ty cơ sở hạ tầng truyền thống (DTCC, NYSE, Nasdaq), công ty fintech (Robinhood), sàn giao dịch tiền mã hóa (Coinbase) đến các nền tảng Web3 thuần túy (Securitize, Ondo, xStocks). Ủy ban Chứng khoán Hoa Kỳ (SEC) đã đưa ra khung phân loại cho chứng khoán được mã hóa, bao gồm: Chứng khoán được mã hóa do tổ chức phát hành tài trợ (ví dụ: Securitize), Chứng khoán được mã hóa do bên thứ ba tài trợ (dạng ủy thác, ví dụ: Ondo với IVV), Chứng khoán liên kết (ví dụ: Ondo, xStocks, Robinhood Stock Tokens mới) và Hoán đổi dựa trên chứng khoán (ví dụ: Robinhood Classic Stock Tokens). Mỗi mô hình có ưu nhược điểm riêng. Các mô hình "do tổ chức phát hành tài trợ" kế thừa đầy đủ quyền cổ đông nhưng tính linh hoạt trên chuỗi bị hạn chế. Trong khi đó, các mô hình "chứng khoán liên kết" của Ondo hay xStocks mang lại khả năng tiếp cận rộng rãi hơn, có thể giao dịch trên các sàn DEX và sử dụng trong DeFi, nhưng không bao gồm các quyền biểu quyết và thường không dành cho nhà đầu tư Mỹ. Sự tham gia của các gã khổng lồ cơ sở hạ tầng như DTCC, NYSE và Nasdaq vào các thí điểm mã hóa cho thấy tiềm năng tái định hình hệ thống giao dịch và thanh toán truyền thống. Trong khi đó, Coinbase, với kế hoạch sắp tới, là một yếu tố đáng theo dõi. Tất cả các bên, dù xuất phát điểm khác nhau, đều đang hướng đến một mục tiêu chung: mã hóa cổ phiếu để tạo ra một hệ thống tài chính dễ tiếp cận, hiệu quả và hoạt động liên tục hơn. Tương lai của lĩnh vực này sẽ phụ thuộc lớn vào khung pháp lý và khả năng mở rộng của các giải pháp kỹ thuật.

marsbit44 phút trước

Sau trái phiếu Mỹ được mã hóa, cổ phiếu được mã hóa đang trở thành mặt trận mới trong lĩnh vực RWA

marsbit44 phút trước

Nhiều Công Ty Quỹ Cổ Phần Cắt Giảm Cổ Phần NVIDIA, Các Quỹ Cổ Phần Tư Nhân Đang Phát Hiện Ra Điều Gì?

Gần đây, báo cáo 13F tiết lộ nhiều quỹ đầu tư tư nhân lớn tại Trung Quốc như Gaoyi Assets, Greenwoods và Oriental Harbor đã đồng loạt giảm mạnh cổ phiếu Nvidia trong quý II/2024. Hành động này không nhất thiết là nghi ngờ xu hướng AI mà phản ánh sự chuyển dịch trong logic đầu tư, từ định giá dựa trên kỳ vọng sang định giá dựa trên khả năng hiện thực hóa lợi nhuận và dòng tiền. Thay vào đó, họ tập trung vào các công ty ở vị trí "cổ chai" với lợi thế định giá rõ ràng hơn. Gaoyi Assets đã đẩy mạnh mua vào TSMC, biến nó thành cổ phiếu nắm giữ lớn nhất, nhờ vào vị thế độc tôn trong sản xuất bán dẫn tiên tiến và đóng gói tiên tiến CoWoS - những yếu tố thiết yếu nhưng khan hiếm cho sự phát triển của chip AI. Song song đó, cả Gaoyi và Oriental Harbor đều gia tăng đáng kể vị thế trong lĩnh vực lưu trữ, đầu tư vào Micron và SanDisk. Họ nhận thấy cơ hội từ sự kết hợp giữa chu kỳ phục hồi của ngành và nhu cầu tăng vọt từ bộ nhớ băng thông cao (HBM) phục vụ AI, làm thay đổi thuộc tính của ngành từ chu kỳ thuần túy sang "chu kỳ + tăng trưởng". Việc giảm nắm giữ Nvidia chủ yếu do cổ phiếu này đã tăng mạnh, định giá phản ánh nhiều kỳ vọng lạc quan, khiến tỷ lệ rủi ro/lợi nhuận (tỷ lệ cược) kém hấp dẫn hơn. Các nhà đầu tư đang chuyển hướng sang các mắt xích trong chuỗi cung ứng AI nơi lợi nhuận có thể chuyển dịch đến, có khả năng hiện thực hóa rõ ràng và định giá hấp dẫn hơn, như sản xuất và lưu trữ. Điều này cho thấy giai đoạn định giá dựa trên "ràng buộc vật lý" về năng lực sản xuất đang thay thế giai đoạn định giá dựa trên "khả năng công nghệ".

marsbit1 giờ trước

Nhiều Công Ty Quỹ Cổ Phần Cắt Giảm Cổ Phần NVIDIA, Các Quỹ Cổ Phần Tư Nhân Đang Phát Hiện Ra Điều Gì?

marsbit1 giờ trước

Kiểm tra Turing ngược, 'mô hình lớn thuần thủ công' này đã làm người dùng mạng sụp đổ

"Mô hình ngôn ngữ lớn" ChatTJB gây sốt thực chất là một dự án nghệ thuật công cộng mang tính châm biếm, do một người tên Tucker vận hành thủ công. Thay vì AI, mọi câu hỏi của người dùng đều do Tucker đọc, suy nghĩ và trả lời trực tiếp bằng tin nhắn, thậm chí "tạo ảnh" cũng do anh vẽ tay. Dự án tự trào phúng mình với những thuật ngữ kỹ thuật giả tạo như "lớp suy luận do con người điều khiển" và mô tả "chi phí đào tạo" chỉ là thẻ thư viện và tài khoản giao đồ ăn. Mặc dù được quảng cáo bằng bảng hiệu ở San Francisco và có giao diện website chuyên nghiệp với cả tùy chọn "Pro member", ChatTJB nhấn mạnh đây chỉ là tác phẩm nghệ thuật, không phải cơ hội đầu tư. Lưu lượng truy cập bất ngờ khiến Tucker quá tải, phải tạm dừng người dùng mới và kêu gọi tình nguyện viên là những "cá nhân bình thường" (Average Individual) tham gia. Điều thú vị là nhiều người dùng ban đầu đến để đùa vui nhưng dần lại trò chuyện nghiêm túc, chia sẻ những điều thật sự quan trọng với họ. Dự án này làm nổi bật sự khác biệt giữa tương tác với AI hiệu quả nhưng vô hồn và sự kết nối ý nghĩa, có chú ý thực sự từ một con người. Một nền tảng tương tự là "Your AI Slop Bores Me" cũng hoạt động dựa trên nguyên tắc "mô hình ngôn ngữ bằng xương bằng thịt", nơi người dùng có thể gửi yêu cầu hoặc đóng vai "AI" để trả lời và vẽ tranh cho người khác.

marsbit1 giờ trước

Kiểm tra Turing ngược, 'mô hình lớn thuần thủ công' này đã làm người dùng mạng sụp đổ

marsbit1 giờ trước

Cá voi đen nổi lên, DeepSeek bước vào hiệp hai

DeepSeek vừa ra mắt hai thông tin quan trọng: mô hình V4 Pro chính thức và Harness - hệ thống thực thi Agent nguồn mở với triết lý "mọi thứ đều là plugin". Harness không chỉ là một công cụ lập trình mà là một nền tảng cho phép tùy biến sâu, nơi nhà phát triển có thể thay thế hoặc mở rộng mọi khả năng của Agent thông qua plugin, từ giao diện đến logic thực thi. Thử nghiệm cho thấy, cùng một mô hình DeepSeek V4-Flash khi chạy trên các hệ thống Harness khác nhau sẽ cho kết quả và chi phí chênh lệch đáng kể, chứng tỏ hệ thống thực thi quyết định hiệu quả khai thác năng lực của mô hình. Harness tập trung vào khả năng truy xuất nguồn gốc đầy đủ và xử lý ổn định các nhiệm vụ dài, phản ánh tư duy hệ thống từ lĩnh vực giao dịch định lượng. Động thái này đánh dấu bước chuyển của DeepSeek từ mô hình bán "token" sang cung cấp "kết quả" hoàn chỉnh, nhắm đến việc tạo ra giá trị thực tế trong các tác vụ phức tạp như phát triển phần mềm. Bằng cách mở mã nguồn Harness, DeepSeek kỳ vọng cộng đồng sẽ cùng xây dựng hệ sinh thái plugin phong phú, định hình tương lai của Agent theo hướng mở và linh hoạt.

marsbit1 giờ trước

Cá voi đen nổi lên, DeepSeek bước vào hiệp hai

marsbit1 giờ trước

Giao dịch

Giao ngay
活动图片