deepseek-harness
deepseek-ai
DeepSeek Harness: Everything is a Plugin.
PROJECT TOPICS
PROJECT README
English | 中文
dsh-argp(ARGP = Atomic Reference Graph Pruning,原子引用图剪枝)是 DeepSeek Harness(dsh)的第三方 CompactionEngine,压缩阶段零 LLM 调用:不把历史重写为摘要,而是选择性遗忘。
recall_pruned / recall 工具取回CompactionEngine 接口挂载,作为 compaction-basic 的替代后端状态:研究/验证阶段。全链路(挂载 → 剪枝 → recall,事务不变式)已在 dsh
0.1.0-rc.6+ DeepSeek v4-flash 上完成 50 轮验证;声明式生产挂载已验证(dsh pluginCLI 加载)。
摘要式压缩(如 compaction-basic)在压缩时调用 LLM 重写历史:成本随上下文线性放大、信息有损、压缩率不可控。ARGP 走相反路线:依赖关系在对话发生时以结构化方式沉淀(每轮小额标注),压缩时只按引用图的反向拓扑序"摘除"原子——每个原子 token 数已知、剪枝确定性、降级链收敛到预算。
toolCallId)+ 语义边(assistant 输出中声明的引用前缀 {"cites": [...]})。U(用户)原子与墓碑永不参剪。recall_pruned(seq) 从日志取回被剪原子;list_pruned 展示剪枝目录。预算:每轮 ≤3 次、单次 ≤5% window、累计 ≤10%。设计细节、不变式与设计↔实现差异见 docs/。
语义边来自模型在对话时按 prompt 契约输出的 {"cites": [...]} 声明——建边密度直接取决于模型的指令遵循能力:
实测对照(50 轮 t-long,同引擎同参数):DeepSeek v4-flash(high 档)cites declared=0、每笔事务剪 34–35 原子(稀疏图);Qwen3.8-27B declared=547、每笔事务只剪 4 原子、37 笔事务(密集图)——同一引擎在不同模型上呈现不同剪枝形态,但两者 L1/L2/L3 不变式均 PASS。
约束含义:建议搭配指令遵循能力强的模型使用;弱模型下压缩依然安全(0-LLM 确定性 + U 锚点保护 + recall 兜底在任何模型上成立),只是选择性收益降低。
dsh plugin --profile <name> add dsh-argp
然后在 profile 的 cordis.patch.yml 中插入引擎并禁用 stock 摘要器:
- id: compaction-basic
disabled: true
- insert:
- id: dsh-argp
name: dsh-argp
config: { maxPasses: 16 } # 预算默认按比例驱动,无需硬编码
启动后 ctx.compaction 即为 ARGP 引擎。
windowTokens = contextWindow × 0.8(上下文 80% 触发)retainTokens = windowTokens × 0.2(压缩率 1/5)上下文容量读自模型适配器声明,换模型自动适配;需要时也可显式覆盖(见 config)。
npm install
npm run check # typecheck + 本地 smoke + 单元测试
DeepSeek 实测需要 dsh 标准凭据:
npm run smoke:deepseek # 10a + 10b + 10d 单轮冒烟
DeepSeek v4-flash,50 轮 t-long 任务;完整数字与产物路径见 docs/experiment-2026-08-16-separated-contract-probe.md。
| 指标 | dsh-argp | compaction-basic(同任务 high 档) |
|---|---|---|
| 预算模式 | 比例驱动(200K → 160K 触发 → 32K 保留) | 固定 32K 意图,不可控 |
| 事务 / error | 4 / 0 | 30 / 23(77%,全为空流) |
| U 锚点保留 | 7/7 | 7/7 |
| needle 找回 | 7/7(5/7 经 recall) | 0/7(不可找回) |
| 压缩目标兑现 | 精确(32K) | 实际 67K(失控) |
| 成本(空闲价) | ¥2.695 | ¥3.087 |
研究档对照:dsh-argp ¥0.355(U 7/7 R 7/7)vs compaction-basic ¥0.911(U 0/7 R 0/7)。
| 实验 | 命令 | 验证内容 |
|---|---|---|
| 50 轮 t-long(high 思考档) | ARGP_DEEPSEEK_THINKING=enabled node spike/06-tlong.ts |
L1/L2/L3 不变式、7/7 锚点、7/7 needle 经 recall 找回 |
| 160K 主流档 | ARGP_CONTEXT_WINDOW=200000 ARGP_CHUNK_LINES=600 node spike/06-tlong.ts |
压缩率精确兑现、比例预算 |
| 基线对照(compaction-basic) | node spike/07-baseline.ts |
同任务下 stock 摘要器对照 |
| 合成 0-LLM | npm run spike8a |
28 原子单事务、零 LLM 调用 |
每个数字都带产物路径(见实验记录文档)。
开发非 LLM 压缩后端暴露了 compaction 接缝的四处扩展性缺口,细节与复现脚本见 docs/dsh-api-feedback-2026-08-17.md:
compaction/prune 游离于事务不变式状态机——算法剪枝没有原生事件类型,第三方引擎只能借 summary 语义 + 填伪字段。mountAgentLoopTestDependencies 不注册 tokenMeter,pre-step 的 catch 吞掉错误。maxTokens=32768 无效,疑似流式连接竞态。MIT
CLASSIFICATION EVIDENCE
系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。当前命中: 无有效分类标签。