【CSDN 编者按】由于 AI 的兴起,编程的方向正在从句法转向语义,而微软最近的这款产品恰恰印证了这一点。
作者 | 陈静琳 责编 | 屠敏
出品 | CSDN(ID:CSDNnews)
微软最近开源了一款 Semantic Kernel(语义内核)产品,这是一种轻量级软件开发工具包 (SDK),允许开发人员将 AI 技术集成到他们的应用程序中。SK(Semantic Kernel)让传统的编程语言,如c#和Python,与最新的大型语言模型(LLM) AI 提示相结合,具有提示模板、链接和规划功能。
4月6日,微软设计和人工智能的副总裁 John Maeda展示了语义内核的最新进展,为 Python提供了支持:https://devblogs.microsoft.com/semantic-kernel/py/
并且深入阐述语义内核(微软缩写为SK)背后的想法、主要概念以及开发人员对他的使用方法,总结他们的对话,一起看看微软 SK 的特别之处。
图片来自微软
开发人员需要学习什么样的技能
才能使用这些“提示”?
John Maeda表示“传统来说,计算机科学教育一直有一板一眼的规则,从结构良好的语法中获取结构化的输出,但实际上,如果拥有更灵活的思维方式,可以帮助他们更好的驾驭这个新的软件世界。”
在开发者的工作过程中,使用 SK 提示的关键技能是选择正确的单词、短语、符号和格式,引导模型生成高质量的文本。除此之外,开发人员还需要精通“提示链接”(使用生成的文本作为下一个提示的基础)、“提示优化”(针对特定任务或领域调整和优化提示)和“提示测试”(测试结果的有效性)。
正如Maeda所说, SK 基本上是一个低代码的工具,可以让开发人员“制作复杂的大语言模型(LLM) AI 提示链,这些提示既可配置又可测试。”未来人们可以依靠开发人员设计的提示符,这些提示符具有高可靠性和高效率的特点,并且革新在于,开发人员将能够与 AI 合作,创建比以往任何时候都更可靠、更高效的系统。
SK的主要概念
SK 中有几个新概念进入我们的视野,主要是“技能”、“记忆”和“连接器”这三个要点。“技能”被定义成作为单一功能提供给“记忆”的专业知识领域,或者作为与该技能相关的一组功能。“记忆”提供了进一步的上下文,连接器也能够允许连接到外部数据和操作。
“技能”描述为SK的核心构件,它们既可以简单,也可以复杂,由开发者自己定义。
John Maeda表示“记忆”极大地提高了“技能”的能力,允许将“技能”的能力与历史的数据联系起来,这些数据可以在任何时候保存和访问,而“连接器”是可定制的资源,支持外部的数据访问。他补充道,连接器还有助于解决大语言模型(LLM)的一个主要问题因为预先训练的原因,连接器基本上是及时冻结的,不会出现一些突发的紧急情况。
如何高效地与机器对话
开发软件和编写代码的工作过程实则是与机器对话,而SK的概念传递了一种让人类更有效地与机器对话的方法,而 John Maeda 提到高效的使用 SK 并“与机器对话”需要经过以下过程:
首先,开发人员逐渐采用Schillace定律(微软副首席技术官 Sam Schillace 总结出来了9条使用LLM创建软件的原则)的思维过程,在未来的工程系统中,我们需要同时使用机器(决定论)和人类(非决定论)来创建和使用软件系统,以机器的模型为基础,开发人员可以使用自然语言来表达他们的意图,而无需编写大量的代码。其次,还可以选择自己喜欢的语言进行编写,在 SK 支持 Python 和 c# 的编程语言,除了c#和Python,他们也在仔细研究TypeScript,并将根据反馈添加其他语言支持。最后提到,当 SK 进入开发人员的工具箱时,开发人员可以立即认识到如何用快速高效的编码来演示一个可行的解决方案,并且在使用 SK 中则不会遇到计算量太大而无法编码的问题。
从句法到语义的转变
采访中,John Maeda谈到了“语义”,他表示作为开发者的里程碑,UNIX内核用户体验的简单性一直是SK发展过程中所追求的,而 SK 一直以来的追求也是对计算生产力的推动者UNIX内核的致敬。在摸索中, SK 应该还没有找到正确的答案,所以微软开源的形式发布它,也因此他们可以作为一个开放的社区来学习,并希望一起开发人员们构建正确的用户体验,同时推动从句法到语义的新转变。