“核能耦合制氢仿真联动系统平台软件”这个标题乍看像三个热门词的拼接:核能、制氢、大模型AI。真正做过能源系统仿真的人会先问一句:热从哪来、电怎么配、氢在哪一端算,联动到底联的是模型还是数据。我在一个模拟项目X里第一次把大模型接进仿真回路时,踩的坑不是模型不够聪明,而是接口没冻结、单位没统一、仿真步长和通信周期互相打架。这个平台软件的核心价值,是把核能供热/供电、制氢工艺、控制逻辑和多物理场仿真放进同一套可编排、可观测、可复现的环境里,再用大模型做自然语言交互、知识检索、参数推荐和异常诊断的辅助层。它适合能源系统工程师、工艺仿真人员、控制策略设计者,也适合想理解“AI如何落在工业仿真里”的技术管理者。下面我按实际搭建顺序拆开讲,重点说清楚为什么这么选、参数怎么定、哪些地方最容易翻车。
1. 先拆标题:这个平台真正要解决什么问题
1.1 核能耦合制氢不是“核电站加电解槽”这么简单
很多人一听核能制氢,脑子里就是核电站发出来的电接一台电解槽。实际仿真里,这个理解会漏掉大量关键环节。核能侧要考虑反应堆热功率、蒸汽参数、发电效率、厂用电比例、余热利用方式;制氢侧要区分低温电解、高温蒸汽电解、热化学循环等路线,不同路线对电、热、蒸汽温度的压力完全不同。耦合点也不是一根线,而是电母线、蒸汽管网、给水系统、控制信号和安全联锁的交汇。平台软件要做的第一件事,是把这些耦合关系显式建模,而不是藏在某个Excel公式里。
我在模拟项目X里把耦合关系拆成三层:能量流、物质流、信息流。能量流包括热功率、电功率、蒸汽焓值;物质流包括水、氢气、氧气、循环介质;信息流包括温度、压力、流量、阀门开度、控制器输出。每一层都用独立的数据字典管理,单位、量纲、采样周期必须写死。这样做的好处是,后面无论接大模型还是接可视化,都不会因为“这个流量是标方还是质量流量”吵半天。很多仿真平台最后不可维护,不是因为算法难,而是因为单位体系从一开始就是散的。
从应用场景看,这个平台至少覆盖四类需求。第一类是工艺方案对比,比如同一核热功率下,高温蒸汽电解和低温电解的制氢量、电耗、热耗差异。第二类是控制策略验证,比如核能侧负荷变化时,制氢系统如何跟随、缓冲罐如何削峰。第三类是人员培训,让操作人员在虚拟环境里理解耦合系统的动态特性。第四类是经济性和安全边界分析,比如电价、热价、设备利用率变化对平准化制氢成本的影响。平台软件如果只能跑单点稳态计算,价值会非常有限,真正难的是动态联动和可复现。
1.2 大模型AI在平台里应该站在什么位置
大模型在这个平台里最容易被误用的位置,是直接参与核安全级控制。这个边界必须守住。我的做法是把大模型放在“辅助层”:自然语言需求解析、仿真任务编排、参数推荐、知识库问答、异常诊断建议、报告草稿生成。它不直接下发阀门开度,也不绕过机理模型做安全判断。原因很现实,大模型有幻觉,响应时间不稳定,输出不可严格验证;而核能耦合系统对确定性和可追溯性要求极高。把大模型放在辅助层,既能降低使用门槛,又不会把不确定性带进闭环控制。
举个具体例子。用户输入“帮我把核热功率降到80%,看看制氢量多久能稳住”,平台先由大模型解析出意图:目标变量是核热功率,目标值是80%,关注变量是制氢流量和缓冲罐压力,关注时间是动态响应过程。然后平台调用预置的仿真工作流,修改参数、提交计算、等待结果,再把曲线和关键指标返回。大模型不参与求解,只负责把人的自然语言翻译成平台可执行的任务描述。这个“翻译层”价值很大,因为仿真软件的传统操作门槛高,参数面板几十个,新手很容易改错。但翻译层必须有一套白名单动作,不能让它自由生成任意脚本。
还有一个容易忽略的点:大模型的知识库要跟仿真模型版本绑定。模拟项目X里,工艺参数改过三轮,知识库里还留着旧版推荐值,结果大模型给的操作建议和当前模型对不上。后来我们加了版本号校验,知识库条目必须带模型版本、适用工况和置信度,过期条目自动降权。这个细节不写进平台设计,后面运维会非常痛苦。
1.3 平台软件的边界与交付物
这个平台软件不是单纯的算法脚本集合,也不是一个聊天窗口。我理解的交付物包括五部分:仿真模型库、联动总线、大模型服务、数据与知识库、可视化与人机交互。仿真模型库负责机理计算,联动总线负责模型之间的数据交换和时序对齐,大模型服务负责意图解析和辅助决策,数据与知识库负责历史数据、规则、文档和版本管理,可视化负责人看曲线、报警、报告和回溯。五部分缺一个,平台就会退化成演示Demo。
边界也要说清楚。平台不替代详细设计软件,不替代安全分析程序,不替代现场DCS。它更像一个“耦合关系试验台”和“跨专业协同沙盘”。做方案论证时,它可以快速回答“如果这样改,系统大概会怎样”;做控制逻辑预演时,它可以暴露时序和耦合问题;做培训时,它可以把难得一见的工况复现出来。把这些边界写进项目任务书,后面验收会少很多扯皮。
2. 平台架构与关键技术选型
2.1 为什么采用“机理模型+联动总线+大模型辅助”的分层架构
分层架构不是赶时髦,而是被耦合系统的复杂性逼出来的。核能侧的热工水力模型、制氢侧的电化学模型、控制侧的逻辑模型,更新频率和求解特性完全不同。热工模型可能需要毫秒到秒级步长,电化学模型关注分钟级动态,经济性模型可能是小时级。如果把它们塞进一个巨大单体程序,任何一处修改都要全量回归,调试成本会失控。分层之后,每类模型可以独立封装、独立测试、独立版本管理,联动总线只负责按约定交换数据。
联动总线的选型上,我倾向于“标准接口优先”。模型封装用FMI这类通用接口规范,数据通信可以用消息队列或OPC UA这类工业通信协议,历史数据落时序数据库。为什么不用点对点脚本直接调用?因为点对点调用在模型数量少时很爽,一旦超过五个模型,依赖关系会变成蜘蛛网,谁先算、谁后算、超时怎么处理都说不清。总线模式把时序问题集中管理,模型只关心“我收到输入、我算出输出”,系统可观测性会好很多。
大模型辅助层放在总线之外,通过工具调用访问平台能力。它不直接读写仿真内存,而是调用平台暴露的API:创建任务、修改参数、查询结果、生成报告。这样做有三个好处:权限可控、动作可审计、失败可回退。模拟项目X里,大模型生成的每个动作都记录到审计日志,包括原始输入、解析结果、调用参数、返回状态。后来排查一次参数误改,就是靠日志定位到提示词里“提高到90%”被解析成了“压力提高到90%”。没有审计日志,这种问题很难复现。
2.2 仿真模型库怎么划分颗粒度
模型颗粒度是平台设计里最考验经验的环节。颗粒度太粗,结果不可信;颗粒度太细,计算跑不动,参数也拿不到。我的建议是按“决策问题”定颗粒度,而不是按设备清单定颗粒度。如果平台当前要回答的是“核热功率变化对制氢量的分钟级影响”,那么反应堆可以简化为一阶惯性加约束,蒸汽发生器用集中参数模型,电解槽用极化曲线加热平衡,缓冲罐用质量守恒。如果后面要回答“启停过程中的局部过热风险”,再局部细化模型。
模拟项目X里,我们一开始把换热器做成分布参数,网格很细,单次仿真跑二十分钟,评审时根本没法互动。后来改成集中参数加修正系数,单次仿真降到四十秒,趋势仍然对得上,关键结论没变。这个取舍要在平台文档里写清楚:当前模型适用于什么工况、误差大概多少、哪些结论不能外推。大模型在推荐参数时,也要读取这个适用域信息,不能拿粗模型的结论去回答细模型的问题。
模型库还要有“接口契约”。每个模型对外暴露哪些输入、哪些输出、单位是什么、默认值是多少、取值范围是多少,全部写成机器可读的配置。接口契约一旦冻结,模型内部怎么改不影响联动。这个做法跟微服务设计里的契约测试类似。没有契约,模型一升级,总线就断,大模型推荐也会跟着错。
2.3 大模型服务的技术选型与约束
大模型服务这块,我不建议一上来追求“全自动生成模型”。更稳的路线是“受控工具调用+知识库检索+模板化输出”。模型选择上,优先考虑响应稳定、支持结构化输出、可私有化部署的方案。工业仿真数据很多不能出内网,私有化部署是硬约束。提示词工程不是写一段万能咒语,而是把平台能力拆成清晰的工具描述,让大模型知道什么时候该调用哪个工具、参数怎么填、失败怎么重试。
一个实用的做法是给大模型配“动作白名单”。比如允许它调用查询模型列表、创建仿真任务、修改非安全级参数、导出结果、生成报告;不允许它直接修改安全联锁阈值、删除历史数据、绕过审批发布模型。白名单之外的动作一律拒绝,并返回明确原因。这样即使提示词被诱导,平台也不会执行危险操作。大模型输出还要做结构化校验,比如参数值必须在范围内、单位必须匹配、任务必须关联模型版本。校验不通过就让大模型重新生成,最多重试两次,仍失败就转人工。
知识库方面,文档、操作手册、历史案例、故障记录要分门别类,切片时保留章节和版本信息。检索增强生成不是把所有文档塞进去就完事,检索结果要带来源和置信度。给工程师看的建议,必须能点回原文。模拟项目X里有一条“高温蒸汽电解入口温度建议值”,检索出来三个版本文档,如果不显示版本,工程师根本不知道该信哪个。后来我们在回答里强制带“来源文档+版本+适用工况”,争议少了很多。
3. 核心模型与联动机制的操作细节
3.1 核能侧热功率与制氢侧负荷的匹配计算
核能耦合制氢的仿真,第一步是把能量平衡算清楚。假设一个模拟工况:核反应堆热功率为200 MW,发电效率取40%,厂用电率取10%,可用于制氢的电功率约为200×40%×(1-10%)=72 MW。如果采用高温蒸汽电解,电耗按3.4 kWh/Nm³氢气估算,则理论制氢量约为72×1000/3.4≈21176 Nm³/h。再按1 kg氢气约11.2 Nm³换算,约1890 kg/h,也就是1.89 t/h。这个数字只是电耗口径,实际还要考虑电解槽效率、辅助系统电耗、启停损耗和氢气压缩纯化消耗。
热耗侧也要单独算。高温蒸汽电解需要维持入口蒸汽温度和电解温度,部分热量可以由核能侧高温蒸汽提供。如果每标方氢气额外需要0.6 kWh热量,那么21176 Nm³/h对应约12.7 MW热功率。这个热量要从核能侧抽汽或换热中拿,不能和发电用热简单相加。平台里最好把“电制氢”和“热制氢”拆成两条能量流,分别设置约束。否则大模型推荐“提高制氢量”时,可能只加电不加热,仿真结果看着涨了,实际工艺上根本不可行。
我在模拟项目X里做过一组对比:同样72 MW电功率,低温电解电耗按4.5 kWh/Nm³算,制氢量约16000 Nm³/h;高温蒸汽电解按3.4 kWh/Nm³算,制氢量约21176 Nm³/h。差距很明显,但高温路线对蒸汽参数和材料要求更高,动态响应也更复杂。平台软件的价值不是给一个“谁更好”的结论,而是把不同路线在相同边界下的差异量化出来,让决策者看到代价在哪里。
3.2 联动总线的数据时序与步长设置
联动仿真最容易出问题的地方是时序。不同模型步长不一样,通信周期也不一样,如果不对齐,就会出现“控制器以为阀门已经开了,热工模型还没收到指令”的假象。我的做法是设定一个全局仿真时钟,所有模型按统一时间戳交换数据,模型内部可以自步长,但对外输出必须落在约定通信周期上。通信周期取多少?要看最快动态。如果控制回路关注秒级响应,通信周期不能大于1秒;如果只看分钟级工艺趋势,5秒到10秒也可以。模拟项目X里,最初通信周期设成10秒,结果控制策略里的积分项严重失真,曲线一直震荡。改成1秒后,震荡消失。
步长设置还要考虑数值稳定性。热工模型步长过大,换热器出口温度会跳变;电化学模型步长过大,电压电流关系会失真。平台里可以给每个模型配置最大步长和最小步长,总线负责检查。超时处理也要明确:某个模型在约定时间内没返回,总线是重试、跳过还是终止整个任务?我的建议是默认终止并标记失败,不要静默跳过。静默跳过会让结果看起来正常,实际上少算了一个环节,后面很难发现。
数据质量也要在总线层做校验。单位、范围、变化率、空值、重复时间戳,都要检查。比如流量出现负值、温度超过材料上限、压力变化率异常,总线应该打标签而不是直接丢给下游。大模型做异常诊断时,读取这些标签比读原始曲线更有效。模拟项目X里,一次氢气流量突降,排查半天发现是上游模型输出了负值,总线没校验,下游按负值积分,缓冲罐压力直接算崩。后来加了范围校验,类似问题再没出现。
3.3 大模型意图解析与工具调用的落地方式
大模型要真正好用,提示词里不能只写“你是一个能源专家”,而要把平台能力、参数范围、失败处理写清楚。我通常把系统提示分成四块:角色与边界、可用工具清单、参数约束、输出格式。角色与边界明确它只做辅助,不做安全判断;工具清单列出可调用的API和参数说明;参数约束写清每个参数的上下限和单位;输出格式要求返回结构化JSON,包含动作、参数、置信度、需要人工确认的标记。
比如用户说“把核热功率降到80%,看看制氢量多久稳住”,大模型输出应该类似:动作是“创建动态仿真任务”,参数包括目标核热功率百分比80、关注变量列表、仿真时长、通信周期,置信度0.86,需要人工确认false。平台拿到JSON后先做schema校验,再检查参数范围,然后提交任务。如果用户说“把安全阈值改一下”,大模型应该识别为高风险动作,返回需要人工确认true,并说明平台不允许直接修改安全阈值。这个“拒绝能力”比“生成能力”更重要。
工具调用还要处理多轮澄清。用户说“降一点”,大模型不能瞎猜,应该追问“降到多少,80%还是85%”。模拟项目X里,我们给大模型设了澄清阈值:关键参数缺失或置信度低于0.7时必须追问。这个策略会牺牲一点自动化率,但能显著降低误操作。工业软件里,少一次误操作比多十次自动执行更有价值。
3.4 安全边界与审计日志的设计要点
这个平台涉及核能耦合,安全边界必须写进架构,不能靠口头提醒。我的做法是三层控制:动作白名单、参数范围校验、人工审批。白名单控制“能做什么”,参数范围控制“能改成多少”,人工审批控制“高风险动作谁负责”。大模型生成的任何写操作,都要走这三层。读操作可以放宽,但也要记录。审计日志至少包含时间、用户、原始输入、大模型解析结果、实际调用参数、返回结果、模型版本、知识库版本。日志要可检索、不可篡改,保存周期按项目要求定。
还有一个细节:大模型服务本身要有降级策略。模型服务不可用时,平台要能退回到表单式操作,不能整个平台瘫痪。模拟项目X里有一次模型服务升级,接口超时,大模型入口挂了,但仿真任务和可视化还能用,工程师改用表单继续干活。这个降级设计在演示时看不出价值,真出问题时能救命。平台设计文档里应该明确:大模型是增强项,不是单点依赖。
4. 实操搭建流程与参数配置
4.1 环境准备与模型封装的最小闭环
搭建这个平台,不建议一上来就铺大而全的架构。先做一个最小闭环:一个核能侧简化模型、一个制氢侧简化模型、一条联动总线、一个可视化曲线、一个大模型问答入口。核能侧可以用集中参数热工模型,输入核热功率、冷却剂流量、蒸汽参数,输出电功率、可用蒸汽量。制氢侧可以用极化曲线加质量守恒,输入电功率、蒸汽量、入口温度,输出氢气流量、耗电、耗热。两个模型通过总线交换电功率和蒸汽量。这个闭环跑通,再逐步加控制逻辑、缓冲罐、经济性模型。
环境准备上,仿真引擎、消息中间件、时序数据库、可视化服务、大模型服务最好容器化部署,版本锁定。为什么强调版本锁定?因为仿真模型对求解器版本敏感,求解器一升级,结果可能漂移。模拟项目X里,一次求解器小版本升级导致换热器出口温度偏了0.8°C,评审时被问了半天。后来所有环境打镜像,模型、求解器、总线、大模型服务版本一起记录,复现问题方便很多。
下面是一个模型接口配置的示例,重点看单位、范围、默认值和版本字段:
{ "model_id": "nuclear_heat_simplified", "version": "1.2.0", "inputs": [ {"name": "reactor_thermal_power", "unit": "MW", "min": 0, "max": 250, "default": 200}, {"name": "coolant_flow", "unit": "kg/s", "min": 50, "max": 300, "default": 180} ], "outputs": [ {"name": "electric_power", "unit": "MW", "min": 0, "max": 120}, {"name": "steam_available", "unit": "t/h", "min": 0, "max": 400} ], "solver": {"max_step": 1.0, "min_step": 0.01, "unit": "s"} }这个配置看起来简单,但它解决了联动里最常吵的三件事:单位是什么、能改到多少、步长怎么定。接口契约冻结后,模型内部优化不影响外部调用。大模型读取这个配置,也知道参数边界,不会推荐一个超出范围的数。
4.2 联动任务编排与通信参数配置
任务编排要写清楚谁先算、谁后算、数据怎么传。对于核能耦合制氢,通常核能侧先给出可用电功率和蒸汽量,制氢侧再算氢气流量,控制器根据偏差调整。如果存在缓冲罐,还要加一层质量守恒和压力动态。编排配置里要定义仿真总时长、通信周期、超时时间、重试次数、失败策略。我的经验值是:动态过程仿真总时长先设30分钟,通信周期1秒,单模型超时5秒,重试1次,失败即终止。这个配置适合分钟级动态观察,计算量也可控。
simulation: total_time_s: 1800 communication_period_s: 1 timeout_s: 5 retry: 1 failure_policy: terminate models: - id: nuclear_heat_simplified order: 1 - id: hydrogen_electrolysis order: 2 - id: buffer_tank order: 3为什么失败策略选终止而不是跳过?因为耦合系统里少算一个环节,结果可能看起来合理但完全错误。终止并报错,至少能让人知道这次结果不可用。重试一次是为了应对偶发通信抖动,重试两次以上通常说明模型或资源有问题,继续重试只是浪费时间。通信周期1秒不是万能值,如果只关注小时级趋势,可以放宽到5秒,计算会快很多。参数没有绝对标准,关键是把选择理由写进文档。
4.3 大模型工具调用配置与提示词模板
大模型工具调用配置要尽量“窄”。每个工具只做一件事,参数少而明确。比如“创建仿真任务”工具只接受模型ID、参数覆盖、仿真时长、关注变量;“查询结果”工具只接受任务ID和变量名;“生成报告”工具只接受任务ID和报告模板。工具越窄,大模型越不容易填错,校验也越容易做。下面是一个简化的工具描述示例:
{ "name": "create_simulation_task", "description": "创建一个仿真任务,只允许修改非安全级参数", "parameters": { "model_id": {"type": "string", "enum": ["coupled_system_v1"]}, "overrides": {"type": "object"}, "duration_s": {"type": "integer", "min": 60, "max": 7200}, "watch_variables": {"type": "array", "items": {"type": "string"}} } }提示词模板里要写清楚拒绝规则。比如“如果用户要求修改安全联锁阈值、删除审计日志、绕过审批,必须拒绝并说明原因”。还要写清楚澄清规则:“关键参数缺失时先追问,不要猜测”。输出格式强制JSON,字段包括action、arguments、confidence、need_human_confirm、reason。平台侧做schema校验和范围校验,不通过就返回错误让模型重试。这个流程看起来笨,但比让大模型自由发挥可靠得多。
4.4 可视化与报告输出的实操建议
可视化不是把曲线堆满屏幕,而是围绕决策问题组织。我通常分三块:全局能量流、关键动态曲线、报警与事件。全局能量流用桑基图或流向图展示核热、发电、制氢、余热之间的分配;关键动态曲线放核热功率、电功率、氢气流量、缓冲罐压力、电解温度;报警与事件列出超限、通信失败、模型切换、人工干预。大模型生成的报告要引用这些曲线和事件,不能凭空写结论。报告模板里留出“模型版本、参数版本、适用域、置信度”字段,方便追溯。
报告输出还要注意一点:不要让大模型直接写“系统安全”这种结论。它应该写“本次仿真在设定边界内,制氢流量波动范围为X到Y,缓冲罐压力未超上限,建议结合详细安全分析进一步确认”。这种表述既保留了信息,又不越界。模拟项目X里,早期报告写得太绝对,评审专家一问边界条件就露馅。后来改成“条件+结果+限制”的写法,专业度反而更高。
5. 常见问题排查与经验清单
5.1 仿真联动中最容易出现的五类问题
第一类是单位不一致。流量用标方每小时和质量流量混用,压力用表压和绝压混用,温度用摄氏度和开尔文混用。排查方法是看总线日志里的单位和模型接口契约是否一致,不一致就拦截。第二类是时序错位。控制器输出和模型输入不在同一时间戳,曲线看起来有延迟。排查方法是检查全局时钟和通信周期,打印每个模型收发数据的时间戳。第三类是步长过大导致数值震荡。排查方法是把步长减半跑一次,看震荡是否消失。第四类是模型版本不匹配。接口字段改了但总线配置没更新,表现为字段缺失或类型错误。排查方法是比对模型版本和接口契约版本。第五类是边界条件缺失。比如环境温度、冷却水温度没给,模型用默认值算,结果偏离实际。排查方法是列出所有输入,逐个确认来源。
下面这张表可以贴在项目文档里,出问题时按顺序查:
| 现象 | 优先排查 | 常见原因 | 处理方式 |
|---|---|---|---|
| 曲线周期性震荡 | 通信周期与步长 | 周期大于控制响应时间 | 缩短通信周期或调整控制器参数 |
| 氢气流量突降为负 | 总线数据校验 | 上游模型输出越界 | 增加范围校验并终止异常任务 |
| 仿真结果与稳态计算偏差大 | 边界条件 | 默认值替代了实际值 | 补齐环境温度、压力、流量边界 |
| 大模型推荐参数不可执行 | 工具参数约束 | 提示词未写范围 | 在工具描述和校验层同时限制 |
| 报告结论与曲线不一致 | 报告模板 | 大模型自由生成 | 强制引用任务ID和变量名 |
5.2 大模型辅助层的典型翻车与规避
大模型最常见的翻车不是“不会”,而是“太自信”。用户问“这个工况安全吗”,它可能直接回“安全”,但仿真结果只覆盖了稳态,没覆盖启停。规避方法是给大模型加“适用域查询”工具,回答前先查模型适用域和本次任务覆盖的工况,再组织语言。另一个翻车是参数解析错误,比如“提高到90%”被解析成绝对值和相对值混淆。规避方法是在提示词里要求明确“绝对值还是相对值”,解析结果里带unit和mode字段,平台侧再校验。
还有一个很容易被忽略的问题:大模型会把历史对话里的参数带到新任务里。用户上一轮说“核热功率200 MW”,下一轮说“降一点”,模型可能直接沿用200 MW做相对调整,但用户其实想的是另一个模型。规避方法是每个任务创建时生成独立上下文,关键参数必须显式确认,不跨任务继承。模拟项目X里,我们加了“任务上下文隔离”后,误操作少了很多。大模型不是越自动越好,工业场景里“确认一下”往往比“秒回”更专业。
5.3 性能与可复现性的经验技巧
性能方面,先分清瓶颈在求解还是通信。如果单模型求解慢,优化模型颗粒度或换求解器;如果通信慢,减少不必要的数据交换,合并小消息,压缩历史数据。可视化不要实时拉全量曲线,按需降采样。大模型调用不要放在仿真主循环里,异步执行,避免拖慢求解。模拟项目X里,最初每算一步都调一次大模型做诊断,结果仿真慢了五倍。后来改成任务结束后批量诊断,速度恢复正常。
可复现性方面,每次仿真任务要固化五样东西:模型版本、接口契约版本、参数快照、随机种子、环境镜像版本。缺少任何一样,后面都很难复现。尤其是随机种子,有些优化算法或噪声模型会用到,不记录的话,同一组参数跑出不同结果,评审时说不清。我的习惯是任务目录里自动生成manifest文件,把这几样写进去,报告里引用manifest ID。这个做法不复杂,但能省大量扯皮时间。
最后分享一个我在模拟项目X里踩过的坑:不要一上来就让大模型生成完整仿真流程。先把接口协议、参数范围、失败策略冻结,再让大模型在受控工具集里做编排。顺序反了,后面每改一次接口,提示词和知识库都要跟着改,维护成本会滚雪球。平台软件的核心竞争力不在模型参数多大,而在耦合关系是否清晰、数据是否可追溯、边界是否守得住。把这三件事做扎实,大模型加进来才是锦上添花,而不是给系统添乱。