1、大模型加持如何改变需求工程任务金芝北京大学金芝北京大学教授IEEE/CCF/AAIA Fellow,高可信软件技术教育部重点实验室常务副主任,国家杰出青年科学基金获得者。兼任国务院学位委员会学科评议组成员(软件工程),中国计算机学会监事长,中国人工智能学会知识工程与分布智能专委会副主任。研究领域包括需求工程、代码表示和软件自动化。出 版 专 著 和 教 材 5 部,发 表 论 文 300 余 篇,5 次 获 ACM SigSoftDistinguished Paper Awards。研究成果曾获教育部科技进步一等奖、CCF技术发明一等奖、和北京市技术发明二等奖。获CCF杰出成就(夏培肃)奖、I
2、EEE TCSVC 杰出领导力奖、中创软件人才奖等。演讲嘉宾目 录CONTENTS1.需求工程2.痛点和挑战3.语言模型的能和不能4.探索和讨论什么是需求工程PART 01需求工程每一个“人造物”都是一个内部环境与外部环境的“接口”。这里内部环境指人造物本身的设计组成。外部环境指人造物的周遭及其作用环境。对这个接口的描述即是需求。软件就是一种人造物,软件的需求就是描述了软件的外部环境描述与软件内部设计描述的接口需求工程 软件需要被塑造和创造 软件是人造物,起初软件并不存在 设计思维是:在开发软件之前要考虑 为什么?哪里?哪个?什么?什么时候?如何?为什么需要软件 哪里需要软件 需要解决哪些问题
3、 软件希望做什么 如何开发软件 您期望该软件的表现如何 软件需要遵循哪些社会规律软件目的性质量社会性功能性需求工程设计思维和设计创新https:/ 02表达和表达的内涵主观的含糊的不充分的矛盾的(主观上的/物理冲突)可能不现实的可放松的/强制遵循的约束确定的/不确定的行为友好的/恶意的使用环境友好的软件需求工程软件需求工程向下:技术可向下:技术可实现实现向上:满足用户期望向上:满足用户期望行业问题的行业问题的软件解决方软件解决方案案结构化、形式化、结构化、形式化、软件架构软件架构/行为行为/质质量等的需求规约量等的需求规约行业问题行业问题现实世界场景现实世界场景自然语言需求自然语言需求沟通不足
4、知识不足技术手段不足问题认识不足问题和解决方案的思维差异问题描述离散化 vs 软件描述系统性行业需求条目(m*n)软件规约条目行业需求”What I want”vs 软件规约”How I can”软件解决方案本身的问题:可靠性、安全性、保密性、隐私性、性能、基础设施依赖性、目标驱动的构造Zave&Jackson 1997从现实问题出发:问题驱动分析“存在的即是合理的”“软件是客观世界的计算机化”“客观世界和软件系统的关系”忠于现实,将现实映射到系统。从软件构造出发:E.W.Dijkstra 结构化程序“人的智力是有限的”“软件开发是一件复杂的工程”“对一个庞大复杂的问题,要从程序结构上进行简化
5、,从而得到一个结构清晰的程序”。https:/www.cs.utexas.edu/users/EWD/index13xx.html语言模型的能与不能PART 03语言模型的能与不能:语言模型语言是人类表达和交流的突出能力语言建模是推进机器的语言智能的主要方法之一语言建模旨在对词序列的生成可能性进行建模,从而预测未来或缺失标记的概率大语言模型从大量文本数据中学习出处理和生成人类语言的能力大语言模型在自然语言处理任务方面取得了长足的进步大语言模型有可能应对沟通挑战和知识差距语言模型的能与不能:语言模型的基础能力 语言生成 语言建模:基于前序字符预测下一个字符 条件文本生成:给定条件下,生成满足特定
6、任务需求的文本,如机器翻译、文本摘要、问答等 代码综合:生成满足特定条件的形式化语言文本,特别是计算机程序 知识利用 封闭文本问答:基于给定上下文,不利用外部资源,通过问答检测语言模型的事实性知识 开放文本问答:语言模型给出答案的时候可以利用外部知识源 知识补全:将语言模型作为知识库,补充和预测缺失的知识单元 复杂推理 知识推理:依赖逻辑关系和涉及事实性知识的证据,回答给定问题 符号推理:操作形式化规则设置中的符号,满足一些特定的目标,其中,操作和规则可能是语言模型在训练时没有见过的 数学推理:在理解数学知识、逻辑和计算的基础上,进行问题求解和生成证明语句语言模型的能与不能:激发语言模型的能力