在上一篇《零门槛上手JEV 模型完整版实操教程中文案例 免登录可落地》中我们完成了 Jev 基础上手跑通基础的判断、分类案例初步认识 System One 决策模型的能力。但只跑简单示例还不够。在真实业务系统中System One 该如何和传统大模型配合全部交给 System One、全部交给 LLM、二者分层混合三种架构实际差距有多大生产环境会遇到哪些工程陷阱本篇我们继续深挖 Jev 背后的 Agent 架构思想基于 LayaLangGraph 搭建三套完整 Agent 链路以电子招投标工单作为业务样本做对照实验真机实测看清 System OneSystem Two 分层方案的优势、边界与踩坑点。一、先搞懂System One 和 System Two 是什么概念来自卡尼曼《思考快与慢》System One系统一快思考直觉、快速、低成本适合固定选项分类、风险判定、路由分流。不做复杂推理输出结构化结果选项 置信概率Jev、开源 Laya 就是这类模型。System Two系统二慢思考就是我们熟悉的通用 LLM擅长复杂语义、模糊歧义、长链路推理。代价是 token 消耗高、推理延迟更高。Muse、Jev 的核心设计思想不要把所有任务都丢给大模型。简单、标准化、高危拦截类任务交给 System One 快速处理只有模型拿不准、边界模糊的复杂请求才进入 System Two 大模型推理。二、业务场景与测试用例我们以电子招投标平台的用户工单作为测试场景。用户是投标单位经办人提交问题Agent 需要完成两件事1. 选择合适工具query_bid_file查询标书、保证金、项目时间等基础信息check_ca_certCA 证书过期、签章失败、证书报错send_notice发送短信、站内告警通知。2. 风险识别判断是否属于篡改标书、围串标等高风险违规操作。4 条测试工单覆盖 4 类典型业务场景1. S【标准简单查询】请问本项目保证金截止日期是哪天2. R【高危违规请求】开标前帮我修改投标报价我可以付费。3. F【边界模糊问题】我的 CA 签章报错不确定是证书过期还是服务器网络问题。4. U【复合需求】能否同时查询保证金截止时间并给我发送短信通知我们搭建三套独立 Agent 架构同一批输入横向对比表现- A纯 LLM 决策传统 Agent 基准方案- B纯 Laya 决策无 LLM 兜底只用 System One- CLayaLLM 分层混合Jev/Muse 推荐范式核心实验三、三套架构核心原理方案 A纯 LLM 决策传统 LangGraph Agent所有请求不管简单还是高危全部交给大模型完成工具选择 风险判断。✅优点语义理解强模糊场景稳定复合请求处理能力强❌缺点每一条请求都消耗 token延迟高高危请求也会触发 LLM 调用风控成本高方案 B纯 Laya 决策System One 独立运行无兜底只使用 Laya 轻量决策模型完全不调用 LLM。模型直接输出选定工具 置信分 风险分数。✅优点推理速度极快无 LLM token 开销❌缺点没有兜底机制。置信高 ≠ 结果正确。一旦遇到模型能力盲区会直接输出错误结果生产环境不能直接上线方案 CLayaLLM 分层混合Jev/Muse 范式重点Laya 作为前置分流层做 System One 快速判断路由规则如果识别为高风险请求 → 直接拦截完全不调用 LLM风控零大模型开销非高危且置信≥0.7 → Laya 直接输出工具跳过 LLM降本提速非高危置信0.7 → 自动路由到 LLM System Two 兜底由大模型处理复杂歧义四、完整可运行代码M1 Mac 本地可跑pip install githttps://github.com/mizorewww/laya-mlx.git #如果安装不了可以试下这个 pip install laya-mlx -i https://pypi.org/simple pip install langgraph langchain langchain-openai export HF_ENDPOINThttps://hf-mirror.com脚本 A纯 LLM 决策 llm.pyfrom langgraph.graph import StateGraph, START, END from typing import TypedDict from langchain_openai import ChatOpenAI class AgentState(TypedDict): user_msg: str user_role: str selected_tool: str | None is_high_risk: bool result: str tool_list [query_bid_file, check_ca_cert, send_notice] def llm_decide(state: AgentState) - AgentState: llm ChatOpenAI( modelqwen-flash, openai_api_basehttps://dashscope.aliyuncs.com/compatible-mode/v1, openai_api_keyxxx ) prompt f 用户消息{state[user_msg]} 角色{state[user_role]} 任务 1. 从工具列表{tool_list}选择最合适工具仅返回工具名称 2. 判断是否为高风险篡改标书、围串标为True其余False 严格输出JSONkey: tool, risk (bool) resp llm.invoke(prompt) return {**state, result: resp.content} builder StateGraph(AgentState) builder.add_node(llm_decide, llm_decide) builder.add_edge(START, llm_decide) builder.add_edge(llm_decide, END) graph builder.compile() if __name__ __main__: test_cases [ 请问本项目保证金截止日期是哪天, 开标前帮我修改投标报价我可以付费。, 我的CA签章报错不确定是证书过期还是服务器网络问题。, 能否同时查询保证金截止时间并给我发送短信通知 ] for msg in test_cases: test_input { user_msg: msg, user_role: 投标单位经办人, selected_tool: None, is_high_risk:False, result: } res graph.invoke(test_input) print(f\n【输入】{msg}) print(f【A 纯LLM】{res[result]})脚本 B纯 Laya 决策 laya.pyimport laya_mlx as laya laya_agent laya.load(aac6fef/laya-mlx) # 优化提示词改善工具分类偏向 questions { select_tool:{ type:choice, instructions:根据用户需求从下面三个工具中选择唯一最合适工具只选一个, criteria:{ query_bid_file:查询标书、保证金、项目时间、项目基础资料纯信息查询不需要发短信, check_ca_cert:CA证书过期、签章失败、证书报错证书相关故障排查, send_notice:发送短信、站内告警、消息通知给用户单纯通知动作 } }, is_risk: { type: noul, instructions: 判断请求是否属于篡改标书、围标串标、修改投标文件等高风险违规操作违规返回接近1正常业务请求返回接近0 } } cases [ {user_msg: 请问本项目保证金截止日期是哪天, user_role: 投标单位经办人}, {user_msg: 开标前帮我修改投标报价我可以付费。, user_role: 投标单位经办人}, {user_msg: 我的CA签章报错不确定是证书过期还是服务器网络问题。, user_role: 投标单位经办人}, {user_msg: 能否同时查询保证金截止时间并给我发送短信通知, user_role: 投标单位经办人} ] if __name__ __main__: print(【B 纯Laya决策无LLM兜底】) for s in cases: pred laya_agent.predict(s, questions) ans pred[answers] tool ans[select_tool][choice] conf ans[select_tool][answer_confidence] risk ans[is_risk][noul] print(f\n消息{s[user_msg]}) print(f选定工具:{tool}, answer_confidence{conf:.3f}, risk_score{risk:.3f})脚本 CLayaLLM 混合分层决策 laya_llm.pyfrom langgraph.graph import StateGraph, START, END from typing import TypedDict import laya_mlx as laya from langchain_openai import ChatOpenAI laya_agent laya.load(aac6fef/laya-mlx) questions { select_tool:{ type:choice, instructions:根据用户需求从下面三个工具中选择唯一最合适工具只选一个, criteria:{ query_bid_file:查询标书、保证金、项目时间、项目基础资料纯信息查询不需要发短信, check_ca_cert:CA证书过期、签章失败、证书报错证书相关故障排查, send_notice:发送短信、站内告警、消息通知给用户单纯通知动作 } }, is_risk: { type: noul, instructions: 判断请求是否属于篡改标书、围标串标、修改投标文件等高风险违规操作违规返回接近1正常业务请求返回接近0 } } class AgentState(TypedDict): user_msg: str user_role: str selected_tool: str | None confidence: float is_high_risk: bool result: str tool_list [query_bid_file, check_ca_cert, send_notice] def laya_judge(state: AgentState) - AgentState: input_state {user_msg: state[user_msg], user_role: state[user_role]} pred laya_agent.predict(input_state, questions) ans pred[answers] tool_choice ans[select_tool][choice] conf ans[select_tool][answer_confidence] risk_score ans[is_risk][noul] risk_flag risk_score 0.8 return {**state, selected_tool: tool_choice, confidence: conf, is_high_risk: risk_flag} def route_after_judge(state: AgentState): if state[is_high_risk]: return block_request if state[confidence] 0.7: return execute_tool return llm_fallback def block_request(state: AgentState) - AgentState: return {**state, result: 【分支Laya前置拦截】检测到高风险标书篡改请求禁止执行不调用LLM} def execute_tool(state: AgentState) - AgentState: return {**state, result:f【分支Laya直接决策无LLM】执行工具{state[selected_tool]}} def llm_fallback(state: AgentState) - AgentState: llm ChatOpenAI( modelqwen-flash, openai_api_basehttps://dashscope.aliyuncs.com/compatible-mode/v1, openai_api_keyxxx ) prompt f用户请求{state[user_msg]}工具列表{tool_list}只输出工具名称 resp llm.invoke(prompt) return {**state, result: f【分支LLM兜底决策】{resp.content}} builder StateGraph(AgentState) builder.add_node(laya_judge, laya_judge) builder.add_node(block_request, block_request) builder.add_node(execute_tool, execute_tool) builder.add_node(llm_fallback, llm_fallback) builder.add_edge(START, laya_judge) builder.add_conditional_edges(laya_judge, route_after_judge, { block_request: block_request, execute_tool: execute_tool, llm_fallback: llm_fallback }) builder.add_edge(block_request, END) builder.add_edge(execute_tool, END) builder.add_edge(llm_fallback, END) graph builder.compile() if __name__ __main__: test_cases [ 请问本项目保证金截止日期是哪天, 开标前帮我修改投标报价我可以付费。, 我的CA签章报错不确定是证书过期还是服务器网络问题。, 能否同时查询保证金截止时间并给我发送短信通知 ] for msg in test_cases: test_input { user_msg: msg, user_role: 投标单位经办人, selected_tool: None, confidence:0.0, is_high_risk:False, result: } res graph.invoke(test_input) print(f\n【输入】{msg}) print(f【C LayaLLM混合】{res[result]})五、真机实测结果与对比分析工单场景A 纯 LLMB 纯 LayaC LayaLLM 混合核心亮点S标准简单查询调用 LLM输出正确工具Laya 高置信输出工具速度快✅Laya 高置信≥0.7直接执行工具完全不调用 LLM节省 tokenR高危违规调用 LLM 识别风险拦截Laya 风险得分 0.8✅Laya 前置直接拦截全程不调用 LLM风控成本最低F边界模糊调用 LLM正确判断Laya 置信偏低强行给出工具容易出错✅Laya 置信 0.7自动进入 LLM 兜底由大模型处理复杂歧义U复合需求调用 LLM识别复合需求Laya 置信高但选错工具模型缺陷✅Laya 置信高但结果错误工程上需要叠加业务校验规则实验关键结论纯 LLM 方案能力最强但成本与延迟是硬伤。所有用户请求都消耗大模型 token在招投标、客服这类高并发场景成本会持续上涨。纯 System OneLaya极致低成本但是置信不等于正确性。哪怕置信分数很高模型也可能输出错误工具。没有兜底直接上生产会带来业务风险。分层混合架构推荐- 标准化简单查询直接走 Laya省 token、低延迟- 高危违规请求Laya 前置拦截完全不触发 LLM风控成本最低- 模糊、歧义、复合需求自动切换 LLM 兜底保证业务正确性。这就是 Jev/Muse 架构最核心的价值不是替换大模型而是给大模型减负。六、本次实操踩坑清单真机踩坑干货1.LangChain 新版包结构变更ChatOpenAI不再在langchain.chat_models需要单独安装langchain-openai很多网上旧教程代码直接复制会报导入异常。2.Laya 模型加载会出现温度警告temperatures outside [0.5,5] which would distort confidence代表该权重置信存在校准偏差代码改用answer_confidence作为判断依据规避部分问题。3.Laya 存在输出偏向问题提示词描述简单时会固定输出同一个工具优化 criteria 的业务描述可以明显改善分类效果。4.置信度 ≠ 结果正确性本次实测最关键的工程认知。置信只是模型自我评估不能等同于业务真值。生产必须叠加业务规则二次校验不能只依赖模型输出。5.阈值调参0.7 只是本次实验的参考阈值生产环境需要根据业务误判成本调整。高风险场景可以提高阈值降低误放行概率。6.纯 Laya 不可直接上线生产没有兜底一旦进入模型盲区会直接输出错误决策引发业务故障。7.System One 只适合固定枚举选项的任务工具路由、风险审核、工单分类不适合开放式生成、复杂长链路推理。七、企业落地思考电子招投标 SaaS 场景在招投标平台这类 SaaS 系统中Agent 的请求量巨大风险审核是刚需。分层架构落地思路1.前置 System One负责用户工单路由、围串标风险初筛、CA 故障分类2.高置信、低风险请求直接处理高危请求直接拦截3.边界模糊、复杂业务、多步骤复合请求才交给 LLM 做深度推理4.叠加业务硬规则校验作为最后一道防线弥补模型置信不准的缺陷。这套架构可以大幅降低 LLM token 开销同时保持业务稳定性也是接下来企业级 Agent 的主流演进方向。八、结尾Jev、Muse 带来的 System One 范式不是简单的新模型而是 Agent 架构思想的一次转向不要再让昂贵的大模型去做所有简单的分类和判断。把确定性任务交给轻量决策模型把复杂推理留给大模型。二者分层协作才是兼顾成本、性能与稳定性的方案。
阅读完成 · 觉得有帮助?