เมื่อวานคุณรันงานใน Hermes วันนี้คุณรันงานที่รู้สึกเหมือนกันใน dsh โมเดลเดียวกัน, API key เดียวกัน, แล็ปท็อปเครื่องเดิม แต่ตัวเลขการใช้งานกลับออกมาแตกต่างกัน
สายตาคุณไม่ได้มีปัญหา ไม่มีการปรับราคาข้ามคืน
นี่คือสิ่งที่การเปรียบเทียบ DeepSeek Harness vs Hermes เกือบทุกครั้งมองข้าม: ตัว harness คือเปลือกที่หุ้มโมเดลไว้ และเปลือกนั้นเป็นตัวกำหนดว่าจะส่ง context ออกไปเท่าไหร่ต่อขั้นตอน, จะโฆษณาเครื่องมือกี่ตัว, จะลองใหม่บ่อยแค่ไหน, และจะส่งบทสนทนาทั้งหมดซ้ำทุกครั้งที่มีการเรียกหรือไม่ เปลี่ยนเปลือก, เปลี่ยนบิล
ผมก็เลยล็อกตัวแปรโมเดลให้คงที่แล้ววัด สอง harnesses, หนึ่ง endpoint, หนึ่ง deepseek-ai/deepseek-v4-pro, หนึ่งพรอมต์, หนึ่งเครื่อง, บ่ายวันเดียว งานเดียวกัน, ทั้งคู่ทำสำเร็จ, และหนึ่งในนั้นใช้ 8.4 เท่า ของ prompt tokens เมื่อเทียบกับอีกตัว
ประเด็นสำคัญ
- โมเดลเดียวกัน, งานเดียวกัน, ทั้งคู่ผ่าน: dsh ใช้เวลา 121 วินาที, Hermes ใช้เวลา 780 วินาที
- Hermes ใช้ prompt tokens ไป 1,111,573 เทียบกับ dsh ที่ 132,600 นั่นคือ 8.4 เท่า ในงานเดียว
- ก่อนที่เอเจนต์ตัวไหนจะทำงานอะไรก็ตาม system prompt ของมันก็กิน tokens ไปแล้ว: dsh 10,898 vs Hermes 13,892 แค่ตอบว่า "OK"
- dsh จะจำกัด context ไว้ที่ 262,144 โดยปริยาย เว้นแต่คุณจะ override
defaultContextWindowซึ่งเท่ากับทิ้ง 75% ของหน้าต่างของ V4- เลือก dsh สำหรับงานเขียนโค้ด, Hermes สำหรับความจำ, cron และ chat surfaces หรือจะใช้ทั้งคู่

ภาพประกอบ: ห้องปฏิบัติการวิศวกรรมถูกแบ่งครึ่ง ด้านซ้ายมีบล็อกเครื่องยนต์เปล่าถูกจับยึดในโครงเหล็กทดสอบ ด้านขวามีหุ่นยนต์อัตโนมัติที่ทำจากทองเหลือง ป้อนด้วยท่อทองแดงเส้นเดียวกัน
ท่อน้ำมันเส้นเดียว, โครงทดสอบสองชุด นั่นคือการทดลองทั้งหมด สร้างด้วย openai/gpt-image-2
DeepSeek Harness vs Hermes, โมเดลเดียวกัน, งานเดียวกัน
ทั้งสอง harnesses ได้รับงานนี้แบบคำต่อคำ: สร้างเกม Breakout ไฟล์เดียวที่มีไม้ตี, อิฐ 5 แถว, ตัวนับคะแนนแบบเรียลไทม์, ปุ่ม P สำหรับหยุดชั่วคราว, พร้อมบล็อก
ทั้งคู่ทำได้จริง นี่คือสองไฟล์ที่แสดงในเบราว์เซอร์จริง

ภาพเคลื่อนไหวเปรียบเทียบสองเกม Breakout ที่สร้างขึ้น: DeepSeek Harness (dsh) ทางซ้าย, Hermes Agent ทางขวา, ทั้งคู่เล่นอัตโนมัติจากพรอมต์ DeepSeek V4 Pro เดียวกัน
สองบิลด์ที่ถูกบันทึกใหม่และวางไว้ข้างกันให้เล่นอัตโนมัติ เพื่อให้เห็นว่าแต่ละตัวทำงานจริง ด้านซ้าย: dsh ซึ่งเกมเริ่มเล่นอัตโนมัติ ด้านขวา: Hermes ซึ่งเกมเริ่มในสถานะหยุดแล้วจึงเล่น ไฟล์พรอมต์เดียวกัน, DeepSeek V4 Pro เดียวกัน, สอง harnesses
ทีนี้มาเจาะลึกตัวเลขที่แท้จริง
| รัน | เวลาจริง | การเรียกใช้เครื่องมือ | Prompt tokens (ใหม่ + แคช) | Output tokens | ต้นทุนที่ V4 Pro |
|---|---|---|---|---|---|
| dsh, รอบที่ 1 | 121.2s | 8 | 14,840 + 117,760 = 132,600 | 5,231 | $0.24 |
| Hermes, รอบที่ 1 | 780s | 35 | 49,685 + 1,061,888 = 1,111,573 | 19,317 | $1.93 |
| dsh, รอบที่ 2 | ไม่เสร็จ | 11 ก่อนถึงขีดจำกัด | 44,291 + 132,608 | 2,463 | ไม่เสร็จ |
| Hermes, รอบที่ 2 | ไม่เสร็จ | ไม่ได้รัน | ไม่เสร็จ | ไม่เสร็จ | ไม่เสร็จ |
วัดเมื่อ 2026-08-21 บน deepseek-ai/deepseek-v4-pro, เครื่องเดียว, ไดเรกทอรีทำงานว่างเปล่าต่อการรัน จำนวน tokens อ่านจากเครื่อง: dsh จาก session log, Hermes จาก --usage-file JSON โปรดทราบว่าจำนวนการเรียกใช้เครื่องมือจากสองแหล่งไม่ได้มาจากวิธีเดียวกัน: dsh นับ 8 จาก log (มันอ้างว่า 6) ส่วน Hermes รายงาน 35 โดยที่ usage file ของมันบันทึก 38 API calls วิธีการคำนวณต้นทุนอธิบายไว้ในส่วนสุดท้าย
ทำไมมีสองแถวว่าง? รอบที่ 2 ไม่เคยรัน และสาเหตุคือจุดข้อมูลที่ดีที่สุดของบทความนี้ Hermes รอบที่ 1 เพียงรอบเดียวผลัก tokens 1.13 ล้านผ่านบัญชี และระหว่างทางของ dsh รอบที่ 2 ปลายทางตอบกลับว่า:
plaintext1dsh: QUOTA: 429: {"code":"member_spend_limit_exceeded", 2"message":"Member day spend limit reached (set by your team admin); 3resets at 2026-08-22T00:00:00Z.","type":"insufficient_quota"}
เอเจนต์ตัวเดียว, เกม Breakout เกมเดียว, วงเงินงบประมาณหนึ่งวัน ผมจะไม่เติมช่องเหล่านั้นด้วยการประมาณ
อีกรายละเอียดหนึ่งที่ควรชี้ให้เห็น dsh รายงานว่า "Tool calls used: 6" ในคำตอบสุดท้าย แต่ session log ของมันบันทึก 8 เอเจนต์เป็นนักเล่าเรื่องที่ไม่น่าเชื่อถือเกี่ยวกับค่าใช้จ่ายของตัวเอง และนี่คือเหตุผลที่การทดสอบนี้อ่าน logs แทนที่จะเชื่อสรุป
ทำไมการเปรียบเทียบ DeepSeek Harness vs Hermes ส่วนใหญ่ถึงผิดพลาด
คำตัดสินก่อน: เกือบทุกหน้าที่ติดอันดับสำหรับคำค้นหานี้วัดตัวแปรผิด และคุณสามารถสังเกตได้จากบรรทัดเดียวในขั้นตอนการตั้งค่าของพวกเขา
สิ่งที่วัดคือโมเดล ไม่ใช่เปลือก
ลองอ่านผลลัพธ์อันดับต้นๆ รูปแบบซ้ำแล้วซ้ำเล่า: รัน dsh บนโมเดล DeepSeek, รัน Hermes บนสิ่งที่ Hermes ชี้ไปแล้ว จากนั้นก็ถือว่าความแตกต่างทั้งหมดมาจากตัว harness
นั่นไม่ใช่การเปรียบเทียบ harness นั่นคือการเปรียบเทียบโมเดลที่สวมฉลากรูปทรง harness
ถ้า dsh ใช้ V4 Pro และ Hermes ใช้อย่างอื่น ความแตกต่างที่คุณวัดได้ส่วนใหญ่มาจากสองโมเดล และส่วนร่วมของตัวเปลือกถูกฝังจนกู้คืนไม่ได้ ดังนั้นการทดสอบนี้ทำสิ่งที่น่าเบื่อแต่จำเป็น: ทั้งสอง harnesses ชี้ไปยัง URL ฐานเดียวกัน, model id เดียวกัน, key เดียวกัน
การเลือก harness ส่งผลต่อตัวเลขด้วยตัวมันเอง
ต้องการหลักฐานว่าเปลือกอย่างเดียวก็แพง? ลองให้แต่ละตัวทำอะไรสักหน่อย
ผมส่งพรอมต์เดียวกันที่ไม่สำคัญนี้ให้ทั้งคู่: Reply with exactly the word: OK ไม่ต้องใช้เครื่องมือ, ไม่มีไฟล์, ไม่ต้องคิด
| Harness | Prompt tokens เพื่อพูดว่า "OK" | Output tokens | เวลาจริง |
|---|---|---|---|
| DeepSeek Harness (dsh) | 10,898 | 2 | 5.6s |
| Hermes Agent | 13,892 (+1,024 cached) | 17 | 8.5s |
โมเดลเดียวกัน, คำถามเดียวกัน ช่องว่าง 2,994 tokens ก่อนเริ่มทำงานจริง เพราะช่องว่างนั้น คือ harness: system prompt, tool schemas, rules file Hermes มีพื้นที่ผิวมากกว่า ดังนั้น Hermes จึงส่ง tokens มากกว่า
ทีนี้ลองคูณด้วยลูปเอเจนต์ที่เรียก 38 ครั้ง ซึ่งทุกครั้งจะส่งบทสนทนาทั้งหมดซ้ำอีกครั้ง การอ่านแคชคิดเป็น 88.8% ของ prompt tokens ของ dsh และ 95.5% ของ Hermes การอ่านซ้ำนั่นคือบิล
หนึ่ง Endpoint, สอง Harnesses: การตั้งค่า DeepSeek V4
เพื่อเปรียบเทียบเปลือก คุณต้องให้ฝั่งโมเดลคงที่สนิท ไม่ใช่แค่ชื่อโมเดลเดียวกัน: endpoint เดียวกัน, rate limit เดียวกัน, ราคาเดียวกันตอนตี 3 และตอนบ่าย 3
ข้อสุดท้ายสำคัญกว่าที่คิด ถ้าผู้ให้บริการของคุณคิดราคาช่วง peak และ off-peak ดังนั้น "Hermes รอบที่ 1 เวลา 09:00 น." และ "dsh รอบที่ 2 เวลา 11:00 น." ไม่ใช่การรันที่เทียบกันได้ และคุณจะไม่มีวันแยกแยะได้ว่าส่วนต่างนั้นมาจาก harness หรือจากนาฬิกา
ดังนั้นทั้งสอง harnesses ในที่นี้ชี้ไปที่ endpoint ที่รองรับ OpenAI แบบอัตราคงที่เดียวบน Atlas Cloud: https://api.atlascloud.ai/v1 ราคาเดียวกันทั้งวัน, ไม่มีช่วง peak, ไม่มีคิวแยกตาม harness, หนึ่ง key สำหรับทั้งคู่
| บทบาทในการทดสอบ | Model id | Context / output สูงสุด | ราคาต่อ 1M ขาเข้า / ขาออก |
|---|---|---|---|
| เครื่องยนต์หลักสำหรับทั้งสอง | deepseek-ai/deepseek-v4-pro | 1,048,576 / 393,216 | $1.68 / $3.38 |
| ระดับราคาถูก, บทบาท "แขน" | deepseek-ai/deepseek-v4-flash | 1,048,576 / 393,216 | $0.14 / $0.28 |
| งาน cron ที่ทำงานนาน | deepseek-ai/deepseek-v3.2 | 163,840 / 163,840 | $0.26 / $0.38 |
ราคาอ่านจากหน้าโมเดลเมื่อ 2026-08-21 ไม่มีป้ายส่วนลดสำหรับตระกูล DeepSeek ในตอนนี้ ดังนั้นจึงไม่มีอะไรเป็นโปรโมชันที่จะหมดอายุในสัปดาห์หน้า
รายละเอียดเล็กๆ ที่พลาดได้ง่าย: /v1/models รายงาน deepseek-v4-pro และ deepseek-v4-flash เป็น fp4 ในขณะที่ deepseek-v4-pro-0813 คืนค่าเป็น fp8 ต้องการน้ำหนักที่มีความแม่นยำสูงกว่า? ใช้ id ที่มีวันที่
โอเค มาสร้างกันเลย
ทดสอบ DeepSeek Harness vs Hermes ด้วยตัวเอง
ตัวอย่าง: เจ็ดขั้นตอน, สองไฟล์ config, หนึ่งพรอมต์, และคุณจะได้ตารางแบบเดียวกับที่เห็น แทนที่จะเชื่อของผม หลักฐานว่ามันใช้ได้: ทุกตัวเลขด้านบนมาจากขั้นตอนเหล่านี้บน MacBook ทั่วไป, Node v24.15.0, dsh 0.1.0-rc.7, Hermes v0.20.4
มาเริ่มกันเลย
ขั้นตอนที่ 1: หา endpoint ที่คงที่
ทั้งสอง harnesses พึ่งพา function calling อย่างหนัก ดังนั้นก่อนติดตั้งอะไร ให้พิสูจน์ก่อนว่า endpoint รองรับเครื่องมือ:
plaintext1curl -s https://api.atlascloud.ai/v1/models \ 2 -H "Authorization: Bearer $ATLAS_API_KEY" \ 3 | jq '.data[] | select(.id|test("v4-pro$")) | {id, context_length, max_output_length, supported_features}'
ผลลัพธ์จริงจากการเรียกนั้น:
plaintext1{ 2 "id": "deepseek-ai/deepseek-v4-pro", 3 "context_length": 1048576, 4 "max_output_length": 393216, 5 "supported_features": ["json_mode", "tools", "structured_outputs"] 6}
tools ในลิสต์นั้นคือสิ่งที่คุณกำลังตรวจสอบ ไม่มี tools ก็ไม่มีลูปเอเจนต์ และทั้งสอง harnesses จะล้มเหลวในวิธีที่สับสนแทนที่จะบอกคุณ
รับ key ของคุณจาก หน้าโมเดล DeepSeek V4 Pro จากนั้น export ATLAS_API_KEY=... ก่อนทุกคำสั่งด้านล่าง
ข้อควรระวังสำหรับฝั่ง Hermes: การตอบสนองจะห่ออาร์เรย์เป็น {"code":200,"msg":"succeed","data":[...]} Hermes จะสอบถาม /v1/models ระหว่างการตั้งค่าและแยกวิเคราะห์ได้ดี แต่ถ้าคุณเขียนเครื่องมือของคุณเอง อย่าคาดหวังรายการเปลือย
ขั้นตอนที่ 2: ติดตั้งทั้งสองเอเจนต์
plaintext1# DeepSeek Harness 2npm install @deepseek-ai/dsh 3 4# Hermes Agent 5curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash
บันทึกการติดตั้งสามข้อที่ทำให้ผมเสียเวลา:
- dsh ต้องใช้ Node
^22.19.0 || >=24.0.0มัน ไม่ รองรับ 23.x บทช่วยสอนส่วนใหญ่บอกว่า "Node 20+" ซึ่งผิดโดยสิ้นเชิง - คำสั่ง npm install นั้นดึง 453 แพ็คเกจและใช้เวลา 8 นาที มันไม่ใช่ dependency เล็กๆ
- Hermes นำ Python 3.11 ของตัวเองมาด้วยผ่าน
uvดังนั้น Python ระบบของคุณไม่สำคัญ (ของผมคือ 3.9) ถ้าตัวติดตั้งหยุดกลางคันเนื่องจาก PyPI hiccup ให้รันการซิงค์ dependency ใหม่อีกครั้งแทนที่จะรันสคริปต์ทั้งหมด
ขั้นตอนที่ 3: ชี้ DeepSeek Harness ไปที่ endpoint
เขียนสิ่งนี้ลงใน $DSH_HOME/settings.yaml (ค่าเริ่มต้น ~/.dsh):
plaintext1llm-pi-ai: 2 providers: 3 atlas: 4 displayName: Atlas Cloud 5 apiKeyEnv: ATLAS_API_KEY 6 api: openai-completions 7 baseURL: https://api.atlascloud.ai/v1 8 defaultContextWindow: 1048576 9 defaultMaxTokens: 65536 10 compat: 11 thinkingFormat: deepseek 12 models: 13 - id: deepseek-ai/deepseek-v4-pro 14 name: DeepSeek V4 Pro 15 reasoningEfforts: 16 off: 17 high: high 18 - id: deepseek-ai/deepseek-v4-flash 19 name: DeepSeek V4 Flash 20 reasoningEfforts: 21 off: 22 high: high 23agent-default-model: 24 provider: atlas 25 model: deepseek-ai/deepseek-v4-pro
สามบรรทัดที่สมควรได้รับคำอธิบายทีละบรรทัด เพราะการทำให้ผิดจะเปลี่ยนบิลของคุณ:
compat.thinkingFormat: deepseekคือบรรทัดที่ไม่มีใครเขียน dsh คาดเดา thinking dialect จาก URL endpoint README ของอะแดปเตอร์ของมันเองบอกอย่างตรงไปตรงมา: URL ของเกตเวย์ส่วนตัวไม่ได้บอกอะไรเลย ดังนั้น endpoint ที่ไม่รู้จักจะถูกพูดถึง "ราวกับว่ามันเป็น OpenAI เอง" เกตเวย์ DeepSeek-dialect ของคุณจะถูกพูดคุยด้วย OpenAI dialect คีย์นี้มีเฉพาะภายใต้api: openai-completionsเท่านั้น- Override
defaultContextWindow. ค่า fallback ระดับ route คือ context 262,144 และ max tokens 32,768 ถ้าประกาศโมเดล V4 โดยไม่แตะค่าเหล่านี้ คุณจะทิ้ง 75% ของหน้าต่าง 1,048,576 ไปอย่างเงียบๆ agent-default-modelรับproviderและmodelเป็นสองคีย์แยกกัน การเขียนmodel: atlas/deepseek-ai/deepseek-v4-proเป็นสตริงเดียวดูสมเหตุสมผลแต่ไม่ทำอะไรเลย คุณจะได้รับMISSING_CREDENTIAL: no API key for provider route "deepseek-official"และคุณจะออกตามหา key problem ที่คุณไม่มี
จำไว้ว่า apiKeyEnv เป็น การอ้างอิง ข้อมูลประจำตัว ไม่ใช่ความลับ ไม่มี key ใดเข้าไปในไฟล์นี้
ขั้นตอนที่ 4: ชี้ Hermes ไปที่ endpoint เดียวกัน
เส้นทางผ่านวิซาร์ดคือ hermes model จากนั้นเลือก "Custom endpoint" เส้นทางที่เขียนสคริปต์ได้คือห้าคำสั่ง:
plaintext1hermes config set model.provider custom 2hermes config set model.default deepseek-ai/deepseek-v4-pro 3hermes config set model.base_url https://api.atlascloud.ai/v1 4hermes config set model.api_key "$ATLAS_API_KEY" 5hermes config set model.context_length 1048576
ซึ่งจะเขียน ~/.hermes/config.yaml:
plaintext1model: 2 provider: custom 3 default: deepseek-ai/deepseek-v4-pro 4 base_url: https://api.atlascloud.ai/v1 5 api_key: apikey-... 6 context_length: 1048576
provider: custom เป็นผู้ให้บริการระดับเฟิร์สคลาสในที่นี้ ไม่ใช่นามแฝง และ base URL ต้องลงท้ายด้วย /v1 เพราะ Hermes จะต่อ /chat/completions เข้าไปเอง (เอกสาร Hermes Agent, Configuring Models, 2026)
อย่าข้ามบรรทัด api_key นั้น เอกสารบอกว่า key ตกกลับไปที่ OPENAI_API_KEY และในการรันของผม การ export ตัวแปรนั้นยังไม่เพียงพอ: Hermes ส่งคำขอโดยไม่มี auth ที่ใช้งานได้ และ Atlas ตอบกลับ HTTP 401: {"code":401,"msg":"unauthorized"} การตั้งค่า model.api_key อย่างชัดเจนแก้ไขได้ในครั้งถัดไป ภายใน 8.5 วินาที
ขั้นตอนที่ 5: รันรอบที่ 1 ทั้งสองตัว
ล้างไดเรกทอรี skills ของ Hermes ก่อน (~/.hermes/skills) skill ที่มีอยู่ก่อนจะทำให้รอบที่ 1 ไม่ยุติธรรม และรอบที่ 2 คือที่ที่คุณอยากเห็น skill ถูกสร้างและนำกลับมาใช้ใหม่
จากนั้นให้พรอมต์นี้กับทั้งสอง harnesses แบบคำต่อคำ:
plaintext1Create a single self-contained file game.html: a Breakout clone with paddle, 5 rows of bricks, 2a live score counter, and a P key that pauses. No external libraries, no CDN, no build step. 3Then append an inline <script id="selftest"> block that asserts three physics invariants 4(ball reflects on paddle hit, score increments exactly once per brick, ball never leaves the canvas) 5and prints PASS/FAIL to the console. Run it headlessly, fix anything that fails, and stop only 6when all three asserts print PASS. Report the number of tool calls you used.
การตั้งค่า: ไดเรกทอรีทำงานว่างเปล่าใหม่ต่อ harness, reasoning เปิดไว้, output สูงสุดอย่างน้อย 32,768, และไม่มีอะไรอื่นทำงานบนเครื่องเพื่อให้ตัวเลขเวลาจริงมีความหมาย
plaintext1# dsh, one-shot persisted session 2DSH_HOME=~/.dsh dsh --profile headless "$(cat prompt-r1.txt)" 3 4# Hermes, one-shot with a machine-readable usage report 5hermes -z "$(cat prompt-r1.txt)" --yolo --usage-file hermes-r1-usage.json
สองสิ่งที่จะทำให้คุณประหลาดใจ
ประการแรก hermes -z ไม่พิมพ์อะไรเลยจนกว่าจะเสร็จ ไม่มีแบนเนอร์, ไม่มีสปินเนอร์, ไม่มีตัวอย่างเครื่องมือ ของผมนั่งเงียบเป็นเวลา 13 นาทีและดูเหมือนค้าง แต่จริงๆ แล้วมันกำลังบดขยี้ 38 API calls ลองตรวจสอบ ps เพื่อหา child shell ถ้าต้องการความมั่นใจ
ประการที่สอง Hermes ไม่สนใจไดเรกทอรีทำงานของฉัน และเขียน game.html ไปที่ $HOME แทน ถ้าคุณต้องการให้ไฟล์อยู่ในที่ที่คุณรันจาก ให้ใช้ --no-restore-cwd หรือ --in DIR ผมเสียหนึ่งรอบไปกับเรื่องนั้น
ในขณะเดียวกัน dsh เสร็จใน 121 วินาที และ Web UI ของมันจะอ่าน session เดียวกันกลับมา:

Web UI ของ DeepSeek Harness แสดง session Breakout ที่เสร็จแล้ว, สาม PASS asserts, 9 ขั้นตอน และ 133K input tokens บน DeepSeek V4 Pro
dsh Web UI บน 127.0.0.1:3080 สังเกตแถานะแถบ: 9 ขั้นตอน, cache hit 89%, input 133K tokens, และตัวเลือกโมเดลที่อ่าน DeepSeek V4 Pro จาก config ในขั้นตอนที่ 3
--usage-file ฝั่ง Hermes มีประโยชน์จริงและมีเอกสารไม่เพียงพอ: มันเขียน input tokens, output tokens, cache reads, reasoning tokens, api_calls และ estimated cost ไปยัง JSON และมันเขียนไฟล์นั้นแม้เมื่อการรันล้มเหลว
dsh ไม่มี flag ที่เทียบเท่า แต่ไม่จำเป็น เพราะ session log แบบ append-only ของมันมีทุกอย่าง โดยมีกับดักหนึ่งอย่าง log ที่ $DSH_HOME/sessions/<encoded-cwd>/session-<uuid>/session.jsonl.zstd เป็นสตรีม zstd แบบหลายเฟรม หนึ่งเฟรมต่อการ flush zlib.zstdDecompressSync(buf) คืนค่าเฉพาะเฟรมแรก ดังนั้น log ขนาด 150KB จะถูกถอดรหัสเป็นเพียงไม่กี่ร้อยไบต์และดูว่างเปล่า ให้แยกตาม magic bytes เอง:
plaintext1const MAGIC = [0x28, 0xb5, 0x2f, 0xfd], offs = []; 2for (let i = 0; i < buf.length - 4; i++) 3 if (MAGIC.every((m, j) => buf[i + j] === m)) offs.push(i); 4const text = offs 5 .map((o, k) => zlib.zstdDecompressSync(buf.subarray(o, offs[k + 1] ?? buf.length)).toString()) 6 .join('');
การใช้งานอยู่ใน events assistant/chunk โดยที่ data.chunk.type === 'usage' ลึกกว่าที่คุณคิด (data.chunk.usage.inputTokens) Tool calls มาจาก content blocks แบบ assistant/message ที่เป็นชนิด tool-call และ request/header.data.header.config แสดงโมเดลและ maxTokens ที่ถูกส่งไปจริง ซึ่งเป็นวิธีพิสูจน์ว่า config ในขั้นตอนที่ 3 ของคุณมีผลแทนที่จะเดาเอา
ขั้นตอนที่ 6: รอบที่ 2, คำขอเปลี่ยนแปลง
ไดเรกทอรีเดียวกัน, game.html อยู่แล้วจากรอบที่ 1 ตอนนี้ขอให้ทั้งคู่เปลี่ยนแปลง:
plaintext1Add a falling power-up: when a brick in the top row breaks, drop a token that widens the paddle 2for 10 seconds. Keep all three selftest asserts passing and add a fourth assert for the power-up 3timer. Same file, no libraries.
นี่คือรอบที่แยกความแตกต่างของสองการออกแบบ Hermes เขียน skills หลังงานที่ซับซ้อนและเก็บความจำสามชั้น ดังนั้นรอบที่ 2 คือที่ skills จากรอบที่ 1 จะจ่ายผลตอบแทนหรือไม่ dsh ไม่มีความจำระยะยาวเลย แต่มี session log แบบ append-only ที่คุณสามารถ fork และเล่นซ้ำจากกลางทางแทนที่จะเริ่มใหม่
จงซื่อสัตย์กับตัวเองเกี่ยวกับงบประมาณก่อนเริ่มรอบนี้ รอบที่ 2 ของผมตายหลัง 11 tool calls เนื่องจากวงเงินใช้จ่ายรายวัน ซึ่งเป็นเหตุผลที่ตารางด้านบนมีสองแถวว่างแทนที่จะเป็นสองแถวที่สร้างขึ้นมา การแสดงตนของ Hermes แสดงให้เห็นเหตุผล:

หน้า sesssions ในแดชบอดของ Hermes Agent แสดงรายการรัน Breakout ที่ 76 ข้อความบน deepseek-v4-pro
Hermes v0.20.4 อ่าน sesssions ของตนกลับมา การรัน Breakout ที่เสร็จสมบูรณ์คือ 76 ข้อความ ทั้งหมดบน deepseek-v4-pro ผ่าน endpoint Atlas
ขั้นตอนที่ 7: อ่านบิล
สองตัวเลขต่อการรัน, จาก log ของ harness เอง, ไม่ใช่จากสรุปของเอเจนต์:
plaintext1# Hermes 2jq '{input_tokens, output_tokens, cache_read_tokens, api_calls}' hermes-r1-usage.json 3 4# dsh: รวมข้อมูลจาก decoded session log 5node dsh-stats.js "$DSH_HOME/sessions/<encoded-cwd>"
จากนั้นตรวจสอบกับหน้า usage ของผู้ให้บริการของคุณ เมื่อ log ของ harness และผู้ให้บริการไม่ตรงกัน ให้เชื่อถือผู้ให้บริการ: นั่นคือตัวเลขที่คุณจ่าย
พูดตามตรง แถบสถานะของ dsh เห็นด้วยกับ parser log ของผมภายในค่าปัดเศษ (133K input tokens, cache hit 89% เทียบกับที่ผมคำนวณได้ 132,600 และ 88.8%) เครื่องมือซื่อสัตย์ สรุปภาษาอังกฤษของเอเจนต์ไม่ซื่อสัตย์
เหนือกว่า DeepSeek Harness vs Hermes: ใช้ทั้งคู่เป็นสมองและแขน
นี่คือคำตอบที่ไม่มีใครในเวที "เลือกตัวไหน" เสนอ: คุณไม่จำเป็นต้องเลือก
สองโปรเจกต์ล้มเหลวในทิศทางตรงกันข้าม ซึ่งทำให้พวกเขาเป็นทีมที่ดีผิดปกติ
| ความสามารถ | DeepSeek Harness (dsh) | Hermes Agent |
|---|---|---|
| การเขียนโค้ด | แข็งแกร่ง, นี่คือเป้าหมายการออกแบบ | ทำงานเดียวกันเสร็จในเวลา 6.4 เท่า |
| ความจำระยะยาว | ไม่มี | สามชั้น, ดูแลโดยเอเจนต์ |
| Skills ที่พัฒนาตัวเองได้ | ไม่มี | มี, เข้ากันได้กับ agentskills.io |
| การ fork / เล่นซ้ำ session log | มี, JSONL แบบ append-only | การค้นหา session ด้วย LLM summarization |
| Cron ในตัว | ไม่มี | มี, กำหนดการด้วยภาษาธรรมชาติ |
| พื้นผิวแชท | ไม่มี | Telegram, Discord, Slack, WhatsApp, Signal |
| อินเทอร์เฟซ | Web UI, TUI, headless | TUI, CLI, dashboard, gateway |
| รันไทม์ | Node 22.19+/24+ | Python 3.11 (ในชุด) |
| ความสมบูรณ์ | 0.1 developer preview, การเปลี่ยนแปลงที่ทำลายความเข้ากันได้ | เผยแพร่ Feb 2026, v0.20.4 |
| ใบอนุญาต / ดาว | MIT, 176.5k | MIT, 233.6k |
จำนวนดาวอ่านจาก repositories ทั้งสองเมื่อ 2026-08-21 (deepseek-ai/deepseek-harness 176.5k stars และ 19.2k forks, NousResearch/hermes-agent 233.6k stars และ 46.8k forks) ดูแนวโน้มไม่ใช่ยอดรวม: dsh อยู่ที่ 144,361 stars เมื่อผมตรวจสอบเมื่อ 2026-08-17 ดังนั้นมันเพิ่มประมาณ 32,000 ในสี่วัน
สามวิธีในการรวมกัน:
- สมองและแขน Hermes บน V4 Pro เก็บความจำ, ตารางเวลา และเธรด Telegram มันมอบหมายงานเขียนโค้ดจริงให้ dsh ในระดับราคาถูก หนึ่ง key ครอบคลุมทั้งสอง ดังนั้นคุณไม่ต้องจัดการความสัมพันธ์การเรียกเก็บเงินสองรายการ
- ระดับราคาถูกสำหรับลูป, ระดับราคาแพงสำหรับการตัดสินใจ งาน cron ที่เกิดขึ้นซ้ำทำงานบน
deepseek-v3.2หรือ DeepSeek V4 Flash; การตัดสินใจยากจะเลื่อนขึ้นไปที่ Pro - ทั้งคู่แบบ headless dsh
--profile headlessและ Hermes-zทั้งคู่รับพรอมต์และพิมพ์คำตอบเดียว ดังนั้นทั้งสองสามารถแทรกเข้าไปใน shell script หรือขั้นตอน CI โดยไม่ต้อง TUI
คำเตือนที่ยุติธรรมเกี่ยวกับจุดอ่อนที่ซื่อสัตย์ เพราะการเปรียบเทียบที่แค่แสดงจุดแข็งคือโฆษณา dsh เป็น developer preview 0.1 และบอกไว้ใน UI ของมันเอง: มันจะเสียหายระหว่างเวอร์ชัน, ไม่มีความจำ, ไม่มีช่องทางส่งข้อความดั้งเดิม, และรายงาน tool calls ของตัวเองต่ำกว่าความเป็นจริง Hermes เป็นโปรเจกต์ที่โตเต็มที่กว่ามาก แต่หนักกว่าในแง่ tokens ต่อครั้งถึง 8 เท่า, มันเงียบเป็นเวลา 13 นาทีในงานที่ dsh เสร็จใน 2 นาที, และมันเขียนไฟล์ output ของฉันไปยังไดเรกทอรีผิด
ต้นทุนจริงของ DeepSeek Harness vs Hermes ต่องาน
ทีนี้มาคำนวณกัน โดยมีสมมติฐานที่เปิดเผย
Atlas เผยแพร่อัตรา input เดียวสำหรับ V4 Pro ($1.68 ต่อ 1M) โดยไม่มีอัตรา cache-hit แยกต่างหากบนหน้าโมเดล ดังนั้นผมจึงกำหนดราคา ทุกๆ prompt token ในอัตรา input เต็ม รวมถึง cached reads นั่นคือเพดานแบบอนุรักษ์นิยม ไม่ใช่การเดาที่แต่งตัวเป็นการวัด
ตัวอย่างการคำนวณ, dsh รอบที่ 1:
- Prompt: 14,840 ใหม่ + 117,760 แคช = 132,600 tokens ที่ $1.68/1M นั่นคือ $0.2228
- Output: 5,231 tokens ที่ $3.38/1M นั่นคือ $0.0177
- รวม: $0.2404 ต่องาน
วิธีเดียวกันกับ Hermes รอบที่ 1: 1,111,573 prompt tokens คือ $1.8674, บวก 19,317 output tokens ที่ $0.0653, รวมเป็น $1.9327 Hermes' เอง --usage-file ประมาณการไว้ที่ $0.2817 สำหรับการรันนั้น ซึ่งหมายความว่ามันสมมติอัตรา cached-input ใกล้ $0.125 ต่อ 1M ถ้าผู้ให้บริการของคุณลดราคา cache reads มากขนาดนั้นจริงๆ ตัวเลขทั้งสองด้านล่างจะลดลงพร้อมกัน และอัตราส่วนระหว่างพวกมันแทบจะไม่เปลี่ยนแปลง
| สถานการณ์ | ต่องานบน V4 Pro | ต่องานบน V4 Flash | 20 งาน/วัน, 30 วัน (Pro) |
|---|---|---|---|
| dsh รอบที่ 1 | $0.24 | $0.02 | $144.27 |
| Hermes รอบที่ 1 | $1.93 | $0.16 | $1,159.64 |
| รอบที่ 2, harness ใดก็ตาม | ไม่เสร็จ | ไม่เสร็จ | ไม่เสร็จ |
สองสิ่งที่เด่นชัดจากตารางนั้น
การเลือก harness มีมูลค่า 8 เท่า โมเดลเดียวกัน, งานเดียวกัน, ผลลัพธ์เดียวกัน, และเปลือกหนึ่งมีราคาแปดเท่าของอีกอัน นั่นไม่ใช่ความแตกต่างของการปัดเศษที่คุณสามารถปรับแต่งทีหลังได้
ระดับโมเดลมีมูลค่า 12 เท่า ทับลงไปอีก ซึ่งเป็นเหตุผลว่าทำไมการแยกสมองและแขนจึงไม่ใช่ลูกเล่น: dsh บน Flash ตกที่สองเซนต์ต่องาน และ Hermes บน Pro ตกที่เกือบสองดอลลาร์สำหรับเกม Breakout ที่เหมือนกัน
และการเพิ่มประสิทธิภาพที่ถูกที่สุดคือขั้นตอนที่ 3 เส้นทาง dsh ที่ปล่อยไว้ที่ค่าเริ่มต้น 262,144 จะทำงานบีบอัดมากขึ้นในขั้นตอนมากขึ้นเพื่อให้งานเดียวกันพอดี และคุณจ่ายสำหรับทุกขั้นตอนเหล่านั้น
นั่นคือคำตอบที่แท้จริงสำหรับ DeepSeek Harness vs Hermes: วัดเปลือกของคุณเองก่อนที่คุณจะไปหาโมเดลที่ถูกกว่า
FAQ เกี่ยวกับ DeepSeek Harness vs Hermes
Hermes Agent และ DeepSeek Harness สามารถใช้โมเดลและ API key เดียวกันได้หรือไม่?
ได้ และนั่นเป็นวิธีเดียวที่ซื่อสัตย์ในการเปรียบเทียบ ทั้งคู่พูดคุยกับ endpoint ที่เข้ากันได้กับ OpenAI dsh ต้องมีเส้นทางผู้ให้บริการ llm-pi-ai ที่มี api: openai-completions และ baseURL; Hermes ต้องมี provider: custom และ base_url ที่ลงท้ายด้วย /v1 หนึ่ง key, ทั้งสอง harnesses, ทั้งสองระดับราคา คอนฟิกเต็มอยู่ในขั้นตอนที่ 3 และ 4
DeepSeek Harness ดีกว่า Hermes สำหรับการเขียนโค้ดหรือไม่?
ในการทดสอบนี้ ใช่ชัดเจน: 121 วินาที เทียบกับ 780, 8 tool calls เทียบกับ 35, และการใช้ tokens หนึ่งในแปด โดยทั้งคู่ผ่านการทดสอบทั้งสาม แต่ "ดีกว่าสำหรับการเขียนโค้ด" ไม่ใช่ "ดีกว่า" ถ้าสิ่งที่คุณต้องการคืองานตามกำหนดเวลาที่รายงานไปยัง Telegram ทุกเช้าและจำสิ่งที่เรียนรู้เมื่อสัปดาห์ก่อน dsh ไม่มีสิ่งเหล่านั้นเลย และ Hermes มีทั้งหมด
DeepSeek Harness และ Hermes ฟรีและโอเพนซอร์สหรือไม่?
ทั้งคู่ได้รับอนุญาต MIT และดาวน์โหลดฟรี สิ่งที่คุณจ่ายคือ tokens และดังที่ตารางด้านบนแสดง นั่นไม่ใช่ข้อผิดพลาดในการปัดเศษ ควรกล่าวซ้ำว่า dsh เป็น developer preview ที่ 0.1 และเตือนเกี่ยวกับการเปลี่ยนแปลงที่ทำลายความเข้ากันได้ใน UI ของมัน ดังนั้น pin เวอร์ชันของคุณถ้ามันจะไปใกล้ระบบผลิต
ทำไมงานเดียวกันถึงมีต้นทุนมากกว่าใน harness หนึ่ง?
สี่เหตุผล โดยประมาณเรียงตามขนาด:
- การอ่านซ้ำของบทสนทนา Cached prompt tokens คิดเป็น 88.8% ของ dsh และ 95.5% ของ Hermes ทุกขั้นตอนพิเศษจะส่งทุกอย่างที่อยู่ก่อนหน้านั้นซ้ำ
- System prompt และ tool schemas วัดได้ข้างต้น: 10,898 vs 13,892 tokens ก่อนที่จะมีงานใดๆ เกิดขึ้น
- จำนวนขั้นตอน 8 tool calls และ 9 ขั้นตอน เทียบกับ 35 tool calls ใน 38 API calls
- หน้าต่างที่ถูกจำกัด dsh ตกไปที่ 262,144 แทน 1,048,576 ทำให้ต้องทำงานบีบอัดเพิ่มเติมในงานยาว
ฉันสามารถรัน DeepSeek Harness และ Hermes พร้อมกันได้หรือไม่?
ได้ พวกมันไม่แชร์อะไรนอกจาก API key ของคุณ: รันไทม์ต่างกัน, ไดเรกทอรี config ต่างกัน, ที่เก็บ session ต่างกัน, พอร์ตต่างกัน (3080 และ 9119 โดยค่าเริ่มต้น) รูปแบบปกติคือ Hermes เป็นสมองที่ทำงานตลอดเวลาในระดับราคาแพง และ dsh เป็นแขนเขียนโค้ดในระดับราคาถูก
DeepSeek Harness ทำงานได้กับ API ของ DeepSeek เท่านั้นหรือไม่?
ไม่ และนี่คือความเข้าใจผิดที่พบบ่อยที่สุดเกี่ยวกับมัน เกตเวย์ที่เข้ากันได้กับ OpenAI ใดๆ ก็ทำงานผ่าน api: openai-completions และ baseURL เพียงจำ compat.thinkingFormat: deepseek เพราะ dhs อนุมาน thinking dialect จาก URL และ URL ของเกตเวย์บุคคลที่สามไม่ได้บอกอะไรกับมันเลย






