公司是一家典型的军事仿真软件开发企业,业务合作对象主要是各科研院所,核心为电磁仿真。时值公司内部准备着手开发第三版自有仿真平台,结合之前版本的使用情况和应用实际,对于新版规划方向结合当下AI发展势头、及其在军事仿真领域应用可能性,我有以下几点想法,这关切着一个仿真软件公司到底该向何方发展的思考,以及在诸如AI编程能力有如此重大发展的契机与压力之下,也有对此类公司能否持续承接到仿真软件开发项目和业务模式如何演化的担忧。
这里我关注的不是怎么使用AI编程工具本身,而是如何让我们的产品更具AI特性。另:以下讨论点有待进一步细化到实操粒度。
一、理清新版仿真平台开发意图
1、相比之前版本要有什么不同?需要哪些提升?改进或创新应足够明显。不只是为了有事可做而重写一次,不是为了版本号的增加,也不能只是为了个别计算公式的优化或算的更准。因为这些在AI编程面前,极其微不足道。
2、新版平台要满足什么样的需求?想让别人怎么使用这个平台?直接使用成品功能,还是基于平台做脚本化、扩展性代码开发?我认为一个平台的目标不是定制化开发的脚手架,而是可销售给客户的系统化现成工具,因为定制开发没有尽头。
3、定制化开发和适配性开发的程度。
(1)平台应具有适应不同用户需求的统一性能力,不做改动即可使用,或简单的皮肤/配置项调整即可交付给客户。
(2)如果面向不同客户的更改量很大,如界面/逻辑/功能均需要更改或编译,则平台建设效益降低。那么一组定义良好的动态库和静态库才是关键。
4、公司项目的特点。定制化开发占据大比例合同,一个客户一个需求,用同一平台满足差异极大的不同需求则难度较高。以代码库的形式更容易适应上层不同需求。
5、平台与框架或库的区别。库和框架具有更好的适应性,便于不同项目选择使用,具有在不同项目中集成的便利性。所以我认为眼下当务之急是实现一组库,在此之上另外构建具有普适性的平台产品。
6、为组件化开发做准备。提炼归纳公司现有能力,提供良好接口设计的库和框架,目标是:由AI生成胶水代码即可实现不同需求的应用交付。
7、公司应进一步提取并研讨过往项目需求的共同性。研究配置化开发(界面可配置,模型可配置,逻辑可配置)的可行性,或仿真软件低代码开发的可能性。
8、适应AI模型的高速迭代。新模型的发布通常带来新能力,会瞬间抹平大多数微调带来的投入产出比。尽快形成公司体系下AI能力集成范式,应具有对未来模型的适应性。
9、平台建设的立足点。我们要建成什么样,而不是我们现在有什么。用期待拉高实现,用期待牵引架构、用架构牵引技术。
先抛弃技术思维、再开始构想、再回到技术落地。
10、平台可被AI Agent访问。平台建成,应具备能被AIAgent访问的能力,应具有一组定义良好的能力集。随着AI模型的飞速进化,AI生成代码极其容易,但在电磁仿真领域一定会需要一个专业的功能接口提供商。而我们应该如何定义我们可面向AI的功能接口?
比如:高德地图是业界公认的AI地图能力提供商,支付宝是AI支付能力提供商。
11、平台的目标和价值在于,可完成所有作战指挥辅助决策系统内的电磁支援保障部分应有的全部能力。可被科研院所、电磁武装部队等相关岗位工作人员当成可靠易用的趁手工具,可协助完成电磁仿真、演习、辅助决策等多项任务。
仿真本身对应的是既定态势。但辅助决策一定是要求有能力自动生成多方案、并自动进行快速仿真、再择优选择的一种能力。
二、为适应AI化开发需做调整(主要针对大语言模型)
AI模型预训练使用了高质量规范化语料和代码样本,具有通用知识能力、具有精准的字词拆解和生成能力,对另类特殊的风格习惯适应性较差。
1、类、成员等标识符的命名需要更加规范。
(1)去除多余前,如I、C、mp等无实际意义字符,阻碍了顺畅阅读,应以意图和语义表达为核心目的,使用符合人类自然语言表述的用词,如纯粹的英文单词和词组作为标识符命名。
(2)避免随意缩写标识符名称,削弱标识符语义表达,不便于人类和AI的理解。如:苹果公司的API命名很长,但每一个方法与形参名称即可向开发者表达非常明确的意义。
(3)不畏惧长命名,标识符命名应具有自解释性和描述完整性,有利于AI模型阅读理解和使用。
2、接口API代码注释应更加规范,应完整包括:用途、特别说明、参数解释等,便于AI阅读理解和分析,有助于AI生成代码时进行引用。
3、拆分不同功能成“库+头文件”并提供意义明确且简洁的注释,便于AI理解和引用,且拆分的越细,则AI代码生成与引用越高效,适应于渐进式加载以降低Token消耗、减少非必要向量计算、降低自建服务器压力、进而提高总体生产效益。
4、尽快建立公司内现有能力对应的代码库(如电磁计算、图上标绘等能力),形成可检索可召回的知识与能力体系,能为AI所用,为AI开发中的能力复用做好基础性支撑。一切现有能力需要做文本化的对应性调整和积累,解决公司现有成果如何融入AI开发流程。可创建skill:输入可用接口名称或需求描述,由AI自行查询相关接口文件,并与需求一起送入LLM,由其生成含有接口调用代码的模块实现;由AI自行引入依赖库。
5、实现从AI辅助人工开发,到AI集成人工开发成果的转变。持续体现作为人所产生价值的延续。平台的脚本化、扩展性编程一定是可以由AI驱动的开发,用户通过本平台交互接口提需求即可。
6、鉴于某司已经显现的使用AI开发带来的百万美金级别的巨大亏损,需厘清AI开发的能力边界和使用范式。公司大部分项目非展示性或一次性消费项目,非即用即抛性程序,均需持续修改和维护,而人工对于完全由AI生成的项目代码是不具备审核或编辑能力的。
三、平台智能化:聚焦军事领域、让仿真具有AI能力
电磁仿真需要从试验室小场景过渡到可接入大场景作战仿真,而作战仿真的目标和终极意义应是AI辅助指挥决策与作战管理。
小场景用例在AI编程时代太易于被替代。
1、平台应可作为成品销售供应客户使用。
使用方式:文字/语音交互(或、并可配以指点设备)。内容输出:图形化显示结果(或持续的动态图形化显示)。外部对接:指挥系统、试验环境等。交付形式:成品化软件平台(或以硬件集成搭载销售)。
2、AI能力。
(1)用户口述态势(方案)(作战会议)(电磁支援保障)生成能力。
在现有指挥体系下,分级指挥和战情迷雾,使得作战会议是生成指挥决策的必然形式。
首先:平台应具有阶段性(或、局部性)作战目标识别能力。具有敌我兵力装备及参数的准确识别能力(以及索引能力),具有要素部署的可行性(规则)判断能力,具有更优部署的自动化建议能力(智能决策);具有从口语识别选取同一兵力装备并进行二次调整部署的能力。随口述讨论进行实时调整部署的能力。
其次:具有快速生成多种方案、并自动推演仿真、战损评估、择优的能力、能在分钟级内协助指挥员(用户)做出最佳决策。
最后:具有创建图形化作战方案(文档、文件)的能力,以及调用指挥系统自动传递(批准后)作战指令的能力。形成“态势感知->智能决策-> 作战管理”的流程闭合,核心是这一切由我们的平台产品驱动。
(2)智能化对抗。
根据一方部署,智能生成对抗一方的部署(绝不是人工部署),亦或多Agent充当不同角色进行对抗,在高频自动化上万次的对抗策略调整中辅助达成最优方案,如同NPC。
我始终认为仿真不只是实体标绘和用动画方式移动实体那么简单。最初的仿真目的可能只是为了理论验证。而在AI时代,军事仿真一定是要为指挥决策服务,而且我们要认识到在当前作战场景和分级指挥体系下、上下级信息不对称造成的战场迷雾,使得根据已有情报或态势进行正确决策就成了各级指挥员和指挥机构最大的痛点。
夜雨聆风