当前位置:AIGC资讯 > AIGC > 正文

【愚公系列】《AIGC辅助软件开发》007-面向软件开发的提示工程:写Prompt就是逐步明确需求的过程

? 作者简介,愚公搬代码
?《头衔》:华为云特约编辑,华为云云享专家,华为开发者专家,华为产品云测专家,CSDN博客专家,CSDN商业化专家,阿里云专家博主,阿里云签约作者,腾讯云优秀博主,腾讯云内容共创官,掘金优秀博主,亚马逊技领云博主,51CTO博客专家等。
?《近期荣誉》:2022年度博客之星TOP2,2023年度博客之星TOP2,2022年华为云十佳博主,2023年华为云十佳博主等。
?《博客内容》:.NET、Java、Python、Go、Node、前端、IOS、Android、鸿蒙、Linux、物联网、网络安全、大数据、人工智能、U3D游戏、小程序等相关领域知识。
??欢迎 ?点赞✍评论⭐收藏

文章目录

?前言 ?一、写Prompt就是逐步明确需求的过程 ?1.让 ChatGPT 一步一步写出你想要的页面 ?1.1 明确需求 ?1.2 简单需求 ?1.3 细化需求 ?2.让 ChatGPT 为你设计后台架构方案 ?3.让 ChatGPT 完成后台接口 ?感谢:给读者的一封信

?前言

在软件开发的过程中,需求的明确性和准确性是项目成功的关键。而随着人工智能技术的不断进步,提示工程(Prompt Engineering)作为一种新兴的方法论,正在为开发者提供一种更高效的需求表达方式。通过精确的Prompt设计,开发者能够与AI模型进行有效的互动,从而更好地实现功能需求和业务目标。

本文将深入探讨面向软件开发的提示工程,重点分析如何通过撰写有效的Prompt来逐步明确需求。我们将讨论Prompt的构成要素、最佳实践以及在实际开发中的应用案例。通过这些内容,您将了解到如何利用提示工程提升需求沟通的效率,减少开发中的误解和返工。

无论您是刚入行的开发者,还是希望提升项目管理和需求分析能力的经验丰富的从业者,这篇文章都将为您提供实用的指导和深刻的见解。让我们一起探索提示工程的魅力,助力软件开发的每一步都更加精准和高效!

?一、写Prompt就是逐步明确需求的过程

如果你是程序员,那么在你写程序前应有一个明确的目标。这个目标可能是你的老板提的,可能是你的客户提的,也可能是你自己的想法。如果是别人的想法,你希望最好能写成明确的需求文档,正常逻辑和异常逻辑都能事先考虑清楚,而不是在写程序过程中反复沟通确认,甚至最后还要返工。你还希望尽早知道这个功能要服务的用户群体是谁,解决用户哪方面的痛点,想要达成怎样的业务效果,预期能带来多少收入。

?1.让 ChatGPT 一步一步写出你想要的页面

任务描述

假如你是公司的资深程序员,你的老板给你安排了一项任务:制作一个H5页面,展示公司采集的微博数据中当天讨论量最大的10条微博。

思路分析

数据处理

微博数据已经完成采集,并存储在数据库中。每条微博的讨论量数据接近实时更新。 首先,编写一个程序来计算讨论量排名前10的微博。

API开发

接下来,开发一个API,用于查询讨论量Top 10的微博列表。

前端开发

前端部分需要创建一个列表页,展示Top 10微博的标题和部分内容。 同时,还需开发一个内容详情页,展示微博的完整内容及相关信息。

然后把这件事交给ChatGPT,你可以试着这么问,看看它怎么说。

?1.1 明确需求

做一个H5页面,把公司采集的微博数据中当天讨论量最大10条微博展示出来,只需要给出实现思路就行不需要代码。


ChatGPT好像是猜到了你的想法,把你刚才心中所想的又复述了一遍,并且更有条理但这并不是你想要的答案。

你想要ChatGPT帮你写代码。这样就得细化一下需求,把任务拆分成前端代码和后台代码。

前端需要一个列表页,列表页长什么样?老板好像没有说。所以首先要跟老板确认,明确页面的风格、展示元素,以及内容详情页的细节。你现在不仅是程序员,还得是懂业务懂老板想法并且会写代码的产品经理,需求文档就需要由你来写了。

比起写需求文档,你可能更愿意写代码。能不能不写文档,而是让ChatGPT来完成?ChatGPT见多识广,应该看过微博热搜列表页。于是你又提了一个Prompt:

?1.2 简单需求

仿照微博热搜列表页,写一个HTML页面。


运行下面代码

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>微博热搜列表</title>
    <style>
        body {
   
            font-family: Arial, sans-serif;
            margin: 0;
            padding: 0;
            background-color: #f5f5f5;
        }
        .header {
   
            background-color: #ff8200;
            color: white;
            padding: 10px;
            text-align: center;
            font-size: 24px;
        }
        .search-bar {
   
            display: flex;
            justify-content: center;
            padding: 15px;
            background-color: #ffffff;
            box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
        }
        .search-bar input {
   
            width: 80%;
            padding: 10px;
            font-size: 16px;
            border: 1px solid #ccc;
            border-radius: 5px;
        }
        .hot-search-list {
   
            margin: 20px;
            padding: 0;
            list-style-type: none;
        }
        .hot-search-item {
   
            background-color: #ffffff;
            margin-bottom: 10px;
            padding: 15px;
            border-radius: 5px;
            box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
            display: flex;
            justify-content: space-between;
            align-items: center;
        }
        .hot-search-item .rank {
   
            font-size: 18px;
            font-weight: bold;
            color: #ff8200;
            margin-right: 10px;
        }
        .hot-search-item .title {
   
            flex-grow: 1;
            font-size: 16px;
            color: #333;
        }
        .hot-search-item .heat {
   
            font-size: 14px;
            color: #999;
        }
        .footer {
   
            text-align: center;
            padding: 10px;
            background-color: #fff;
            color: #999;
            font-size: 14px;
            position: fixed;
            bottom: 0;
            width: 100%;
            box-shadow: 0 -2px 4px rgba(0, 0, 0, 0.1);
        }
    </style>
</head>
<body>

<div class="header">微博热搜榜</div

总结

### 文章总结
#### 作者简介
- **头衔**:多重云计算和技术媒体平台的专家,包括华为云、阿里云、腾讯云、CSDN等。
- **近期荣誉**:连续两年荣获博客之星TOP2,华为云十佳博主等。
- **博客内容**:涵盖广泛的软件开发与技术领域,包括.NET、Java、Python等编程语言及前端、后端、大数据、AI等多个技术方向。
#### 文章内容
本文介绍了提示工程(Prompt Engineering)在软件开发中的重要性,特别是如何通过撰写有效的Prompt来逐步明确需求。以下是主要内容概述:
##### 1. **前言**
- 强调了在软件开发中,明确性和准确性的需求是项目成功的关键。
- 提示工程作为新兴方法论,通过精确的Prompt设计,提升需求沟通效率和项目开发精度。
##### 2. **写Prompt的过程是明确需求的过程**
- 阐述了在开发前明确需求的重要性,包括理解目标的用户群、痛点、业务效果等。
- 以制作H5页面展示微博热门话题为例,详解了如何通过细化需求并与ChatGPT互动,逐步明确实现方式。
##### 3. **应用案例:让ChatGPT逐步构建页面**
- **任务描述**:制作一个H5页面展示最热门的10条微博。
- **思路分析**:
- 数据处理:从数据库中获取讨论量最高的微博。
- API开发:创建API查询Top 10微博列表。
- 前端开发:创建列表页和内容详情页。
- **实现步骤**:
- **明确需求**:先提出基本需求,但ChatGPT的反应不够具体,启发继续细化。
- **简单需求**:通过模仿微博热搜列表页的方式,提出更具体的HTML页面设计需求,让ChatGPT生成基础页面代码。
##### 4. **思考与拓展**
文章通过细致的实际案例,展示了如何通过调整和细化Prompt,利用ChatGPT等AI模型更高效地助力开发过程。这不仅减少了反复沟通和返工的情况,还提高了开发效率和项目的整体质量。
#### 总结
本文是面向开发者的实用指南,展示了如何通过提示工程来优化需求沟通和软件开发过程。无论是对提示工程概念初识的新手,还是希望进一步提高项目管理能力的资深开发者,都能从中获得有价值的参考和启示。

更新时间 2024-08-20