Hermes Agent 自然语言理解教程:意图识别与槽位填充,新手 5 分钟上手

发布时间:2026/11/4 6:22:48
Hermes Agent 自然语言理解教程:意图识别与槽位填充,新手 5 分钟上手

Hermes Agent 自然语言理解教程:意图识别与槽位填充,新手 5 分钟上手

你发一句"帮我查下顺丰单号 SF12345 到哪了",Hermes Agent 会先判断你是想"查"而不是"寄",再把单号、快递公司这两个关键信息拆出来——前者叫意图识别,后者叫槽位填充。这两个词听着唬人,其实是自然语言理解里最基础的两步。搞懂它们,你就知道自己发的每句话是怎么被解析的,答不上来时又该补什么信息。

一、意图识别和槽位填充是什么意思?两个类比讲成人话

意图识别 ≈ 听懂你到底想干嘛。就像餐厅服务员:你说"鱼上来的时候别放香菜",他立刻明白你不是在点新菜,而是在提要求。对话里同理——你发一句话,Hermes Agent 先判断你是想查、想做还是想改,这个判断就是意图识别。

槽位填充 ≈ 按模板把关键信息填进表单。你在购票软件买高铁票,表单要填出发地、目的地、日期。你随口说"帮我买张周五去杭州的票",系统就得把"周五""杭州"各自对号入座。槽位就是表单里的那些格子,填充就是把话里的信息塞进对应格子。

想看系统怎么组织"听懂你"的上下文,可以翻 agent/prompt_builder.py,给模型的提示词就是在这里拼出来的。

二、5 分钟上手:克隆、装环境、发第一句指令

第 1 步,拉代码:git clone https://gitcode.com/GitHub_Trending/he/hermes-agent

第 2 步,配置环境:进仓库目录执行uv pip install -e ".[all,dev]",依赖就装好了。想装桌面客户端的,看 apps/desktop/README.md 里的说明。

第 3 步,发第一句指令:启动hermes chat,直接说"提醒我明天上午十点交周报"。它会识别出"设提醒"这个意图,把"明天上午十点"和"交周报"分别填进时间、事项两个槽位,然后回你一句确认。

三、场景实战:一句话查快递状态,从输入到输出

拿"SF12345 到哪了"走一遍完整流程:

  1. 意图识别:句子里没有"寄"、没有"退货",只有单号加"到哪了",判定为"查物流"。
  2. 槽位填充:单号 SF12345 进"快递单号"槽;快递公司没提,先按顺丰猜,猜错了再让你纠正。
  3. 执行:填好的结构化信息交给工具层去查,入口在 agent/tool_executor.py。
  4. 输出:拿到轨迹后组织成一句人话:"包裹已到杭州转运中心,预计明天送达。"

四、新手常问的 3 个问题

Q1:意图识别错了怎么办?换个说法,或补一句上下文。单说"改一下",它可能不知道改什么;说"把周三的评审会改到周四",意图和槽位就都齐了。

Q2:槽位信息不全,它会瞎猜吗?一般不会硬跑。缺关键信息时它倾向先反问你,比如问清楚具体是哪个单号,再往下查。

Q3:意图和槽位的逻辑在哪看?提示词拼装看agent/prompt_builder.py,技能与工具调用的边界看agent/skill_utils.py——后者决定哪些操作该走哪个技能。

下一步建议:先用hermes chat把你手头最重复的三件事(查快递、改日程、发提醒)各说一遍,观察它每次识别出的意图和槽位对不对;对不上就记下哪种说法会翻车,慢慢攒出自己的表达模板。想往深里走,翻一翻agent/目录里 prompt 和 tool 开头的几个文件;想装桌面端,跟着apps/desktop/的 README 走。自然语言理解不是玄学,你喂的句子越具体,槽位越好填,意图也越好认。

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考