如何利用 GPT 开发智能应用?微软提出这九大原则

news2024/11/26 4:33:18

毫无疑问,GPT 的出现以日新月异的速度改写了软件开发的工作方式

兴奋,也许也有点焦虑。作为开发人员,如何在 GPT 时代与人工智能协作?在「万物皆有副驾驶」的年代,如何划定分工边界,让 GPT 成为开发人员的生产力魔盒?

作为微软 CVP、Deputy CTO 的 Sam Schillace 基于其在一系列大语言模型(LLM)人工智能系统中的开发经验提出了九项原则,即 Schillace Laws of Semantic AI(语义 AI 的 Schillace 法则)。这九大原则可视为 Sam Schillace 在利用 GPT 技术革新软件开发的前沿实操总结,也许对正在思考如何重构软件工程领域的你也会有所启迪——

#1 如果模型可以做到  就不要写代码

模型会进化会变得更好,但编译之后代码不会。系统设计的总目标,应该是利用 LLM 的规划和理解意图的能力来构建具备杠杆效应的应用程序。开发者很容易陷入更加命令式的思维模式,并为程序的某些方面编写代码。要抵制这种诱惑——在您能够让模型可靠地执行某些操作的程度上,随着模型的发展,它将变得更好、更稳健。

#2 用精度换取代码杠杆  用交互来优化

沿着上一原则的思索,编写 LLM 时的正确心态不是“让我们看看我们能让跳舞的熊做什么”,而是尽可能地放大 AI 系统的能力。例如,可以先构建非常通用的模式,如“从数据库生成报告”或“编写一年的备课目录”,再使用纯文本提示词进行参数化,轻松地产生极具价值和差异化的结果。

#3 代码用于语法和过程  模型用于语义和意图

大模型有很多不同的表述方式,但从根本上说,当模型被要求推理意义和目标时,它们更强大。而当它们被要求执行特定的计算和过程时,则变现较弱。举例而言,高级模型很容易写出一般性的数独求解代码,但很难让它们自己解决数独。每种类型的代码都有不同的优势,因此使用正确类型的代码解决正确类型的问题非常重要。语法和语义之间的边界是这些程序的难点。

#4 系统的脆弱程度  取决于其最脆弱的部分

这适用于任何一种代码。我们正在努力实现灵活性和高度杠杆效应,因此谨记别硬编码任何东西。尽可能地在提示词中加入推理和灵活性,并最小化使用命令式代码,以使 LLM 发挥作用。

#5 聪明的问题,才能获取聪明的答案

新兴的 LLM AI 模型都非常强大,并显得“受过良好教育”。但它们缺乏上下文和主动性。如果您向它们提出简单或开放式问题,您将得到简单或通用的答案。如果您想要更多细节和精细度,问题必须更加智能化——这是“垃圾进,垃圾出”在人工智能时代的回声。

#6 不确定性是异常处理

因为我们在用精确度换取代码杠杆,所以当模型对意图不确定时,我们需要依靠与用户的交互来校正。当我们在程序中有一组嵌套的提示词时,并且其中一个提示词在其结果上不确定时(“一个可能的方式是...”),正确的做法是等效于“异常处理”(Exception Throw)——将这种不确定性向上传播,直到能够澄清或与用户交互的级别。

#7 文本是通用的传输协议

由于 LLM 善于解析自然语言、意图以及语义,因此文本是在提示词、模块和基于 LLM 的服务之间传递指令的自然格式。自然语言对于某些用途来说不够精确,可以适当地使用结构化语言,如 XML,但总体来说,在提示词之间传递自然语言非常有效,并且对于大多数用途而言,自然语言比结构化语言更加反脆弱。随着这些基于模型的程序的不断增多,这是一种自然的“未来证明”,可以使不同的提示词能够像人类一样相互理解。

#8 对人类来说很难的话  对模型一样难

在给模型一个具有挑战性的任务时,常见的模式是它需要“仔细思考”。这看起来很有趣,非常有趣,但是当将提示符作为程序的一部分使用时就会出现问题,因为在程序中所需要的只是推理的结果。但是,使用一个“元”提示,将问题和详细答案给出,并要求提取答案,这样做效果相当好

这是一项对人来说更容易的认知任务(可以想象只需要给某人一个通用任务:“阅读这个并找到答案”,并且在用户没有专业知识的情况下,这项任务可以在许多领域中完成,因为自然语言非常强大)。因此,在编写程序时,请记住,对人来说困难的事情很可能对模型也很困难,将模式分解成更容易的步骤通常会得到更稳定的结果。

#9 谨防“意识幻觉”  模型可以用来对抗它自己

我们很容易会想象 LLM 里面有一个所谓“头脑”。但人类思考与模型之间的差异是意义重大的。其中一个可以被利用的重要区别是,目前的模型无法记住几分钟前的交互。

因此,虽然我们永远不会要求一个人在他们刚刚编写的东西中查找漏洞或恶意代码,但我们可以让模型这样做。它可能会在两个地方犯同样的错误,但它无法“欺骗”我们,因为它不知道代码最初来自何处。这意味着我们可以在某些地方“利用模型对抗自己”——它可以用作代码的安全监控器、测试策略的组成部分、生成内容的内容过滤器等。▼

看完这 9 大通用性原则,是否对你的应用开发工作有所启发?

现在,你还可以更进一步,与同侪专家切磋 GPT 大模型智能应用开发模式,并快速上手实现开发联系您的微软客户经理,申请  GPT App Innovation Workshop,由专家为您提供进一步指导。

点我前往官方文档~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/471738.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【测试开发】突破瓶颈必学技能——什么是k8s的核心概念?

目录 Docker 和K8s k8s中的重要概念 Master 节点 Node 节点 集群(Cluster) 标签(Label) 命名空间(Namespace) 容器组(Pod) 无状态部署(Deployment)…

车联网V2X通信技术及应用介绍

摘要: V2X技术影响用户体验的主要系统指标有延时时间、可靠性、数据速率、通信覆盖范围移动性、用户密度、安全性等。 1、车联网体系 车联网是物联网在交通这个特殊行业的典型应用。在车联网体系参考模型中主要包括三层:数据感知层、网络传输层和应用层…

【Git 入门教程】第五节、Git远程仓库

Git是一种分布式版本控制系统,它允许开发者在不同计算机之间协作并共享代码。在本文中,我们将介绍如何以Git为基础进行远程协作。其中包括克隆仓库、推送代码、拉取代码等操作。 一、克隆仓库 要协作开发一个Git项目,需要从服务器上获取该项…

微软开源AI修图工具让老照片重现生机

GitHub - microsoft/Bringing-Old-Photos-Back-to-Life: Bringing Old Photo Back to Life (CVPR 2020 oral) 支持划痕修复,以及模型训练。 Old Photo Restoration (Official PyTorch Implementation) Project Page | Paper (CVPR version) | Paper (Journal vers…

华纳云:怎么用shell脚本发送http请求

本篇内容介绍了“怎么用shell脚本发送http请求”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! 简述&…

Go官方指南(五)并发

Go 程 Go 程(goroutine)是由 Go 运行时管理的轻量级线程。 go f(x, y, z) 会启动一个新的 Go 程并执行 f(x, y, z) f, x, y 和 z 的求值发生在当前的 Go 程中,而 f 的执行发生在新的 Go 程中。 Go 程在相同的地址空间中运行&#xff0c…

鸿蒙Hi3861学习三-第一个实例程序Hello_world

一、简介 前两章介绍了环境搭建、烧录和编译。这一节,来介绍实现第一个经典代码“hello world”。 先介绍小熊派的目录结构,该目录结构延续了OpenHarmony官方目录结构。 二、实操 1.搭建代码架构 1).新建项目文件夹hello_world cd bearpi-hm_nano/appli…

【前端笔记】前端包管理工具和构建打包工具介绍之npm、yarn、webpack、vite

一、NPM包管理工具 1.1、什么是NPM NPM(Node Package Manager)是node包管理器,是node.js默认采用的软件包管理系统,使用JavaScript语言编写。包管理可以理解为依赖管理,有一个npm包管理仓库,当我们执行np…

Elasticsearch --- RestAPI、RestClient操作文档

一、RestAPI ES官方提供了各种不同语言的客户端,用来操作ES。这些客户端的本质就是组装DSL语句,通过http请求发送给ES。官方文档地址:Elasticsearch Clients | Elastic 其中的Java Rest Client又包括两种: 1.1、环境配置 创建数…

【JavaEE 初阶】 JVM内存区域划分与GC垃圾回收机制

尽力做到十全十美~~ 文章目录 1. JVM内存区域划分2. 垃圾回收机制2.1 内存溢出与内存泄漏2.2 判断是否是垃圾2.2.1 引用计数2.2.2 可达性分析 2.3 垃圾清理算法2.3.1 标记清除2.3.2 复制算法2.3.3 标记整理算法2.3.4 分代回收 1. JVM内存区域划分 JVM运行时数据区域&#xff0…

5款非常好用的设计工具,推荐第一款在线设计工具

特别是在当今的UI设计领域,如果没有合适的UI设计工具,那么即使你的创作能力很强,工作也会有限,但许多软件需要会员使用,这不适合新设计师,所以有在线UI设计工具吗?关于这个问题,今天…

【翻译一下官方文档】学习uniCloud云数据库之前需要了解的传统api操作数据库(Command)

我将用图文的形式,把市面上优质的课程加以自己的理解,详细的把:创建一个uniCloud的应用,其中的每一步记录出来,方便大家写项目中,做到哪一步不会了,可以轻松翻看文章进行查阅。(此文…

STM32:GPIO配置和使用

目录 一、GPIO简介 1.1 GPIO的输入输出模式 1.1.1 输入模式 1.1.2 输出模式 二、GPIO的使用 2.1 引脚初始化 2.2 引脚使用 注:型号:STM32F407ZET6 一、GPIO简介 GPIO:通用输入输出接口 STM32上有A~H共8组,其中A~G7组每…

WPS作图常见问题

表格 1、打开WPS表格,切换至“开始”选项卡,单击“绘图边框”按钮,如下图。 2、鼠标变成如下图一样的笔后,按照斜线表头的方向拉动鼠标,然后就给单元格添加了一道斜线,如下图。 WPS表格如何随文字移动 1、…

java ssm成绩查询管理系统idea开发mysql数据库web结构计算机java编程

一、源码特点 idea ssm成绩查询管理系统是一套完善的web设计系统mysql数据库springMVC框架mybatis,对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。 java ssm成绩查询管理系统idea开发mysql数据…

智慧校园管理平台系统源码,云平台、人脸识别、物联网技术、信息发布技术

智慧校园云平台源码,智慧电子班牌源码 电子班牌系统是全功能智慧管理平台系统,电子班牌系统是以在校人员信息、出勤管理和班级信息展示为主体,为学校教育行业量身设计的一款集云平台、网络数据实时通信技术、物联网技术、智能控制技术、信息…

Google Sites快速做出一個簡單的網頁

新手網站架設的神器 Google Sites協作平台,為什麼這樣子說呢? 因為新手入門款以Google Sites協作平台練習,認識網站架設的基礎概念,接著再轉往進階班的Wordpress網頁設計。比較會循序漸進。 二來Google Sites協作平台網站架設費用…

使用docker搭建RocketMQ(非集群搭建官方镜像)

之前在使用 RocketMQ 官方的包在搭建的时候,发现好多问题,什么修改内存大小,然后启动 broker 报错,类似 service not available now, maybe disk full 等等… 最后决定还是重新用 docker 搭建下,感觉这样子玩坏了&…

MySQL数据库的数据备份与数据恢复

MySQL数据库的数据备份与恢复主要有3种方法,前两种都是MySQL dump命令,第三种则是用Navicat工具直接备份。相比而言,第三种方法更加简单! 1 方法一(MySQL dump命令) 1.1 登录MySQL [roothurys22 ~]# mysq…

优势分析- 性格测试

盖洛普 免费的人格测试 | 16Personalities [转][类似我] 某作者结合自己性格对盖洛普的推广_个人渣记录仅为自己搜索用的博客-CSDN博客 塞利格曼先生设计的优势测量表格.docx-全文可读 谁知道在哪里可以做盖洛普在线测试题? - 知乎 为什么强烈建议你做正版盖洛普…