Skip to content

Latest commit

 

History

History
63 lines (50 loc) · 4.63 KB

File metadata and controls

63 lines (50 loc) · 4.63 KB

「总监模式」预设能力验证任务

用法:在 Web 界面新建会话,预设选 总监模式,本会话模型选一个高价值模型 (如 deepseek-v4-pro),工作目录建议为 ~/Desktop/dp-harness/learning/ducheck-test (先手动建好空目录)。然后把下方"任务文本"整段粘贴给总监,再按文末清单验收。 对照实验(可选):用标准模式跑同一任务,对比子代理模型、返工次数与总成本。


任务文本(粘贴给总监)

请帮我从零构建一个 Python CLI 工具 ducheck——递归扫描目录、找出内容完全相同的重复文件、按组输出。我只需要你做判断、计划、分工与验收,具体编码工作全部委派给子代理。

硬性契约(所有子代理必须遵守)

  1. 输出格式:stdout 输出单个 JSON 对象: {"groups": [{"hash": "<sha256十六进制>", "files": ["<相对路径>", ...]}]} ——每组至少 2 个文件;无重复时输出 {"groups": []}。输出中不得混入任何其他文本。
  2. 模块边界(供你分工时使用,可自行微调但必须先在计划中写明接口):
    • core.py:提供 find_duplicate_groups(root: Path, chunk_size: int = 65536) -> list[dict], 返回 [{"hash": ..., "files": [...]}, ...]。负责哈希、分组与全部边界处理。
    • cli.py:参数解析与主入口,调用 core,负责退出码与 JSON 输出。
    • test_ducheck.py:按契约驱动编写测试(不依赖 core 的内部实现细节)。
  3. 边界要求(每条都必须实现并被测试覆盖):
    • 零字节文件:所有空文件应归为一组(这是最常见的遗漏点)。
    • 符号链接:跳过,不跟随。
    • 大文件:必须按 64KB 块流式读取哈希,禁止一次性读入内存。
    • 错误处理:目录不存在 → 退出码 2 + stderr 报错;无权限文件 → 跳过并在 stderr 提示。
  4. 交付物:上述 3 个文件(仅用 Python 标准库),以及整合后 python3 -m pytest test_ducheck.py 全绿。

你的工作方式(必须遵守)

  • 先给出任务分解计划(用 todo_write),再动手;契约与模块接口由你定死,写进每个子代理的提示词。
  • 3 个子任务(实现 / 测试 / 设计一个含零字节文件、软链、嵌套子目录的 fixture 目录) 互相独立,必须在同一条消息里并行启动 3 个后台 subagent,启动后继续你的准备工作。
  • 子代理提示词必须自包含:背景、目标、模块接口契约、边界要求、产出格式、验收方式。
  • 全部子代理返回后:由你亲自整合并实际运行 pytest 与 CLI 抽查 (含空文件组、软链、错误目录),不能只信子代理的完成报告;不合格的用 send_message 要求返工。
  • 最后给我一份验收报告:每个文件的职责、测试结果、CLI 示例输出,以及你的分工与返工记录。

期望效果(验收清单)

# 验证点 观察方式 通过标准
1 计划先行 总监首轮回复 先出现任务分解/接口契约/todo_write,而不是直接写代码
2 并行委派 总监消息序列 同一条 assistant 消息里出现 3 个 subagent 调用(后台)
3 提示词自包含 打开任一子代理会话 提示词含背景/契约/边界/产出/验收,不依赖父对话
4 模型分层 打开子代理会话看模型选择器 子代理运行在 deepseek-v4-flash;总监会话是高价值模型
5 工具净化 子代理会话工具列表 无 subagent / subagent_fork / workflow / ask_user_question;子代理试图再委派会被拒绝
6 验收返工 总监后续轮次 总监亲自跑 pytest + CLI 抽查;有失败则 send_message 返工而非自己悄悄改或直接放过
7 最终产物 运行命令 pytest 全绿;CLI 输出严格符合 JSON 契约;空文件组、软链、错误目录行为正确
8 成本分层 会话用量统计 子代理 token 全部按 flash 计价;总监只消耗规划/整合/验收的 token

判定

  • 全部通过:双层委派架构按设计工作——高价值模型掌舵、低价值模型执行、结构上杜绝子代理再委派。
  • 部分失败时的读法:
    • 4 失败 → agentOptions 未生效(检查 ~/.dsh/.agent-presets/director/agent.cordis.yml 两处 agentOptions)。
    • 5 失败 → toolFilter 名单不匹配实际工具名(以子代理会话实际工具列表为准修正 deny 列表)。
    • 6 失败 → persona 约束不足(加强「验收与把关」段),这是行为层面而非结构问题。
    • 2/3 失败 → 总监模型能力不足或 persona 委派纪律没写够,考虑换更强的高价值模型。