第5章 实战一:开发 CLI 聊天机器人
目标概述:开始第一个实战项目——构建一个命令行(CLI)聊天机器人。读者将在本章应用之前掌握的提示词技巧,通过 Cursor + Copilot 引导 AI 编写一个可在终端运行、与用户对话的聊天程序。项目涵盖基本的输入输出处理、对接现有聊天模型 API(如 OpenAI ChatGPT API)等,让读者体验从0到1完成一个功能性 AI 应用。
提示词结构:本章的提示词将详细描述 CLI 聊天机器人的需求,包括:编程语言(Python)、使用何种库或 API(如调用 OpenAI 的 API 进行对话),功能要求(连续对话、退出命令处理),以及代码组织形式(例如将主要逻辑放在 chatbot.py 中)。通过提供示例提示词片段,说明如何让 AI 明确实现这些要求。
流程图:给出聊天机器人的工作流程图,例如:用户在终端输入 -> 程序发送请求到聊天模型 API -> 获取回复并显示 -> 循环等待下一个输入。流程图帮助读者理解程序各部分的衔接关系,也为 AI 生成代码时提供逻辑参考。
可视化代码生成过程:本节通过截屏和解说展示用 Cursor 逐步生成代码的过程。例如:在 Cursor 中输入提示后,AI 首先生成 chatbot.py 的初版代码(展示截图),我们运行测试发现无退出机制 -> 用户在对话窗口对 AI 提示“添加退出命令,当用户输入exit时结束程序”,AI 更新代码(展示diff截图)。如此循环,直到主要功能实现。整个过程直观演示“对话式编程”的体验。
样例项目代码结构:列出最终生成的代码文件清单和结构(本例可能简单,一到两个文件):例如:
-
chatbot.py:主程序入口,处理用户输入和输出,对接聊天模型API;
-
config.py:存放API密钥等配置(如有)。
说明各文件的作用,展示部分关键代码片段并解释其功能。
生成结果截图:展示最终CLI聊天机器人的运行截图。例如终端界面上一问一答的对话,包含用户输入内容和机器人回复。若有彩色输出或特殊格式,也应截图体现,让读者直观看到成果。
测试点与失败案例:总结在开发过程中需重点测试的情形:如网络异常是否处理(API 请求失败怎么办),退出命令是否灵敏,是否会出现无限循环等。列举一个失败案例:开始忘记处理网络错误,AI 生成的代码在断网时抛异常 -> 后续我们通过提示要求添加try-except进行了修正。鼓励读者主动尝试异常场景,看程序反应,并思考改进方法。
术语解释:本章涉及“CLI(命令行界面)”“API 调用”“JSON 序列化/反序列化”等术语,一一予以解释。例如CLI相对图形界面的特点,API Key 在调用OpenAI服务时的重要性等,确保读者理解实现细节背后的概念。