先这样答
Agent 调用外部工具的安全边界,要按操作风险分级,并在工具层强制执行,不能依赖模型自觉。先把工具分成三类。只读工具属于查询类操作,可以自动放行,但需要限制调用频率。可逆写操作包括创建草稿、加标签,可以自动执行,但必须保留事后审计记录。不可逆操作包括删除、对外发送、资金操作,必须在执行前要求人工确认。
工程上,我会先建立工具白名单注册制。只有注册过的工具才能被 Agent 调用。每个工具都要定义参数 schema,并在调用前校验参数类型、范围和必填项。这样可以限制模型传入不符合预期的参数。工具执行还要放在隔离的沙箱环境中,避免工具权限直接扩散到其他资源。
最后,需要记录完整的审计日志。日志要能还原调用了哪个工具、传入了什么参数、执行结果是什么,以及是否经过人工确认。分级规则、白名单、参数校验、沙箱和审计要一起落地。核心原则是把安全边界放在工具层,而不是让模型自己判断哪些操作可以执行。
面试官会怎么追问
-
「为什么不能只靠提示词约束 Agent?」 提示词只能影响模型输出,不能替代工具侧的权限控制。模型可能产生错误判断,也可能生成不符合预期的参数。真正的边界必须由白名单、参数校验和人工确认机制强制执行。
-
「可逆写操作为什么可以自动执行?」 这类操作可以改变数据,但通常具备回退空间,所以风险低于删除、发送和资金操作。自动执行可以保留效率,同时通过事后审计记录调用过程。具体工具仍然要先完成注册和参数校验。
-
「人工确认应该放在哪个环节?」 人工确认应放在不可逆操作真正执行之前。系统需要先展示待执行的工具和参数,再等待确认结果。没有确认时,工具层不能继续执行。
回答的坑
-
把所有工具都设置成自动执行,忽略删除、对外发送和资金操作的不可逆风险。
-
只说提示词和模型自觉,不说明白名单、参数校验、沙箱隔离和审计如何在工具层落地。
同系列的题