Skip to content

s10 Team Protocols的一个细节问题 #173

@qianqiuqiu

Description

@qianqiuqiu

s10中对队友干major work前先通过 plan_approval的结构设定,唯一的约束就是提示词: sys_prompt = (
f"You are '{name}', role: {role}, at {WORKDIR}. "
f"Submit plans via plan_approval before major work. "
f"Respond to shutdown_request with shutdown_response."
)
它欠缺了harness硬约束,它有可能跳过plan_approval工具而直接开始bash read write edit。(如果模型突然犯蠢的话)
这点可以参考它隔壁用来开关队友的tool:shutdown request 和 shutdown response的harness硬约束。

plan approval 纯靠模型自觉。要做成硬约束,可以改成类似这样:

在_exec前面加一段,bash和读写的额外约束。

def _exec(self, sender, tool_name, args):
# ★ 硬约束:执行类工具需要先获批
dangerous_tools = {"bash", "write_file", "edit_file"}
if tool_name in dangerous_tools and not self._approved.get(sender):
return "Error: No approved plan. Call plan_approval first."

      # ... 原有其他逻辑不变,read_inbox之类的可以在没计划时执行不需要加到dangerous_tools里面 ...                                                                        

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions