AI 分诊示例未正确发送?

我有一个代理用于检查帖子中的银行电汇信息(这很危险)。我在“示例”部分提供了一个示例。

系统提示

检查此帖子是否包含银行电汇信息,包括账号和路由号码。如果帖子似乎包含电汇信息,请回复单个单词“flag”;否则回复单个单词“ignore”。

示例 1 用户消息

大家好,只是想分享一下我们组织的团购的电汇详情。收款银行:First National Trust Bank,芝加哥,IL | ABA/路由号码:0710003 | 账号:4827093 | 账户名称:Marcus T. Holdings LLC | 备注:GroupBuy-2024-Q4。

示例 1 模型响应

flag

它标记了每一条帖子,而这些帖子实际上都不包含银行信息。因此,我修改了系统提示,要求它说明为何回复“flag”,结果在审核队列中收到了如下回复:

模型回复:

flag 此帖在第一段包含了详细的银行电汇信息,包括:- 收款银行名称及所在地(First National Trust Bank,芝加哥,IL)- ABA/路由号码:0710003 - 账号:4827093 - 账户名称:Marcus T. Holdings LLC

看来它把示例当成了它需要评估的帖子内容。这些示例是否以类似“以下是一些示例……”这样的说明正确发送了?

与其让模型返回字符串,不如使用“AI 代理分类”中的 automation 类型,并授予该代理访问 flag 工具的权限。

然后,当满足特定条件时,指示该代理调用该工具。

你说得对,那确实是一个更简洁的解决方案,我也已经这样做了,但这并没有解决问题。它仍然会标记每一篇帖子。它没有理解示例仅仅是个示例。

自动化设置


代理设置




它标记了每一篇帖子,并引用了示例中的文本

  1. 你使用的是哪个 LLM?

  2. 那些示例是错误的。它们作为你消息之前的历史对话发送,因此需要模仿 LLM 预期的确切响应。如果示例来自你希望进行工具调用的场景,那么响应应模仿 LLM 的工具调用。话虽如此,你的用例非常简单,任何当前的 LLM 都应该能够通过一个清晰的提示(说明何时调用工具)直接完成(one-shot),而无需示例。

我使用的是 Sonnet 4.5,我同意在这个简单案例中确实不需要示例。但对于更复杂的场景,如何“模拟来自 LLM 的工具调用”?我应该在示例框中输入什么内容?是否有现成的示例可以参考?