课程章节介绍
同学们,咱们来看这一页,讲的是代理脚本里两个非常重要的动作块,它们听起来有点像,但用途完全不同,一定得搞清楚。
第一个块叫 SubAgent 的 actions。这个块是给逻辑指令用的。什么叫“逻辑指令的确定性调用”呢?就是说,当我们的流程走到某一步,铁定要执行某个操作时,就放在这里。它不依赖大模型去猜,而是由程序逻辑直接触发。比如说,一旦判断客户想查余额,就必定调用查余额的动作。这种就是确定性的,没有选择余地。
第二个块叫 SubAgent 的 reasoning 点 actions。注意这里的 reasoning,说明它跟推理有关。这个块是给大语言模型,也就是 LLM,自己选择的工具集。LLM 会根据当前对话的上下文,从这些工具里挑一个或多个来用。这些工具不仅包括常规操作,还可以直接引用别的子 Agent,或者一些实用程序。所以它更灵活,让 Agent 自己判断什么时候该用什么。
那 LLM 怎么决定用哪个工具呢?它是通过看每个工具的名称和描述来做决定的。所以,这里给大家提个醒——给工具起一个有意义、好懂的名字,写一段清晰的描述,特别重要。名字起得模棱两可,模型就容易会错意。我们还可以在提示指令里,明确地提到某个工具,给它提供更多上下文,帮模型做出更精准的选择。
另外,你还能给每个工具定义一个“available when”条件。这个条件必须用系统支持的运算符写成有效的表达式。它的作用是,只有当这个条件满足了,这个工具才会出现在 LLM 的可选列表里。这样就能根据场景动态地控制工具是否可用,避免模型在不合适的时候乱用。
好,简单总结一下:记住两个块的区别——actions 是给逻辑固定调用的,reasoning 点 actions 是给大模型做选择题的;工具的名字和描述是关键;提示里可以主动提及工具;再用 available when 管住工具的出场时机。掌握这几点,你就能更精确地控制 Agent 的行为了。咱们继续看下一页。