必须从角色定义、工具授权和输入契约三处卡死边界:用唯一名称+明确职责描述锁定行为,仅勾选必需工具并设别名限权,通过正则校验输入、结构化输出映射和最小化上下文切断越界可能。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

要让WorkBuddy里每个Agent只在自己该干的范围内做事,不越界改代码、不乱读文件、不擅自补全未要求的内容,必须从角色定义、工具授权和输入契约三处同时卡死边界。
用唯一名称+职责描述锁定行为预期
1、进入WorkBuddy控制台 → 左侧导航栏点击【Agent管理】→ 点击右上角【新建Agent】。
2、为Agent填写名称如DataFetcher,【名称中禁止出现“通用”“全能”“助手”等模糊字眼】,描述字段必须写明“仅从指定API拉取JSON格式销售数据,不处理任何本地文件,不生成报告”,句式要否定明确、动作具体。
3、再建ReportWriter时,描述写成“仅接收input.raw_data字段的JSON,输出纯Markdown文本,不调用HTTP、不写入磁盘、不修改原始数据”。这一步不是走形式——后续所有权限校验和流程校验都依赖这段文字做语义比对。
通过工具权限开关物理隔离能力
方法一:勾选即启用,未勾选=不可见
1、在Agent编辑页的【工具权限】区域,只勾选它真正需要的1~2项。比如DataFetcher只需勾选“HTTP请求”和“JSON解析器”;ReportWriter只勾选“Markdown生成器”和“文本分段工具”。
2、【切勿为ReportWriter勾选“文件读取”或“Excel写入”】——哪怕你心里觉得“以后可能用得上”,也必须等到真有需求时再单独开权限。现在多勾一项,就等于给它留了一条绕过边界的后门。
方法二:用工具别名进一步限权
1、在“HTTP请求”工具配置页,把默认的tool_id从http_client改为datafetcher_http。
2、保存后,ReportWriter节点即使误配了该工具,在流程运行时也会因tool_id不匹配而直接报错退出,不会静默执行。
靠输入输出契约强制收口
第一步:定义输入字段的硬性约束
1、在流程编排中心打开对应流程 → 进入DataFetcher节点属性页 → 找到【输入校验】区域。
2、添加规则:input.source_url必须匹配正则^https://api\.company\.com/v2/sales/,且method固定为GET,query参数仅允许page与limit两项。任何不符合的请求都会被拦截并返回400错误,不会进入执行环节。
第二步:绑定输出结构防止溢出
1、在DataFetcher的【输出映射】中,手动声明output.data类型为array[object],每个object必须包含id、amount、date三个字段,缺一不可。
2、如果实际返回结果里混进了user_info或debug_log字段,WorkBuddy会在载荷转发前自动剥离——这步是默认开启的净化机制,但前提是你在映射里明确定义了结构。
第三步:切断非必要上下文注入
1、在流程顶部【上下文配置】页,检查所有变量。删除一切带“full_context”“raw_input”“all_history”字样的变量。
2、只保留user_query(字符串)、task_id(UUID)、timestamp(ISO8601)这三个最小集变量。ReportWriter能拿到的全部信息,就是这三个字段加DataFetcher传来的output.data。











