- SignalDesk1小时前
引言 研究了一种应用于开发场景的基于 Jev 的识别用户意图的方案 需求 解决跟 AI 沟通时,我想问问题但 AI 动手干,或者说我想让 AI 动手干但 AI 只是回答的场景 背景 用户意图识别传统方案包括有 OMA 的意图识别流程,通过提示词注入,让 AI 自己先分析。或者通过外源请求,让大语言模型独立分析一下,给结果。 前者的问题是大语言模型自己分析可能不够客观,后者的问题是大语言模型请求慢。Jev 可以解决这两个问题。 实验过程 实验一:多标签布尔判断 方案 我把用户提示词作为上下文,然后设置了 “需不需要修改代码” “是否是回答” “是否是计划” “是否是审查” “是否是执行” 这几个标签,每个标签接收是或否。 如果是需要修改代码,那么不看后面其他问题的答案;如果是不需要修改代码,那么继续看后面四种标签。 对于后面四个标签,之所以各自提问“是否”,而不是进行多选一,是因为用户的需求可能复杂。 比方说,用户说:“请你帮我审查一下代码,发现一下这个 bug 的原因,然后告诉我修复方案。”这里面是同时拥有审查和计划两个意图。 真实提示词实测 用我自己的约 200 条左右的真实提示词进行实测 问题 执行类任务和改代码分不开。比方说 提交推送 、 打个 tag 、 生成随机字符串 这一类跑命令,但是不改代码的请求。全都错误地判定到了要改代码上 实验二:细化改代码和跑命令 方案 把 “需不需要修改代码” 的标签细化为: 是否需要改代码 , 是否需要跑命令 真实提示词实测 实测之后发现有改进,实验一中出现的问题都正确判定成了跑命令 问题 提示词中有这些情况: 有时候我只是会把 bug 描述一下,后面不带任何指令。 有时候我只是陈述约束,比方说 你提交的时候,commit 信息用中文 有时候我只是在纠正 AI,比方说: 你的结论有问题 以上这些情况都会被错误地归为 要求改代码 实验三:在给 Jev 的问题描述中添加偏好 方案 在 是否需要改代码 问题的描述中增加了偏好: 如果仅仅是报告问题、描述现象、陈述约束,而没有动手的指令,那么倾向于不动手。 真实提示词实测 发现 Jev 的判断确实变得更谨慎了,实验 2 的问题基本改善 问题 暴露出了一个新的问题:对于一些措辞很轻的改代码需求,却仍然倾向于不动手。 示例: 把临时文件夹加入排除 把像素调淡一点 接着往下做 实验四:提示词指定与泛化 方案 实验了两种方案,一种方案是在提示词中列举用户动词,比方说:添加、调整、加上、去掉、改成。对于这些动词要匹配改代码。 另一种方案是进行泛化表述,在提示词中说,只要用户明确给出了对于某个东西需要调整的命令,就算改代码。 真实提示词实测 对于方案一,实测发现,对于实验三的问题有部分改进,但对于其他一些指示性较弱的动词,还是有识别错误。 对于方案二,基本改善了实验三的问题。 问题 第四轮的实验暴露了更难的一个边界:用户有时候只是提议一个修改方法,而不是让模型去修改。 例如: 是不是改成 XXX 比较好? 是否要新建这个文件夹? 你打算改哪些地方? 这些提示词只是征询意见。 实验五:结构性重构 方案 放弃了使用布尔来判断动不动手,而是对于意图大类进行四选一: 改代码 跑命令 要答复 无法判断 强制 Jev 单选。 如果是要答复,则会进一步提问:是简单答复,还是出计划,还是审阅。 如果是无法判断,则带上用户上下文历史的 5 条提示词,让他对最新的进行判断。 真实提示词实测 对于征询语句,正确归类到了 answer 上。 对于需要答复的用户意图,全都能正确识别答复内容。 对于无法判断的,带上上下文之后,全部提示词样本测试结果正确。仍有部分在带上上下文之后,仍然给出无法判断,检验发现那些无法判断的结果合理。 实验结论 通过合理的问题结构,能正确实现在开发场景下的用户意图识别。可用于解决用户“指哪打哪”的问题。 用户输入 │ └─ 阶段1: action 四选一 (choice 单选) │ ├─ modify 改代码/文件/文档/图片内容 │ ├─ execute 跑命令/git操作/生成产物 │ ├─ unclear 判断不了 │ │ │ └─带最近5条历史重判一次 │ ├─ 判出 ──► 回到 action 结果 │ └─ 仍 unclear ──► 返回 unclear │ └─ answer 要答复/不动手 │ └─ 阶段2: 二级意图 (noul 多标签, 可同时命中) │ ├─ want_answer ≥0.5 ──► 要解释/答问 ├─ want_plan ≥0.5 ──► 要方案讨论 └─ want_review ≥0.5 ──► 要审查检查 定向优化 如果用户意图高频为 answer.可以直接在阶段一的问题中把阶段二的问题一起问,复用用户提示词上下文.更省钱. 应用 已经集成到我的开源项目里. 通过插件集成到各 Agent 的系统里,也是很好的方案. 杂谈 不知道佬友们爱不爱看这种形式,反正我写得很随意。 这篇帖子含金量感觉比我的本科毕设论文要高。但是从可以擦屁股这一点来说,还是我毕业论文更强一点。 1 个帖子 - 1 位参与者 阅读完整话题
- 情报分类:开源项目与落地
- 分类依据:内容涉及项目实践、创业、副业或变现
- 信息来源:服务器 / LINUX DO - 最新话题
- 发布时间:2026/9/22 17:49:38
- 暂无回复