Skip to content

Commit 16c1d1b

Browse files
committed
feat(docs): add AI-friendly programming guide and sidebar integration
1 parent ca54911 commit 16c1d1b

File tree

4 files changed

+80
-0
lines changed

4 files changed

+80
-0
lines changed
Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
AI 生成:https://chatgpt.com/c/680defd7-d154-8010-b666-e18122828983
2+
3+
# 生成式 AI 时代:程序员向 AI 提问高质量问题指南
4+
5+
**为什么提问质量重要**:随着 ChatGPT、GitHub Copilot 等生成式 AI 辅助工具的普及,提问质量直接影响 AI 输出代码的可用性和开发效率。一篇文章指出:“
6+
**编写合适的 AI 提示词能决定生成代码是可用还是不可用**”。具体而明确的问题可以让 AI
7+
更准确地理解需求,从而生成符合预期的代码;相反,模糊或缺乏细节的提问往往导致无用甚至错误的答案,浪费大量调试时间。
8+
9+
## 提问基本原则
10+
11+
- **清晰具体**:提问要目标明确、具体详细,避免笼统。例如不要只说“写个排序算法”,而应说明算法类型、使用的语言、输入输出格式等。一位开发者也强调:“越精确详细的请求,AI
12+
生成代码能力越强”。
13+
- **角色与背景**:可以在提示中指定 AI 扮演的角色(如“扮演一名资深的 Python 开发者”),并提供必要的背景信息(编程语言、框架、版本等)。例如说明“在
14+
Python 3.9 环境下使用 Django”,让 AI 理解上下文,有助于生成贴合项目需求的解决方案。
15+
- **分步思考**:对于复杂任务,引导 AI 分步骤思考。可以提示“请逐步分析”或使用**思维链(Chain-of-Thought)**
16+
模式,让模型先推理再回答,这在需要分解问题或判断时效果更佳。例如先让 AI 给出解决方案思路,再进一步要求实现细节。
17+
- **上下文信息**:提供与任务相关的上下文(如已有的代码片段、错误日志、需求描述等),切勿假设模型知道所有细节。例如在调试时粘贴相关代码和错误信息,并说明当前结果与预期的差异,有助于
18+
AI 快速定位问题。
19+
- **指定格式**:明确期望的输出形式或格式。例如如果需要特定结构(表格、JSON、注释风格等),可在提示词中提出。例如“请以 JSON
20+
格式返回结果”或“返回的代码请带有详细注释”,让 AI 按照要求组织输出内容。
21+
22+
## 常用提问技巧
23+
24+
- **提供示例(Few-shot 提示)**:给出示例输入–输出或参考代码样本,让 AI 学习预期的输出模式。例如给出示例:“示例1:输入
25+
`[2,1,4,3]`,输出`[4,3,2,1]`”,然后让模型生成类似输出。这种方式在要求标准化输出时非常有效。
26+
- **明确需求细节**:详细描述功能要求和业务逻辑,包括输入输出的数据类型、边界条件、错误处理方式等。如提到“输入是整数列表,输出按降序排列”、“如果输入为空列表应返回空”,让
27+
AI 更好地满足所有需求。
28+
- **指定语言/版本**:提前说明使用的编程语言及版本、框架等。例如“使用 Python 3.8”或“基于 React 18”。这样 AI
29+
不会使用不兼容的语法或库,生成的代码更符合项目环境。
30+
- **单一任务聚焦**:每次提问集中解决一个问题,不要一次性塞入多个独立任务。例如先询问“如何实现排序算法”,待结果满意后再单独提问“怎样在网页中调用该算法”。分开提问可以避免混淆,提高回答准确度。
31+
- **利用上下文和反馈**:对于调试或优化问题,粘贴现有的代码片段和错误信息,并说明出错现象与预期结果的区别。在得到初步答案后,如果有需要可进一步跟进提问,指导
32+
AI 改正错误或补充遗漏,像与人对话一样迭代交流。
33+
- **指定输出格式**:如果需要特定的返回格式,应在提示中说明。例如“返回结果请使用 JSON 数组”或“请给出包含注释的代码”,避免 AI
34+
给出不符合要求的输出。
35+
36+
## 常见错误示例与改进建议
37+
38+
- **错误示例:提问过于模糊。** 例如“写一个排序算法”没有说明语言、算法类型或输出格式,AI 容易给出不符合预期的答案。
39+
**改进:** 增加细节,如“请帮我用 Python 实现一个对整数数组进行降序排序的冒泡算法”,明确算法、语言和排序方式,让 AI
40+
生成准确的代码示例。
41+
- **错误示例:多个任务混合提问。** 例如“帮我写一个网站的前端和后端代码”一次性包含前后端两个独立功能,AI 难以同时兼顾。
42+
**改进:** 将问题拆分为多个单独提问,逐一解决。例如先提问前端页面实现,再提问后端接口设计。这样模型聚焦于一个任务,回答质量更高。
43+
- **错误示例:缺少关键信息。** 例如只描述“代码出错”但未提供代码段和环境信息,AI 无法判断问题所在。
44+
**改进:** 指定相关上下文,如编程语言、框架及版本,并粘贴出错的代码片段和完整的错误信息。例如“在 Python 3.9 的 Django
45+
项目中,以下视图函数报了错误:……”,帮助 AI 精准定位并解答。
46+
- **错误示例:未说明输出格式。** 如果没有明确要求格式,AI 可能给出冗长说明而非代码或不符合格式的回答。
47+
**改进:** 提前说明输出格式或举例,例如“请以 JSON 格式返回结果”或给出示例模板。这样可以让 AI 输出符合预期格式的答案。
48+
49+
## 提问模板示例
50+
51+
- **功能实现**`请帮我用【语言】实现一个【功能】`,例如“请帮我用 Python 实现一个冒泡排序算法”。
52+
- **错误分析**`下面是我的错误信息:……请帮我分析原因并解决`,同时附上相关代码片段和完整报错,便于 AI 理解问题。
53+
- **角色扮演**`你是一名【角色】,请帮我……`。例如“你是一名前端专家,请帮我用 React 实现一个登录页面并做表单验证”。
54+
- **API 调用**`请帮我用【语言】调用【API 名称】获取【数据】`。如“请帮我用 JavaScript 调用 GitHub API 获取我的仓库列表”。
55+
- **算法/数据结构**`请帮我用【语言】实现【算法名称】`,如“请帮我用 C++ 实现快速排序算法”。
56+
- **前端示例**`请你作为一名前端开发工程师,用【框架】实现一个【功能】`。例如“请你作为资深 React 工程师,使用 React 实现一个
57+
TODO 列表组件,包括添加和删除功能”。
58+
- **其它约束**`请在不使用第三方库的情况下,用【语言】……``请限制时间复杂度为 O(n) ……` 等,用于指定特殊要求。
59+
- **输出要求**`请以【格式】格式返回结果``请对生成的代码逐行添加注释`,明确输出形式。
60+
61+
通过遵循以上原则和技巧,并结合具体示例和模板,程序员可以更高效地与 AI 协作,获得准确、可用的代码和建议,实现事半功倍的开发效果。
62+
63+
**参考资料:** 提示工程相关实践指南,以及相关博客和专家建议。

docs/ai-friendly/index.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
# AI 友好型编程

docusaurus.config.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,12 @@ const config = {
8888
position: 'left',
8989
label: 'Agent',
9090
},
91+
{
92+
type: 'docSidebar',
93+
sidebarId: 'friendlySidebar',
94+
position: 'left',
95+
label: 'AI Friendly',
96+
},
9197
{
9298
to: '/blog',
9399
label: 'Blog',

sidebars.js

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -186,6 +186,16 @@ const sidebars = {
186186
'devins/devins-language',
187187
],
188188
},
189+
],
190+
friendlySidebar: [
191+
'ai-friendly/index',
192+
{
193+
type: 'category',
194+
label: 'AI-Friendly',
195+
items: [
196+
'ai-friendly/ai-friendly-question',
197+
],
198+
}
189199
]
190200
}
191201

0 commit comments

Comments
 (0)