如何利用LangSmith构建Candidly的状态感知智能体引擎
Candidly构建了一种状态感知的对话智能体引擎,通过输入-输出隐马尔可夫模型(IO-HMM)实时推断用户参与状态,并据此调整回复策略,显著降低对话放弃率。文章详细介绍了从轨迹特征提取、状态模型训练到策略部署和实验验证的全过程。
Candidly是一家帮助用户做出高风险财务决策(如债务偿还、储蓄、退休规划等)的公司,其AI财务规划师Cait是一个会话智能体。为了让Cait在对话过程中实时优化用户交互,Candidly构建了一个状态感知的智能体引擎,并利用LangSmith进行实验管理和效果评估。
传统的对话智能体通常只在对话结束后通过结果(如任务完成率)进行评估,但Candidly希望能够在对话进行中实时干预。他们首先建立了一个混合标注流程,使用确定性规则和LLM评判器对Cait的生产轨迹进行结果标注(解决或放弃),并与人工标注达到92.3%的一致性。然后,他们训练了一个梯度提升模型,仅从轨迹中提取的轻量级特征(如问答对齐度、话题连续性、用户消息长度、大写字母比例等)就能以0.90 AUC预测对话结局。
为了将这种预测能力转化为实时控制信号,Candidly采用了输入-输出隐马尔可夫模型(IO-HMM)。该模型将每一轮对话分为两部分:用户侧信号作为观测发射,智能体侧特征作为转移输入。通过期望最大化算法在数千次对话上拟合,模型学习到了四个可解释的参与状态:Engaged(参与,占53%)、Detailed(详细,7%)、Guided(引导,17%)、Disengaging(脱离,23%)。这些状态在行为模式和解决率上存在显著差异,其中脱离状态的解决率仅约30%,而参与状态高达78%。
关键在于,不同状态对相同智能体行为的反应不同。例如,保持话题连续性有助于参与状态的用户,却可能使脱离状态的用户陷入更低解决率的状态。因此,基于状态的策略能够有针对性地调整回复,例如为详细状态的用户添加行动号召,或模仿脱离状态用户的用词模式。模拟显示,该策略可将脱离状态的比例从23%降至11%,并将参与状态从53%提升至64%。
为了实现这一策略,Candidly将模型集成到Cait的请求路径中,在每次回复的延迟预算内完成状态推断,并将状态写入轨迹元数据。每个状态对应一个版本化的策略变更(如提示词插入),并在LangSmith中记录。上线前,他们使用保留数据集离线验证策略变更的效果;上线后,通过随机对照实验分配用户,并在LangSmith中监控两个臂的状态分布和解决率。
LangSmith在整个流程中扮演了关键角色:从轨迹存储、评估数据标注,到实验管理和生产监控,形成了一个从评估到控制的闭环。这使Candidly能够将评估从事后评分转变为实时控制信号,显著提升AI财务规划师的对话效果。