Repository navigation
Replies: 1 comment
|
补充一份量化数据支持这个反馈,并补两点原帖未覆盖的情况。 规模(本机 123 个会话的全量工具调用统计,DSH Desktop 0.2.0-rc.2)
也就是说:在这份样本里, 补充 1:
|
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
问题概述
一次实际长任务会话中,模型已经完成业务任务,但调用
update_goal(action="complete")关闭 Goal 时,反复携带仅适用于edit的参数,导致多次失败。模型误调用是直接原因;希望反馈的是:工具参数说明与错误提示缺少明确的占位值约定,容易使模型误调用后继续重复失败,增加无效轮次与用户干预成本。
环境与观察范围
@deepseek-ai/dsh-tool-goal执行器的只读检查。失败调用
在 active Goal、业务任务完成且 revision 有效的前提下,模型提交了类似参数(Goal ID 已匿名化):
{ "action": "complete", "blocked_reason": "", "goal_id": "<existing-goal-id>", "max_goal_rounds": 16, "objective": "", "revision": 2 }返回:
16是当前 Goal 的轮次上限。模型错误地把当前值当成可以随调用携带的参数。收到错误后仍多次提交同类参数,并一度错误判断为严格 Schema 阻止关闭操作。最终需要读取实现才能修正调用。错误信息准确指出了字段限制,但在本次会话中未能帮助模型有效自我恢复。
成功调用
改用执行器支持的占位值后成功:
{ "action": "complete", "blocked_reason": "", "goal_id": "<existing-goal-id>", "max_goal_rounds": 0, "objective": "", "revision": 2 }实际返回
phase: "complete"、activation: "disarmed"、revision: 3;原maxGoalRounds: 16保持不变。Goal 完成状态迁移在本次会话中能正常执行,问题集中在模型可见参数契约及误调用后的恢复体验。
实现观察
安装包中的
dsh-tool-goal执行器已有如下语义:空字符串与
0可作为未提供字段的占位值。但本次模型可见的参数说明仅强调objective/max_goal_rounds适用于edit,未说明在需要补齐参数的工具调用环境中应填""/0。以上为安装包实现观察;未验证当前仓库 HEAD 或所有 provider 的 Schema 适配行为。
改进建议
edit操作省略objective/max_goal_rounds;若 Schema 要求填充,则使用objective: ""、max_goal_rounds: 0。非blocked的blocked_reason同理。complete,避免模型复制当前 Goal 的 cap 和 objective。For action complete, omit objective and max_goal_rounds; if required by your tool schema, use objective="" and max_goal_rounds=0.状态未变时可说明 Goal 仍为 active。希望作为工具调用可用性 / model recovery 问题处理,降低长任务完成后陷入无效 Goal 调用循环的概率。
All reactions