尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

Hermes Agent 情感对话能力:搞懂它如何识别情绪的完整实测指南

Hermes Agent 情感对话能力:搞懂它如何识别情绪的完整实测指南 Hermes Agent 情感对话能力搞懂它如何识别情绪的完整实测指南【免费下载链接】hermes-agentThe agent that grows with you项目地址: https://gitcode.com/GitHub_Trending/he/hermes-agentHermes Agent 的情感对话能力是怎么跑起来的零 token 成本靠正则把「good bot」和爱心表情变成实时反馈。这篇笔记带你走一遍检测与触发链路顺带避开三个常见坑。场景一句「good bot」桌面上飘出爱心凌晨两点你发的最后一句不是任务而是一句「good bot」。模型没有新回复但几秒后桌面客户端角落浮起一颗小心心。这颗心不是模型说的。Agent 为这句夸赞没有花任何 token后台一段精选正则匹配了消息再以一个「reaction」通知界面。这条侧路与主对话并行坏了也不影响干活。那它具体怎么做的情感检测链路拆解输入、正则、回调输入消息进回合管线每条用户消息在送模型前都会经过回合级上下文采集。情感检测的钩子就藏在这里它读原始文本且只在注册了回调时才动手。agent/turn_context.pyreaction_callback getattr(agent, reaction_callback, None) if reaction_callback is not None: kind detect_reaction(original_user_message)这是整条链路的入口没回调就不检测零开销。处理精选词典不是模型检测逻辑在 agent/reactions.py。它不调模型只做一次正则搜索。词典是手工精选的r\bgood\s*bot\b, r\bily(?:sm)?\b, r3, # 3, 33 … but not /3这是词典的一部分「good bot」「ily」「3」外加二十多个爱心 emoji。检测就一次 search。def detect_reaction(text: str | None) - str | None: if not text: return None return VIBE if _VIBE_RE.search(text) else None输入文本输出种类字符串或 None。纯函数无 IO。整条情感对话识别链路到此走通没有模型没有网络就是一次正则。输出一个信号三块界面拿到 kind 后它交给初始化时注册的回调统一分发。参数定义在 agent/agent_init.pyreaction_callback: Optional[Callable[[str], None]] None,之后 CLI 宠物、TUI 爱心、桌面浮动爱心都读同一个信号。检测只写一遍界面各管各的。它分得清夸奖和示好吗标准写在注释里你可能先问用户说「this is great」爱心会不会也弹看源码里的设计注释# We match affection specifically — not general positive # sentiment — so this is great does NOT fire, but good bot / ❤️ do.判断明确它只认指向 agent 的爱意与感谢对泛泛的正面评价保持沉默。「this is great」不触发「good bot」触发没有中间地带。接情感检测的三个坑坑一词典太宽「夸奖」误触你想让识别更全一点往词典里加「great」「awesome」。结果用户夸一句结果就弹一颗心示好检测降级成了正面情绪探测器。解法词典保持窄只收指向 agent 的表达。reactions.py 是刻意这么做的docstring 里写得很直白。坑二3吃掉/3/3是碎心负面表情。正则写成\s*3或者把碎心 emoji 顺手并进爱心集合语气就反了。解法官方正则用3它匹配3、33而/3因斜杠不匹配。细节决定语气。坑三信号有了没人接detect_reaction是纯函数。初始化忘传回调检测照跑界面却毫无反应这种 bug 很难查。解法钩子处用getattr防御式读取回调缺失就静默跳过不影响主对话。你加新界面时照这个接线方式做就行。这个信号还能用在哪多模态图像生成宠物头像的生成 prompt 要求图片保住情绪基调这行在 agent/pet/generate/prompts.pypreserving the same emotional tone/mood (e.g., scary stays scary, cute stays cute), 多界面联动CLI 宠物、TUI 爱心、桌面浮动心三块界面读一个信号# the CLI pet, the TUI heart, and the desktop floating hearts all react off the same signal高频零成本场景无模型调用、无 token每条消息都可安全调用放进客服或陪伴类对话的入口不心疼。边界这套词典做不到什么目前只认一种「vibe」词典是精选的英文加 emoji。反讽、否定、非英文文本都打不中这是设计取舍不是缺陷。好消息是返回值是 kind 字符串而非布尔之后接入失望、调侃等新种类不用改任何调用方。git clone https://gitcode.com/GitHub_Trending/he/hermes-agent克隆下来先把agent/reactions.py那 56 行读完情感对话的核心全在那儿。【免费下载链接】hermes-agentThe agent that grows with you项目地址: https://gitcode.com/GitHub_Trending/he/hermes-agent创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表