Dini hari ini, DeepSeek V4 Pro versi resmi dirilis, memicu gelombang antusiasme. Sekarang, setengah hari berlalu, DeepSeek Harness (versi pratinjau pengembang) juga sudah hadir!

Tentu, ini tidak mengejutkan, mengingat proyek ini telah dipersiapkan sejak lama, misalnya Cui Tianyi dari tim DeepSeek Harness terus memposting teaser di media sosial serta merekrut talenta untuk timnya.

Kami juga mendapat akses uji coba internal DeepSeek Harness pada awal Agustus, sehingga dapat menikmati lebih awal kerangka kerja agen cerdas yang ditakdirkan membawa perubahan baru bagi komunitas AI ini.

Alamat sumber terbuka: https://github.com/deepseek-ai/deepseek-harness
Misalnya di sini, kami meminta DeepSeek Harness yang dikonfigurasi dengan DeepSeek -V4-Flash resmi untuk membangun game penembak zombie sudut pandang orang pertama. Kami tidak memberikan intervensi apa pun selama prosesnya, dan dalam waktu lebih dari 30 menit, kami mendapatkan hasil yang meski belum sempurna namun sudah cukup bisa dimainkan.
Mengingat ide Andrej Karpathy baru-baru ini untuk menghasilkan dunia 3D dengan AI sangat populer, kami juga menantang DeepSeek Harness(V4-Flash) dengan benchmark "Huaqiang Membeli Semangka": mereproduksi cuplikan klasik "Huaqiang Membeli Semangka" menjadi animasi 3D berdasarkan deskripsi teks (juga hasil one-shot prompt):

Secara keseluruhan, meskipun masih jauh dari sempurna, alur cerita animasi ini pada dasarnya direproduksi, dan hubungan antar karakter juga dapat terlihat. Sebagai perbandingan, animasi yang kami buat menggunakan Codex yang dikonfigurasi dengan GPT-5.6 sol-xhigh dengan prompt yang sama, jauh lebih buruk:

Perlu diingat, DeepSeek -V4-Flash memiliki skala parameter yang jauh lebih rendah daripada GPT-5.6 sol. Dapat dibayangkan, DeepSeek Harness seharusnya berjasa besar.
Hari ini dengan dirilisnya versi resmi DeepSeek V4 Pro, kami juga menghubungkan model tersebut ke DeepSeek Harness dan menjalankannya lagi:

Efeknya memang menjadi sedikit lebih baik.
Selanjutnya, lihat struktur proyeknya, sangat mengejutkan: repositori sudah berisi lebih dari 230 anggota workspace, kode tersebar di area packages/, apps/, examples/, python/, native/, vendor/, website/, dll. Sistem file, terminal, subproses, PTY, server bahasa, akses web, keterampilan, sub-agen, alur kerja, mode perencanaan, persistensi sesi, pengaturan, kredensial, telemetri, hampir setiap kemampuan memiliki paketnya sendiri.

Jika membandingkan proyek Agen biasa dengan komputer yang sudah terpasang, maka DeepSeek Harness lebih mirip papan lubang (breadboard) berukuran luar biasa besar: model, alat, antarmuka, penyimpanan, kebijakan keamanan, dan manajemen konteks semuanya dapat dipasang dan dilepas.
Ia menyediakan skema perakitan default, tetapi jelas terlihat, apa yang benar-benar ingin diciptakan oleh DeepSeek bukanlah "asisten pemrograman DeepSeek" yang bentuknya tetap, melainkan cara merakit agen cerdas.
Apa itu DeepSeek Harness?
Mari perjelas masalah yang mudah membingungkan: DeepSeek Harness bukan model DeepSeek baru, juga bukan sekadar klien API. Ia adalah seperangkat SDK dan kerangka kerja aplikasi untuk membangun, menjalankan, dan memperluas agen cerdas, secara default dapat terhubung ke model DeepSeek (juga mudah untuk menghubungkan model lain), memungkinkan model membaca proyek, memodifikasi file, menjalankan perintah, mengelola tugas, mendelegasikan sub-tugas, dan berinteraksi dengan pengguna melalui Web UI, terminal layar penuh, perintah Headless, atau protokol otomatisasi.

DeepSeek Harness web menyediakan pintu masuk yang mudah untuk mengonfigurasi layanan model lain, tanpa perlu pengguna mengedit file konfigurasi secara manual.
Komunitas AI saat ini tidak asing lagi dengan kata Harness. Makna aslinya adalah pelana kuda, harness, perangkat pengekang, dll., secara abstrak, fungsinya adalah menghubungkan kekuatan ke mekanisme yang dapat bekerja, sekaligus mencegah kekuatan itu lepas kendali. Secara spesifik untuk AI, Harness bertanggung jawab menghubungkan model ke sistem file, Shell, editor kode, halaman web, dan Agen lain, sambil mencatat apa yang dilakukannya, membatasi apa yang dapat dilakukannya, dan memutuskan apakah akan mencoba ulang, membatalkan, mengompres konteks, atau mengembalikan masalah kepada pengguna ketika terjadi kesalahan.
Ini mungkin juga menjelaskan mengapa jumlah kode dan paket dalam proyek ini begitu besar, karena melibatkan banyak pilihan tugas dan alat, termasuk apakah pemanggilan alat dapat paralel, apakah perintah pembatalan benar-benar dapat menghentikan subproses, apakah hasil alat akan mencemari konteks, di mana pesan baru dari pengguna saat model berjalan harus dimasukkan, bagaimana membangun ulang masukan model saat itu setelah sesi dipulihkan, alat apa yang dimiliki sub-agen, apakah penulisan file melewati ruang kerja, apakah konten yang dilihat saat pemutaran ulang antarmuka konsisten dengan yang berjalan secara real-time. DeepSeek Harness mencoba mengubah semua masalah ini menjadi kemampuan sistem formal.
Semuanya Adalah Plugin
Prinsip desain DeepSeek Harness yang paling mencolok adalah "semuanya adalah plugin", bahkan Agent Loop itu sendiri juga dianggap sebagai plugin.

Proyek dibangun di atas kernel mikro Cordis, Harness yang berjalan pada dasarnya adalah Cordis Context. Paket-paket yang berbeda mendaftarkan layanan, peristiwa, dan kemampuan ke Context, dan pada akhirnya file konfigurasi menggabungkannya menjadi agen cerdas yang dapat dijalankan.
packages/core/ adalah inti dari seluruh sistem, yang berisi Session, System Prompt, Tools, Agent, dan Agent Loop. Mereka memecahkan masalah paling mendasar: apa itu sesi, bagaimana sistem prompt dirakit, bagaimana alat didaftarkan dan dipanggil, bagaimana Agen dibuat, serta bagaimana satu putaran percakapan berjalan dari masukan pengguna ke permintaan model, eksekusi alat, dan jawaban akhir.
Di luar inti adalah banyak paket kemampuan:
- packages/llm/ bertanggung jawab untuk adaptor model dan output streaming;
- packages/shell/, packages/subprocess/, dan packages/terminal/ bertanggung jawab untuk perintah sekali pakai, pohon proses, dan terminal persisten;
- packages/fs/ bertanggung jawab untuk membaca/menulis file, mengedit, pencarian, dan pembatasan kebijakan;
- packages/lsp/ menghubungkan server bahasa, memungkinkan Agen tidak hanya dapat mencari teks, tetapi juga mendapatkan navigasi kode tingkat semantik;
- packages/web/ bertanggung jawab untuk pencarian dan pengambilan halaman web;
- packages/skill/ mengelola keterampilan yang dapat digunakan kembali;
- packages/subagent/ dan packages/workflow/ memperluas Agen tunggal menjadi sistem multi-agen yang dapat didelegasikan dan diatur.
Melihat lebih jauh, perencanaan, tujuan, daftar tugas, tugas latar belakang, kompresi konteks, pencarian sesi, judul sesi, kredensial, pengaturan pengguna, mekanisme persetujuan, dan telemetri juga dibagi menjadi kemampuan independen. Bagian paling menarik dari struktur ini adalah ia mencerminkan kesadaran batas yang hampir keras kepala: siapa yang memiliki antarmuka, siapa yang bertanggung jawab atas implementasi, siapa yang menyajikan kemampuan kepada model, sebisa mungkin jangan dicampur.
Dokumentasi proyek membagi kemampuan tipikal menjadi tiga lapisan: antarmuka, implementasi, dan konsumen.
Mengambil Bash sebagai contoh, antarmuka mendefinisikan apa itu "menjalankan perintah", implementasi lokal bertanggung jawab untuk benar-benar membuat proses, dan paket alat untuk model bertanggung jawab untuk mengubah kemampuan ini menjadi skema dan hasil yang dapat dipahami model. Di masa depan, jika Shell lokal ingin diganti dengan kontainer jarak jauh, sandbox cloud, atau platform eksekusi perusahaan, secara teori hanya perlu mengganti lapisan implementasi, tanpa perlu menulis ulang alat model dan Agent Loop.
Ini adalah pola pikir kerangka kerja yang khas. Itu akan membuat repositori terlihat besar di awal, tetapi juga menunjukkan bahwa tujuan DeepSeek Harness bukanlah membuat produk jadi yang hanya dapat dipelihara oleh tim resmi, melainkan memungkinkan pihak penerapan yang berbeda untuk mengganti model, penyimpanan, kebijakan keamanan, menambahkan alat, bahkan mengganti loop agen cerdas.
Di sini, kami juga melihat DeepSeek terus berpegang pada sumber terbuka sejati!
cordis.yml
Satu Konfigurasi Merakit Agen yang Berbeda
Arsitektur berbasis plugin akhirnya diimplementasikan ke pengembang melalui cordis.yml. File konfigurasi mencantumkan nama plugin, ID stabil, dan parameter, menentukan kemampuan mana yang dimiliki oleh Agen saat ini.
Kode yang sama dapat dirakit menjadi bentuk produk yang sangat berbeda. Tambahkan adaptor LLM DeepSeek , sistem file, Bash, dan TUI, maka Anda akan mendapatkan agen pemrograman di terminal; ganti antarmuka interaktif dengan plugin Web, Anda akan mendapatkan aplikasi browser; gunakan pintu masuk Headless, ia akan menerima tugas, menyelesaikan putaran model dan alat, mencetak jawaban, dan keluar; ganti dengan pintu depan ACP atau JSON-RPC, ia dapat menjadi layanan otomatisasi yang dapat digerakkan oleh program lain.
Konfigurasi juga mendukung lapisan overlay. TUI dan Web UI dapat berbagi konfigurasi dasar yang sama, lalu menumpuk plugin antarmuka dan parameter masing-masing; konfigurasi pribadi berada di lapisan terakhir. Dengan cara ini, pihak penyebaran tidak perlu menyalin seluruh pohon konfigurasi, hanya perlu mengganti plugin yang ditentukan. Namun, ada detail yang perlu diperhatikan di sini: tambalan konfigurasi menggantikan seluruh konfigurasi plugin target, bukan penggabungan mendalam. Jika hanya menulis bidang baru, kunci API, alamat dasar, atau parameter lain yang ada mungkin akan hilang bersamaan. Itu jelas, tetapi tidak selalu sesuai dengan intuisi pengguna pertama kali.
Proyek ini juga memungkinkan membaca variabel lingkungan dan ekspresi runtime melalui !!js di YAML, misalnya mengambil kunci dari DEEPSEEK_API_KEY. Konfigurasi hanya merujuk nama kredensial, kunci dianalisis saat pemanggilan aktual. Web UI akan menulis kunci ke $DSH_HOME/.credentials.yaml, sedangkan variabel lingkungan dan .env dapat digunakan sebagai sumber cadangan dalam otomatisasi atau pengembangan lokal; kunci seharusnya tidak langsung ditulis ke cordis.yml atau masuk ke log sesi.
Agent Loop
Bukan Hanya Sebuah Loop, Melainkan Seperangkat Aturan Lalu Lintas
Kode inti dari banyak proyek Agen awal dapat disederhanakan menjadi beberapa baris: kirim pesan ke model, jika model mengembalikan panggilan alat, jalankan alat, lalu kirim kembali hasilnya ke model, hingga model mengeluarkan teks. DeepSeek Harness tentu juga melakukan ini, tetapi ia memecah proses ini menjadi siklus hidup yang ketat.
Sebuah masukan pengguna akan membuka Turn, satu Turn dapat berisi beberapa Step; satu Step sesuai dengan satu permintaan model dan eksekusi alat berikutnya. Sebelum permintaan, sistem akan merakit prompt sistem yang stabil, lingkungan eksekusi saat ini, skema alat, dan pesan sesi; setelah permintaan, potongan streaming model, pesan lengkap, panggilan alat, hasil alat, dan alasan berakhir akan masuk ke aliran peristiwa.

Game penembak zombie di atas mengeksekusi 3 turn, 127 step
Alat juga bukan "dipanggil begitu mendapatkan nama fungsi". Alat akan melalui strategi pra-pemrosesan, penjaga keamanan yang tidak dapat dibatalkan, eksekusi aktual, pasca-pemrosesan, penataan konten, dan pemberitahuan hasil. Izin atau penolakan, waktu habis, coba ulang, statistik metrik, dan lampiran konteks semuanya dapat diakses dari posisi berbeda dalam saluran pipa. Alat dapat mendeklarasikan bahwa pemanggilan dengan jenis parameter tertentu aman untuk konkurensi, dan penjadwal akan membuat tugas baca-saja yang berurutan berjalan paralel; begitu menemui panggilan yang memodifikasi status atau keamanannya tidak dapat dipastikan, ia akan menanganinya sebagai penghalang, menunggu tugas sebelumnya selesai sebelum mengeksekusi secara eksklusif.
Desain semacam ini mungkin terlihat seperti memasang sistem pengaturan lalu lintas penerbangan di jalan pedesaan, tetapi ketika Agen mulai mencari sepuluh file sekaligus, menjalankan pengujian, menerima instruksi tambahan dari pengguna, dan masih harus mengizinkan pembatalan kapan saja, aturan-aturan ini akan segera berubah dari "over-engineering" menjadi "hal yang paling diinginkan dalam laporan investigasi insiden".
Ia juga menangani dengan serius ke mana pesan yang dikirim selama eksekusi pergi. Konten baru yang dikirim pengguna saat Agen sedang bekerja mungkin adalah tugas berikutnya, atau mungkin instruksi untuk mengubah arah pekerjaan saat ini. Sistem membedakan antara pesan antrian, injeksi konteks, dan Steering, dan melalui tanda terima mengonfirmasi apakah instruksi Steering tertentu benar-benar masuk ke permintaan model tertentu. Dengan kata lain, ia tidak hanya peduli "pesan telah diterima", tetapi juga "pada langkah mana model benar-benar melihatnya".
Session Log
Sumber Otoritatif Sejati dari Seluruh Sistem
Desain lain dari DeepSeek Harness yang patut diperhatikan adalah Session Log.
Proyek menetapkan bahwa semua konten yang dilihat model harus dapat dibangun ulang dari log. Pesan pengguna, konteks lingkungan eksekusi, informasi permintaan model, output streaming, panggilan dan hasil alat, peristiwa kompresi, peralihan izin, alasan pembatalan, semuanya akan masuk ke aliran sesi tambahan dalam bentuk peristiwa. Antarmuka, persistensi, pemulihan, Fork, telemetri, dan pemutaran ulang seharusnya tidak masing-masing mempertahankan status yang "hampir benar", melainkan harus diturunkan dari sumber peristiwa yang sama.
Prinsip ini memecahkan masalah yang sangat sulit dalam sistem Agen: ketika suatu tugas gagal, bisakah kita benar-benar mengetahui apa yang dilihat model saat itu?
Jika sistem hanya menyimpan teks obrolan akhir, banyak faktor kunci akan hilang. Mungkin tepat sebelum permintaan model, status ruang kerja baru saja disuntikkan, mungkin hasil alat telah dipotong, mungkin sistem secara otomatis mengganti rute model, mungkin pengguna mengubah arah di tengah-tengah output streaming. DeepSeek Harness akan menyimpan catatan yang cukup untuk membangun ulang pesan pada batas permintaan, potongan streaming asli juga akan dipertahankan, sehingga antarmuka dan pemutaran ulang tetap konsisten.
Persistensi sesi itu sendiri masih merupakan plugin. Proyek menyediakan backend seperti JSONL dan SQLite, kemampuan kueri dapat mengakses sesi langsung secara prioritas, atau juga dapat mencari catatan sejarah melalui pencarian teks lengkap SQLite. Resume akan melanjutkan pekerjaan menggunakan sesi asli, Fork akan menurunkan sesi baru dari batas sejarah yang pasti. Bagi pengembang, ini dapat menyediakan dasar yang seragam untuk debugging, evaluasi, audit, dan otomatisasi.
Dari Satu Agen ke Sekelompok Agen
DeepSeek Harness sudah memiliki kemampuan sub-agen dan alur kerja bawaan.

Agen utama dapat mendelegasikan tugas kepada sub-Agen, sub-Agen dapat berupa instans yang dibuat baru, atau Fork dari batas penyelesaian sesi yang ada, atau terhubung melalui ACP ke subproses eksternal.

Game penembak zombie di atas membuat 5 sub-agen yang dieksekusi secara paralel
Desain lingkup di sini sangat penting. Setiap Agen memiliki lapisan konteksnya sendiri, dapat melihat alat, prompt, dan perintah tertentu. Sub-Agen tertentu dapat dibatasi hanya untuk melakukan pencarian dan analisis, sedangkan yang lain diizinkan untuk memodifikasi file. Kemampuan yang terdaftar dalam lingkup Agen akan dibersihkan secara otomatis dengan siklus hidup Agen, tanpa perlu bergantung pada konvensi nama global untuk mempertahankan isolasi.
Alur kerja melangkah lebih jauh: ia memungkinkan skrip mengatur penataan multi-agen, menghubungkan beberapa sub-tugas, output terstruktur, dan eksekusi lanjutan. Proyek ini juga menyediakan tujuan, rencana, daftar tugas, dan tugas latar belakang, mereka bukan hanya empat widget UI kecil dengan nama yang mirip, melainkan sebenarnya status kolaborasi dengan siklus hidup yang berbeda. Mode perencanaan merekam fase kolaborasi saat ini, tujuan dapat bertahan melintasi sesi yang sama, daftar tugas memberikan model daftar tugas ringan, dan tugas latar belakang bertanggung jawab mengelola pekerjaan aktual yang masih berjalan.

Ini menunjukkan bahwa Harness ingin mencakup tidak hanya "pemrograman tanya jawab". Ia berharap mendukung tugas panjang, investigasi paralel, eksekusi otomatis, dan koordinasi sistem eksternal. Apakah model dapat mengendalikan begitu banyak mekanisme dengan stabil, adalah ujian lain; setidaknya kerangka kerja telah membuat setir, panel instrumen, dan remnya terlebih dahulu.
Web, TUI, Headless, dan SDK
Untuk pengguna biasa, proyek merekomendasikan Web UI, default mendengarkan di http://127.0.0.1:3080. Ia menyediakan percakapan, bilah sisi sesi, pilihan izin, mode perencanaan, kartu alat, dan interaksi ruang kerja.

Web UI juga menyediakan empat mode preset Agen. Mereka bukan empat set Agen yang independen satu sama lain, juga bukan hanya mengubah gaya prompt, melainkan berdasarkan host Harness yang sama, merakit alat, prompt, dan kemampuan runtime yang berbeda untuk sesi saat ini:

Mode Standar: Agen pengkodean serbaguna dengan fungsi paling lengkap, menyediakan pengeditan file, Shell, pencarian file dan web, Skills, perencanaan, tujuan, sub-Agen, dan alur kerja, cocok untuk sebagian besar tugas pengembangan sehari-hari;
Mode PTC: Mempertahankan semua kemampuan mode standar, sekaligus menyajikan alat ke model melalui Code Mode SDK. Model dapat menulis program TypeScript, menggabungkan beberapa langkah operasi dalam satu run_code, mengurangi overhead bolak-balik antara model dan alat, lebih cocok untuk tugas kompleks dengan rantai panggilan yang panjang;
Mode Minimalis: Hanya menyediakan dua alat: Bash persisten dan str_replace_editor. Kumpulan alat yang lebih kecil mengurangi beban pilihan dan konteks, cocok untuk tugas pengkodean dengan jalur yang jelas, mengharapkan Agen langsung bekerja;
Mode Kreasi: Menambahkan pemeriksaan runtime Cordis, eksperimen plugin sementara, dan panduan pembuatan preset Agen di atas mode standar. Agen tidak hanya dapat menggunakan alat yang ada, tetapi juga mengeksplorasi dan menyusun kembali runtime-nya sendiri, sehingga menciptakan preset kustom baru. Karena ia dapat menjalankan kode plugin yang ditulis oleh model, ini adalah mode kepercayaan tinggi yang ditujukan untuk pengguna tingkat lanjut.
Sekumpulan preset ini mungkin merupakan ekspresi produk paling intuitif dari "semuanya adalah plugin": routing model, persistensi sesi, sandbox, dan persetujuan dasar masih disediakan oleh host bersama, preset hanya menentukan kemampuan spesifik mana yang dimuat dalam sebuah Konteks Agen. Web UI yang sama, oleh karena itu, dapat beralih dari Agen minimalis dengan dua alat, ke mode standar yang dapat mengatur sub-Agen, bahkan lebih lanjut menjadi mode kreasi yang dapat memodifikasi dirinya sendiri.

Sebagai contoh, di sini dalam mode kreasi, kami meminta DeepSeek Harness yang terhubung dengan DeepSeek V4 Pro untuk membuat "mode tiga kolom" yang tidak dimiliki oleh Web UI resmi:
Di luar Web UI, TUI ditujukan untuk pengembang yang suka tetap berada di terminal.

Mode Headless cocok untuk skrip dan CI: ia menerima tugas, menunggu Agen benar-benar berhenti stabil, mengeluarkan balasan efektif terakhir, dan keluar. Jika program memerlukan peristiwa terstruktur dan kontrol berkelanjutan, maka sebaiknya menggunakan ACP atau JSON-RPC/Python SDK.
Untuk otomatisasi, proyek menyediakan layanan ACP dan pintu masuk JSON-RPC. SDK Python menggerakkan runtime JSON-RPC yang disertakan, memungkinkan aplikasi Python memulai sesi, mengirim tugas, menerima pemberitahuan, tanpa harus menyematkan kernel Node secara langsung. Repositori juga berisi contoh-contoh Code Mode, Cordis self-referential, layanan memori MCP, dll.
Perlu diperhatikan, pintu-pintu masuk ini bukan empat set Agen yang berkembang masing-masing. Mereka berbagi model kemampuan inti, semantik peristiwa sesi, dan sebagian besar plugin dasar, tetapi bukan hanya mengganti satu lapisan UI, melainkan merakit bentuk produk seperti Web, tugas sekali pakai, dan layanan otomatisasi melalui bundel yang berbeda. Ini adalah hasil paling intuitif dari "semuanya adalah plugin".
Agen Dapat Memeriksa Bahkan Memodifikasi Dirinya Sendiri
DeepSeek Harness juga menyediakan seperangkat alat Cordis self-referential. Mereka tidak akan masuk ke mode standar, PTC, atau minimalis, melainkan disediakan melalui "Mode Kreasi" di Web UI sebagai pintu masuk tingkat lanjut yang eksplisit. Setelah memilih preset ini, Agen dapat memeriksa pohon plugin runtime saat ini, dan secara dinamis memasang atau melepas plugin sementara.

Ini terdengar sedikit seperti meminta mobil mengganti mesinnya sendiri di jalan raya, oleh karena itu proyek tidak membukanya secara default. Ini cocok untuk penelitian atau skenario otomatisasi tingkat lanjut: model dapat sementara menulis pendengar peristiwa, mendaftarkan alat baru, menyediakan layanan, lalu melepasnya setelah tugas selesai.
Agen yang dapat memodifikasi dirinya sendiri mudah menjadi demonstrasi konsep, tetapi setidaknya Harness memasukkannya ke dalam siklus hidup plugin yang ada. Plugin dinamis masih berjalan di bawah mekanisme Context dan Effect Cordis, item yang terdaftar memiliki jalur pembersihan yang jelas.
Itu masih jauh dari aman, namun menunjukkan tempat yang benar-benar ingin dituju oleh arsitektur ini: agen cerdas tidak hanya menggunakan kemampuan, tetapi juga dapat menyusun kembali runtime-nya sendiri dalam batas yang dikendalikan.
Desain di balik Cordis, dapat merujuk pada makalah yang dirilis bersamaan oleh pihak resmi "A Programming Paradigm for Spatiotemporal Composability":

Alamat makalah: https://github.com/cordiverse/paper
Kebijakan Keamanan
Agen pemrograman begitu mendapatkan izin sistem file dan Shell, dapat memodifikasi kode, menginstal dependensi, memulai proses, bahkan menyentuh lingkungan host di luar ruang kerja. DeepSeek Harness jelas menganggap ini sebagai masalah infrastruktur dasar, bukan sekadar menambahkan kotak dialog konfirmasi pada antarmuka dan selesai.
Proyek default menggunakan mode workspace-write, membatasi eksekusi perintah dan modifikasi file pada ruang kerja saat ini dan direktori sementara yang diizinkan, dan dikombinasikan dengan kebijakan persetujuan ask untuk menangani operasi yang perlu memperluas izin. Mode danger-full-access yang lebih longgar juga ada, tetapi harus dipilih secara eksplisit oleh pihak penyebaran; itu tidak akan dibungkus sebagai opsi kompatibilitas yang tampaknya tidak berbahaya.

Pemanggilan alat juga harus melalui kebijakan pra-pemrosesan, penjaga keamanan monoton, pembungkusan eksekusi, dan pasca-pemrosesan. Operasi yang ditolak oleh penjaga tidak dapat diizinkan kembali oleh plugin berikutnya; perintah yang perlu memperluas izin harus menjelaskan alasannya, dan dicoba ulang melalui mekanisme persetujuan. Sistem file, Bash, dan subproses berbagi kebijakan sandbox yang sama, menghindari batas terpisah seperti "perintah dibatasi, tetapi alat file dapat dilewati".
Yang lebih patut dipuji adalah, DeepSeek Harness mengadopsi prinsip "fail closed". Jika sistem tidak dapat memastikan mekanisme isolasi benar-benar berlaku, ia akan menolak eksekusi, bukan diam-diam merosot menjadi eksekusi tanpa perlindungan. Peralihan izin, permintaan persetujuan, parameter alat, hasil eksekusi, dan alasan pembatalan juga akan masuk ke Session Log, menyimpan dasar untuk audit setelah kejadian dan reproduksi masalah.
Desain ini tidak dapat menghilangkan semua risiko agen cerdas mengeksekusi operasi lokal, namun ia mencerminkan sikap rekayasa yang langka: keamanan adalah kendala sistem yang meresapi mekanisme konfigurasi, eksekusi, persetujuan, log, dan pemulihan. Model dapat mengusulkan tindakan, tetapi yang benar-benar memutuskan apakah tindakan dapat terjadi, tetap adalah Harness.
Apa yang Ingin Dilakukan DeepSeek Bukan Hanya "Codex Lain"
Jika hanya melihat Web UI atau TUI, mudah untuk memahami DeepSeek Harness sebagai versi DeepSeek dari Codex, Claude Code, atau asisten pemrograman lainnya. Namun dari struktur repositori, tujuannya jelas lebih mendasar.
Aplikasi default tentu penting, ia memungkinkan pengembang langsung mendapatkan alat yang dapat membaca/menulis proyek, menjalankan perintah, merencanakan tugas, dan memanggil sub-Agen. Namun yang benar-benar menempati pusat proyek adalah antarmuka kemampuan yang dapat diganti, siklus hidup yang digerakkan peristiwa, log sesi otoritatif, dan komposisi deklaratif. Dengan kata lain, Agen produk jadi lebih mirip klien pertama dari SDK ini.
Ini juga melengkapi ekosistem model DeepSeek dengan potongan puzzle yang sebelumnya kurang menonjol. Model menentukan batas atas kecerdasan, Harness menentukan bagaimana kecerdasan ini memasuki lingkungan nyata, bagaimana menggunakan alat, bagaimana mempertahankan status, dan bagaimana bekerja dalam batas izin. Bagi pengembang perusahaan, yang terakhir sering kali lebih penting daripada beberapa tombol tambahan di jendela obrolan, karena itu menentukan apakah sistem dapat diaudit, diperluas, diganti, dan dipelihara dalam jangka panjang.
DeepSeek Harness sekarang masih jauh dari tahap "instalasi selesai, semuanya lancar", tetapi ia telah menunjukkan penilaian teknis yang cukup lengkap: Agen seharusnya bukan hanya loop yang semakin membengkak, melainkan seperangkat kemampuan yang dapat dikombinasikan, diamati, dan diganti; sesi seharusnya bukan hanya catatan obrolan, melainkan fakta eksekusi; alat seharusnya bukan hanya fungsi, melainkan juga harus memiliki kebijakan, log, dan protokol presentasi.
Oleh karena itu, yang paling patut diperhatikan dari DeepSeek Harness, bukan apakah ia hari ini dapat menggantikan asisten pemrograman yang Anda gunakan, melainkan seberapa jauh ia mempublikasikan jawaban DeepSeek terhadap rekayasa Agen.
Artikel ini dari akun WeChat publik "机器之心" (ID: almosthuman2014), penulis: Mesin Hati yang Mengikuti DSH





