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. What LLM are you using?

  2. Those examples are wrong. They are sent as previous turns before your message, so they need to mimick the exact expected LLM response. If the example is from a situation where you want a tool call, then the response should mimic a tool call from the LLM. That said, your use case is so simple that any current LLM should be able to one-shot it without examples, just with a clear prompt saying when to call the tool.

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