微信扫码
添加专属顾问
我要投稿
深入了解AI智能体如何通过过程奖励模型实现深度思考和推理能力。 核心内容: 1. 过程奖励模型(PRM)的基本概念与作用 2. PRM与传统结果奖励模型(ORM)的区别 3. 企业级AI场景下PRM的应用优势与实践案例
企业级业务场景下,对问题的回答准确率有更高的要求,不仅要求结果准确,更看重思考和行动过程准确,需要符合企业实际的业务逻辑。因此,相比ORM,PRM更符合企业级场景对过程正确的高要求。
首先是思维过程准确,基于用户问题,AI需要给出准确的思考过程。比如用户询问“上周华东大区的销售额是多少”,正确的思考过程应该是:
第一步,确定上周的日期范围;第二步,确定华东大区的系统ID;第三步,确定销售额字段为Sales,且位于具体的某个宽表;第四步,组装成完整的SQL语句
第二是行动过程准确,基于思考过程,AI需要采取对应的行动。在企业级场景中,AI更常见的行动不是对话,而是进行数据查询或者进行API调用。比如,以上述思考过程为例,AI应该采取行动,生成SQP查询语句。
SELECT sale_date, SUM(quantity) AS total_salesFROM salesWHERE -- 筛选出上周的记录 YEAR(sale_date) = YEAR(CURDATE() - INTERVAL 1 WEEK) AND WEEK(sale_date) = WEEK(CURDATE() - INTERVAL 1 WEEK)GROUP BY sale_dateORDER BY sale_date;
如果思维过程和行动过程都准确,那么自然会得到正确的业务结果。
3. PRM的实现流程
import torchfrom transformers import BertTokenizer, BertModelclass DialogueRewardModel(torch.nn.Module):def __init__(self):super().__init__()self.bert = BertModel.from_pretrained("bert-base-uncased")self.intent_head = torch.nn.Linear(768, 3) # 3种意图self.retrieval_score = torch.nn.Linear(768, 1)self.fluency_head = torch.nn.Linear(768, 1)def forward(self, user_query, bot_response, retrieved_doc):# 编码用户输入query_embed = self.bert(**user_query).last_hidden_state.mean(dim=1)# 阶段1:意图理解奖励intent_logits = self.intent_head(query_embed)intent_reward = torch.nn.functional.cross_entropy(intent_logits, true_intent_label)# 阶段2:检索奖励doc_embed = self.bert(**retrieved_doc).last_hidden_state.mean(dim=1)retrieval_sim = torch.cosine_similarity(query_embed, doc_embed, dim=1)# 阶段3:生成奖励response_embed = self.bert(**bot_response).last_hidden_state.mean(dim=1)fluency_score = self.fluency_head(response_embed)# 综合奖励total_reward = 0.3 * (intent_reward) + 0.5 * retrieval_sim + 0.2 * fluency_scorereturn total_reward
2. 准备训练数据
可以使用历史客服对话数据构建轨迹数据集
S代表状态空间,包括了当前用户问题、对话历史、用户情绪得分;A代表动作空间,包括了生成回答的文本或者调用知识库API的决策;R代表奖励,表示在第n个状态下,AI采取行动an所获得的奖励。
3. 进行强化学习
将PRM集成到强化学习框架中,比如PPO,替代环境提供的原始奖励,如以下代码所示:
# 基于 Hugging Face Transformers 的对话策略from transformers import GPT2LMHeadModel, GPT2Tokenizerimport torchclass DialoguePolicy:def __init__(self):self.tokenizer = GPT2Tokenizer.from_pretrained("gpt2-medium")self.model = GPT2LMHeadModel.from_pretrained("gpt2-medium")def generate_response(self, state):input_text = f"User: {state['user_query']}\nBot:"inputs = self.tokenizer(input_text, return_tensors="pt")outputs = self.model.generate(**inputs, max_length=100)response = self.tokenizer.decode(outputs[0], skip_special_tokens=True)return response.split("Bot:")[-1].strip()# 训练循环(PPO 框架)def train_ppo(policy, reward_model, epochs=10):optimizer = torch.optim.Adam(policy.parameters(), lr=1e-5)for epoch in range(epochs):state = env.reset() # 假设 env 为模拟对话环境for t in range(max_steps):action = policy.generate_response(state)next_state, done = env.step(action)reward = get_reward(state, action)# PPO 更新逻辑(简化)advantage = calculate_advantage(reward, policy, next_state)loss = -torch.mean(advantage)optimizer.zero_grad()loss.backward()optimizer.step()
第一步,查询1楼的供水管温度传感器;第二步,查询该供水管温度传感器的数值;第三步,查询1楼的回水管温度传感器;第四步,查询该回水管温度传感器的数值;第五步,计算两个数值的差
MATCH(r:Sensor) WHERE r.Name =~ ‘.*1F.*' AND r.type =~ ‘.*供水管温度传感器.*' RETURN r
53AI,企业落地大模型首选服务商
产品:场景落地咨询+大模型应用平台+行业解决方案
承诺:免费POC验证,效果达标后再合作。零风险落地应用大模型,已交付160+中大型企业
2025-10-30
Cursor 2.0的一些有趣的新特性
2025-10-30
Anthropic 发布最新研究:LLM 展现初步自省迹象
2025-10-30
让Agent系统更聪明之前,先让它能被信任
2025-10-30
Rag不行?谷歌DeepMind同款,文档阅读新助手:ReadAgent
2025-10-29
4大阶段,10个步骤,助你高效构建企业级智能体(Agent)
2025-10-29
DocReward:让智能体“写得更专业”的文档奖励模型
2025-10-29
沃尔沃RAG实战:企业级知识库,早就该放弃小分块策略
2025-10-29
大模型的Funcation Calling是什么?
2025-08-21
2025-08-21
2025-08-19
2025-09-16
2025-10-02
2025-09-08
2025-09-17
2025-08-19
2025-09-29
2025-08-20
2025-10-29
2025-10-29
2025-10-28
2025-10-28
2025-10-27
2025-10-26
2025-10-25
2025-10-23