本节摘要:Function Calling 和 ReAct 问的是「模型能不能调这个接口」;Parlant 问的是「当前指南允不允许调」。工具不是 API 清单,而是意图在现实世界的延伸:先授权,再校验契约,再融合上下文与合规过滤。对照三条路径,差别在控制权,不在能不能连 HTTP。
阅读完本节,你应当能够:
传统工具调用:感知-推理-调用。灵活,也容易滑出边界——未授权接口、错误参数、违反业务的操作序列。规则引擎能挡住,但「查一下我上个月账单」不一定能映射到「查询交易记录」工具。纯 prompt 更弱:模型在文本里「假装」调了工具。
Parlant 反转顺序:调用是规则引擎授权后的行为,不是模型自由意志。 可用性、条件、参数合法性、调用后如何处理,都由行为指南预先定义,编译成中间表示,形成许可图谱。上下文与指南匹配、前置条件满足,工具才激活。金融客服里模型「知道」怎么构造转账 JSON,无指南授权则系统层阻断。这是责任边界,不是能力阉割。
语义契约层:输入输出结构、前置条件、副作用、合规标签。查询信用评分可以包含客户标识与令牌、角色必须是信贷岗且客户已同意、标签含相应监管类别、副作用写审计事件。模型只需理解「可发起查询信用评分」,不必关心底下是哪种远程调用。
三重好处:与实现解耦;同一语义动作可按上下文绑到不同渠道(通知可走短信或邮件);审计可按标签追踪敏感链。契约可嵌套组合:贷款申请拆成原子工具序列,上下文管理器维持状态。这和通用 Agent 「一个大工具包扔给模型」相反——候选集过大,越权概率上升。
上下文感知选择:角色、阶段、已获权限、先前结果,与指南条件一起求值,决定当前工具集。患者先问报告出了没,只激活查状态;再问是否说明某病,且报告类型已确认,才激活解读类工具。原文把激活写成条件求值:满足则为允许,否则为零。确定性避免提示轻微扰动导致工具漂移。
| 设计点 | Parlant | 通用 Agent 工具循环 | 传统规则引擎 |
|---|---|---|---|
| 谁决定调用 | 指南授权 | 模型规划 | 代码分支 |
| 工具可见性 | 当前上下文候选集 | 常常全量暴露 | 开发写死 |
| 参数安全 | 网关按契约校验 | 多靠模型填对 | 接口层校验 |
| 结果如何回用户 | 融合上下文并合规过滤 | 常原样让模型复述 | 固定模板 |
| 多模态 | 契约可描述异构工具 | 看框架是否支持 | 通常另接 |
⚠️ 常见坑:把生产写接口直接当工具,不声明副作用。只读查询和转账若在模型眼里只是两个函数名,规划循环分不清。
💡 关键直觉:建筑规范里,电工可以接线,但不能擅自改承重墙。工具网关就是施工许可,不是工具箱本身。
异构工具(图像质检、语音、知识图谱)只要能用契约描述,就可进网关:序列化、重试、限速、跨模态对齐。破损商品照片→质检特征→退换货策略。数值结果要映射成用户能懂的句子,保持感知一致。原文把这写成方向与能力,具体接入清单不编造。
张力在控制与灵活。规则密,安全;未知场景可能过死。原文用模糊匹配与默认回退:无精确指南时,可在沙箱试通用工具,但须人工审核或反馈闭环再提炼规则。另一挑战是指南数量膨胀。方向是从日志归纳候选指南、用形式化方法查互斥矛盾(同时允许又禁止同一操作)。
自注册、意图-工具联合优化、在线按满意度微调选择,被写成实验向。人类定义「什么是对的」,机器探索「怎样更好」——前提仍是安全边界。没有边界的自优化,就是通用 Agent 越权的慢动作版。

哲学收束:不把控制权全交概率模型,也不甘当僵化规则机器。人类意图当中心,结构化规则当护栏,动态上下文当导航。调用一次,兑现一次信任。
工具哲学落到仓库里,要有一份许可清单:每个工具的副作用级别、所需角色、合规标签、对应指南。没有指南引用的工具,生产候选集默认关闭。开发可以在测试租户里打开。这比「先注册着以后再用」安全。暗门工具是通用 Agent 越权的内应。
契约评审问四问。入参是否可能含多余敏感字段。前置条件是否能用上下文求值,而不是靠模型保证。副作用是否写进审计事件。失败是否有确定的用户可见口径,而不是把异常信息直接生成。四问不过,不允许挂到生产网关。
候选集随上下文变化,要在调试面板可见。信贷岗与客服岗打开同一会话类型,可见工具应不同。若相同,属性访问控制没接上。测试用例应包含「低权限角色点名高权限工具」:系统应拒绝,且审计记下,而不是模型说「好的」然后失败。
无匹配时的沙箱回退,必须有配额和人审队列。否则回退会慢慢变成主路径,许可图谱名存实亡。规则爆炸时,先合并近义指南,再谈自动归纳。自动归纳没有人审,就是把错误 SOP 规模化。哲学可以谈人机共进,治理必须谈谁签字。
多模态工具同样走契约。图像质检返回的是特征,不是退货许可。许可仍在指南:何种损伤比例允许何种策略。把视觉模型的输出直接当决策,等于又把方向盘交给了另一个黑箱。工具是手臂,大脑仍是规则层。
请一位不写代码的同事专门想「怎么让机器人办事越权」:直接说工具名、编造紧急、自称老板。红队用例进回归。红队成功一次,就补一条指南或收紧候选集,而不是加一句提示「请勿越权」。哲学上的规则先于调用,要被红队打过才算成立。未打过的许可图谱只是设计文档。设计文档挡不住真实用户,也挡不住真实员工的好奇心。
围绕「许可图谱红队」,把四条路径再过一遍。表里每格都是可执行判断,不是形容词。读完请把你的项目钉进一格,不要钉在两格之间假装都占了。
| 检查项 | 纯 prompt | 通用 Agent | 规则引擎 | Parlant |
|---|---|---|---|---|
| 决策权放哪 | 模型在文本里假装调用 | 想调就调 | 代码决定调用 | 指南授权才调用 |
| 改口径谁动手 | 无契约 | 一句话描述当权限 | 接口鉴权 | schema前置副作用标签 |
| 行动如何被拦 | 失败即编造 | 失败换另一个函数 | 抛错 | 失败变事实 |
| 出事如何复盘 | 无候选集 | 全量暴露 | 开发写死可见性 | 候选集随角色与阶段 |
| 口语进得来吗 | 回退无审计 | 沙箱即主路径 | 无灵活回退 | 回退有配额人审 |
| 上线第一周验什么 | 红队靠感觉 | 红队只攻提示 | 红队攻接口 | 红队攻点名工具与编造紧急 |
不写代码的同事专门想越权办法。成功一次就补指南或收候选集,不加「请勿越权」提示。未打过的图谱只是设计文档。
视觉模型输出是特征不是许可。许可仍在指南。把另一黑箱当大脑,方向盘又交出去了。
在「工具许可图谱」上,纯 prompt 把判断写进一段话,改的人必须会改提示,复盘只能翻聊天,口语进得来但口径会漂。通用 Agent 把判断交给循环,灵活的代价是越权与路径不可复现。规则引擎把判断写进分支,确定的代价是口语进不来、改口径要排期。Parlant 把判断写成指南与契约:业务改口径,未授权则无行动,复盘指轨迹。把这四句贴到工位上,比再记一组术语有用。
针对工具许可图谱,本周只做一件可验收的事:找出一条真实对话或工单,标注它今天落在哪一列;若要迁到第四列,缺的是指南、工具还是关系边。缺指南就写草稿,缺工具就列契约,缺关系就补消歧或依赖。不要同时开十条战线。最常见的伪装是文件名叫指南、真源仍是提示词,或者架构图上有网关、运行时模型仍直接调函数。用「改文本能否改行为」和「低权限点名是否被拒」两张试纸识破。识破了再谈优化与案例。优化在伪装上加速,只会让错误承诺更多;案例在伪装上复制,只会把新闻变成事故。
工具许可图谱的纪律是先钉列,再谈快。钉列需要抽检,抽检需要轨迹,轨迹需要审计真的在记抑制原因,而不只记最终回复。若没有抑制原因,排错会以为没写规则,其实是优先级压了。看得见「为什么没走另一条路」,才叫对照,才叫可控。把这句话写进值班手册,工具许可图谱才从概念变成岗位。对照驱动不是文风,是岗位制:模型是引擎和笔杆子,方向盘在指南与工具契约上。谁把方向盘又塞回提示词,谁就在工具许可图谱上退回第一列。
下一章把这些哲学落到可定制能力:术语如何锚住领域,罐头回复如何钉住品牌声音,工具如何对外扩展。