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

Ngân hàng khổng lồ Anh Standard Chartered công bố dự báo giá dài hạn cho altcoin UNI!

Ngân hàng khổng lồ Standard Chartered vừa đưa ra đánh giá dài hạn quan trọng về token UNI của Uniswap. Jeffrey Kendrick, người đứng đầu bộ phận nghiên cứu tài sản số của ngân hàng, cho biết quan hệ đối tác giữa Uniswap và Robinhood mang lại kết quả mạnh hơn dự kiến, khiến mục tiêu giá dự báo trước đây cho UNI vào năm 2030 có thể trở nên bảo thủ. Sau khi cơ chế phân phối phí liên quan đến Robinhood ra mắt vào ngày 27/7, tốc độ đốt token UNI đã tăng mạnh. Khối lượng token UNI bị đốt gần như tăng gấp đôi, đạt mức tương đương 90 triệu USD/năm, tương ứng với khoảng 25 triệu token UNI ở giá hiện tại. Điều này có nghĩa là hơn 4% tổng nguồn cung đang được loại bỏ khỏi hệ thống hàng năm, có thể tạo ra áp lực tăng giá nếu nhu cầu được duy trì hoặc tăng lên. Tuy nhiên, Standard Chartered lưu ý rằng việc duy trì tốc độ tiêu hao này lâu dài có thể là thách thức. Ngay cả khi giá UNI đạt mức dự báo 6,50 USD vào cuối năm 2026, tỷ lệ tiêu hao hàng năm vẫn sẽ ở khoảng 2,2%, một cơ chế giảm nguồn cung vẫn mạnh. Kendrick nói thêm rằng việc triển khai thêm các chương trình đối tác kiểu Robinhood trong tương lai có thể tác động lớn hơn đến kinh tế học token UNI. Nếu xu hướng sử dụng và đốt token tiếp tục, ngay cả mục tiêu giá 100 USD cho UNI vào năm 2030 mà ngân hàng đã công bố trước đó cũng có thể trở nên khiêm tốn. Các chuyên gia cho rằng nếu lĩnh vực Tài chính Phi tập trung (DeFi) tiếp tục phát triển, UNI sẽ vẫn là một trong những tài sản crypto được theo dõi chặt chẽ nhất trong những năm tới.

cryptonews.ru4 phút trước

Ngân hàng khổng lồ Anh Standard Chartered công bố dự báo giá dài hạn cho altcoin UNI!

cryptonews.ru4 phút trước

Tính năng mới của ChatGPT: AI bắt đầu theo dõi người dùng

OpenAI đã ra mắt tính năng Computer History cho ứng dụng ChatGPT trên macOS, một công cụ theo dõi hoạt động của người dùng trên các chương trình và trang web để cá nhân hóa và cải thiện độ chính xác của các phản hồi AI. Tính năng này, dành cho thuê bao Pro, Business và Enterprise, hiện chưa khả dụng tại Khu vực Kinh tế Châu Âu (EEA), Vương quốc Anh và Thụy Sĩ do các yêu cầu tuân thủ quy định bảo vệ dữ liệu. Computer History hoạt động nền, ghi lại hoạt động vào một dòng thời gian tạm thời, cho phép ChatGPT sử dụng ngữ cảnh này trong các cuộc trò chuyện sau mà không cần nhập lại thủ công. Người dùng có toàn quyền kiểm soát: tính năng chỉ hoạt động khi được bật và có thể xóa lịch sử. Đây được coi là phiên bản cải tiến của dự án thử nghiệm Chronicle, tiêu thụ ít token hơn và có thêm các công cụ quản lý quyền riêng tư. Việc ra mắt diễn ra cùng ngày với thông báo về chế độ GPT-5.6 Ultrafast, nhấn mạnh chiến lược phát triển bộ nhớ AI liên tục của OpenAI. Tuy nhiên, việc trì hoãn tại châu Âu cho thấy thách thức trong việc cân bằng giữa cá nhân hóa sâu và quy định bảo mật nghiêm ngặt. Các chuyên gia cũng đặt câu hỏi về tính bảo mật dài hạn và liệu sự đồng thuận tự nguyện có đủ để duy trì niềm tin của người dùng khi lượng dữ liệu thu thập ngày càng tăng.

cryptonews.ru48 phút trước

Tính năng mới của ChatGPT: AI bắt đầu theo dõi người dùng

cryptonews.ru48 phút trước

Nền tảng phân tích Santiment báo cáo rằng quan điểm "tiền điện tử đã chết" đang lan truyền nhanh chóng giữa các nhà đầu tư! Đây có phải là tín hiệu cho thấy thị trường đã chạm đáy? Dưới đây là...

Áp lực giá liên tục và khối lượng giao dịch thấp trên thị trường tiền điện tử tiếp tục ảnh hưởng tiêu cực đến tâm lý nhà đầu tư cá nhân. Nền tảng phân tích Santiment báo cáo sự gia tăng đáng kể cụm từ "tiền điện tử đã chết" trên mạng xã hội. Phân tích cho thấy các biểu hiện tiêu cực như "chết", "kết thúc" đang lan truyền nhanh trong cộng đồng. Santiment lưu ý rằng loại tâm lý này thường xuất hiện khi sự kiên nhẫn của nhà đầu tretail bắt đầu cạn kiệt, khi thị trường đi ngang kéo dài và kỳ vọng tăng giá không thành hiện thực. Tuy nhiên, dữ liệu lịch sử từ công ty chỉ ra rằng những giai đoạn bi quan cực độ như vậy thường xảy ra gần các điểm đảo chiều quan trọng của thị trường. Khi công chúng tin chắc rằng xu hướng tăng đã hoàn toàn biến mất, thị trường thường phản ứng ngược lại và thể hiện sự phục hồi mạnh mẽ. Do đó, Santiment nhấn mạnh các nhà đầu tư theo trường phái đầu tư ngược xu hướng nên theo dõi chặt chẽ các thời điểm mà tâm lý "tiền điện tử đã chết" lan rộng. Các chuyên gia thừa nhận bầu không khí sợ hãi hiện tại có thể gây áp lực ngắn hạn, nhưng cũng lưu ý rằng tâm lý tiêu cực thái quá thường trùng khớp với các đáy quan trọng trong các chu kỳ trước. Theo Santiment, những giai đoạn tâm lý nhà đầu tư đạt đỉnh điểm bi quan có thể mang lại cơ hội tiềm năng cho những nhà đầu tư kiên nhẫn và có tầm nhìn dài hạn. Vì vậy, tâm lý mạng xã hội vẫn được xem là một chỉ báo quan trọng khi đánh giá hướng đi của thị trường.

cryptonews.ru59 phút trước

Nền tảng phân tích Santiment báo cáo rằng quan điểm "tiền điện tử đã chết" đang lan truyền nhanh chóng giữa các nhà đầu tư! Đây có phải là tín hiệu cho thấy thị trường đã chạm đáy? Dưới đây là...

cryptonews.ru59 phút trước

GPT-5 cũng 'nhớ mang máng', Google đã thử nghiệm 4.5 triệu lần: Chìa khóa bị mất

"Hiện tượng đầu lưỡi" (tip-of-the-tongue) thường xảy ra khi bạn biết thông tin nhưng không thể nhớ lại ngay lập tức. Nghiên cứu mới từ Google với tên "Empty Shelves or Lost Keys?" phát hiện rằng các mô hình ngôn ngữ lớn tiên tiến như GPT-5 và Gemini 3 cũng gặp phải vấn đề tương tự. Sử dụng bộ tiêu chuẩn WikiProfile (2.150 sự kiện từ Wikipedia), nghiên cứu đã thử nghiệm 13 mô hình qua khoảng 4,5 triệu câu trả lời. Kết quả cho thấy các mô hình này lưu trữ được 95%–98% sự kiện trong tham số, nhưng khi được hỏi trực tiếp, chúng không thể trả lời 26%–34% số đó. Ngay cả khi bật chế độ "suy nghĩ" (thinking), vẫn có 11%–12% thông tin không thể truy xuất. Điều này chứng tỏ vấn đề chính không phải là thiếu kiến thức, mà là khó khăn trong việc "lấy ra" kiến thức đã được lưu trữ. Hai tình huống đặc biệt khó khăn là: 1. **Kiến thức ít phổ biến:** Mặc dù được lưu trữ gần như ngang bằng với kiến thức phổ biến, tỷ lệ nhớ lại thấp hơn đáng kể. 2. **Câu hỏi đảo ngược:** Mô hình học được "A là B" nhưng gặp khó khăn khi trả lời "B là A" dưới dạng hỏi đáp tự do, dù chúng thường làm tốt với câu hỏi dạng trắc nghiệm. Điều này cho thấy mối liên hệ vẫn tồn tại nhưng khó được kích hoạt nếu cách hỏi khác với ngữ cảnh huấn luyện. Chế độ "suy nghĩ" (thinking) giúp cải thiện đáng kể, khôi phục được 40%–65% thông tin đã lưu trữ nhưng ban đầu không nhớ ra, bằng cách cung cấp thêm "sức mạnh tính toán ngầm" và kích hoạt lan tỏa (spreading activation) thông qua các manh mối liên quan. Tuy nhiên, việc mở rộng quy mô mô hình (scaling) chủ yếu giúp giảm lỗi "lưu trữ thất bại" chứ không tự động giải quyết vấn đề "nhớ lại thất bại". Ở các mô hình tiên tiến nhất, lỗi nhớ lại chiếm tới hơn 70% tổng số lỗi. Nghiên cứu kết luận rằng với kiến thức thực tế, các mô hình hàng đầu đã gần như lấp đầy "kệ hàng". Thách thức tiếp theo không nằm ở việc tích trữ thêm, mà là cải thiện các cơ chế hậu huấn luyện và suy luận để truy xuất hiệu quả hơn những gì đã có sẵn. Một bước quan trọng là phát triển "siêu nhận thức" (metacognition) để mô hình tự nhận biết khi nào nó cần dành nhiều thời gian suy nghĩ hơn để tìm lại thông tin.

marsbit1 giờ trước

GPT-5 cũng 'nhớ mang máng', Google đã thử nghiệm 4.5 triệu lần: Chìa khóa bị mất

marsbit1 giờ trước

Giao dịch

Giao ngay
活动图片