为了处理多步骤检索,必须修改系统以支持迭代交互和上下文跟踪。首先,提示词应明确指示模型识别信息中的差距,并在需要时生成后续问题。 例如,提示词可能包括如下模板:“如果查询缺少详细信息,请提出一个明确的问题以缩小范围。” 模型的输出格式可以调整为将答案与后续查询分开(例如,使用分隔符,如## 后续:
)。此外,系统需要状态管理来跨步骤保留上下文。 这可能涉及将先前的交互附加到提示词,或使用基于会话的缓存。 例如,旅行助手可能会首先回答用户关于航班的问题,然后询问“您需要同一日期的酒店推荐吗?”,而无需用户重复日期。
评估此能力需要评估后续问题相关性及其对任务成功影响的指标。 人工评估员可以评价后续问题是否符合逻辑(例如,用户提到“头痛”后,医疗聊天机器人询问症状)。 自动测试可以测量与单步检索相比,后续交互是否提高了答案的准确性。 例如,如果用户问“如何修复我的电脑?”,模型回答“您看到什么错误消息?”,系统应跟踪第二步答案(在用户提供错误后)是否解决了问题。 任务完成率和减少用户澄清请求(例如,“您能更具体些吗?”)是实际的成功指标。
开发者应逐步实施这些更改。 首先,在提示词中添加一个后续步骤,并使用真实场景(例如,解决技术问题)进行测试。 例如,类似“我的应用程序崩溃”的用户查询可能会触发一个关于操作系统版本的后续问题。 单元测试等工具可以验证后续逻辑是否正确触发,而 A/B 测试可以比较单步流程和多步流程之间的用户满意度。 为避免系统过于复杂,请限制后续次数(例如,每个查询最多两个问题),并确保模型优先考虑关键信息差距。 监控工具应记录后续未能改善结果的情况,以便进行迭代改进。