《AI 辅助编程实战:从零跑通一个 Excel 报表生成脚本的踩坑与复盘》

一、 引言:什么是 Vibe Coding?

简单介绍本次任务的背景:利用 AI 工具(如 Qoder / 通义灵码)完成一个 Python 工程任务。

点明核心痛点:很多人以为用 AI 写代码就是"许愿",但其实真正的难点在于环境配置、依赖管理和异常排查。AI 能给你完美的代码,但跑不跑得起来,还得看你的工程素养。

二、 任务拆解:清晰的 Prompt 是成功的一半

不要直接让 AI "写个完整代码",而是像搭积木一样,一步步拆解需求。

第一步:搭建基础骨架(文件读取、异常捕获)。

第二步:增加数据清洗逻辑(删缺失、删负数、去重)。

第三步:增加统计逻辑(按销售员、按地区汇总,导出 Excel)。

第四步:增加边界判断(清洗后数据为空时的处理)。

心得:把大需求拆成可验证的小步,让 AI 完成一小块,自己就立刻 Review 并运行,这样出了问题很容易定位。

三、 踩坑实录:那些 AI 帮不了你的"环境地狱"

痛点 1:找不到 pip 命令。

原因: Windows 环境变量没配好。

解决: 放弃直接敲 pip,改用 python -m pip,或者绝对路径 C:...\python.exe -m pip install pandas openpyxl。

痛点 2:装完库还是找不到 pandas(No module named 'pandas')。

原因: VS Code 创建了虚拟环境 .venv,代码在这个虚拟环境里运行,而之前的库装到了全局 Python 里。

解决: 在终端看到 (.venv) 前缀时,必须把库装进虚拟环境。python -m pip install pandas openpyxl。

痛点 3:文件损坏或不是有效的 xlsx 格式。

原因: 原始数据文件是空的,或者只是改了后缀名。

解决: 手动用 Excel/WPS 创建一份包含"脏数据"的测试文件,确保格式真的是 .xlsx。

痛点 4:NameError: name 'pd' is not defined。

原因: 第 45 行用到了 pd,但文件头没写 import pandas as pd。

解决: 让 AI 检查文件顶部的 import 语句。

四、 工程化交付:清晰的目录结构与 README

为了让代码不仅"能跑",而且"好维护",我按照工程化标准搭建了项目目录。以下是我的项目结构:

同时,我编写了详细的 README.md,确保任何人拿到这个工程都能"一键运行"。以下是我的 README 核心内容:

五、 验收时刻:测试全绿与结果呈现

展示 pytest 的结果:34 passed,说明代码不仅跑通了,还经得起边界用例的考验(例如:空文件、重复行、负数处理)。

展示终端输出:总销售额 18,500.00,有效数据 4 行。

展示 Excel 结果:虽然日期列显示为 #########(只是列宽不够,不是数据错),但销售额计算完全正确(张三 6000,李四两笔共 10000,赵六 2500,合计 18500)。

六、 复盘与思考:Vibe Coding 的正确姿势

回顾这次考核,我深刻体会到了 AI 辅助编程中"人机分工"的重要性。以下是我的核心复盘:

1. 哪些环节交给了 AI?****

基础代码生成:例如 pandas 的 groupby 分组统计、drop_duplicates 去重语法、以及 openpyxl 导出 Excel 的样板代码,我全部交给了 AI 生成,大大提高了效率。

异常框架搭建:我让 AI 帮我生成了 try...except 的基础结构,用来捕获文件不存在、数据为空等异常。

2. 哪些环节我自己拍板?****

架构设计:我坚持将项目拆分为 data、src、tests 目录,而不是把代码全堆在一个文件里,这保证了工程的可维护性。

数据清洗规则:AI 最初生成的清洗逻辑比较笼统,我明确要求它必须对"数量 <= 0"和"关键字段缺失"的行进行精准过滤。

异常处理策略:我明确要求 AI 在捕获异常时,必须打印友好的中文提示(如"文件已损坏或不是有效的 xlsx 格式"),而不是直接抛出难懂的英文 Traceback。

3. 哪些风险做了人工审查?****

数据一致性风险:AI 生成的统计代码,我人工审查后,确认它在计算总销售额之前,确实先执行了数据清洗,防止了脏数据污染最终结果。

文件覆盖风险:我审查了写入 report.xlsx 的代码,确保它不会意外覆盖或修改原始文件 sales_raw.xlsx。

依赖环境风险:这是踩坑最多的地方。AI 写的代码没问题,但运行时报错 No module named 'pandas'。我人工排查后发现,必须要在虚拟环境 (.venv) 下安装依赖,这属于 AI 无法代劳的"环境兜底"。

4. 给 AI 留白,给自己把关

AI 能生成语法完美的代码,但"环境配置"和"依赖管理"必须由人来兜底。

5. 警惕"虚拟环境"陷阱

VS Code 的虚拟环境 .venv 是新手最容易踩的坑,记住"库要装在当前运行环境里"。

6. 异常处理至关重要

这次考核中,空文件报错、依赖缺失报错,都是靠代码里的 try...except 优雅捕获的。不要害怕报错,报错是检验你代码健壮性的试金石。

七、 结语

从最初的依赖报错,到最后的 34 passed,不仅是完成了一个任务,更是掌握了与 AI 协作开发的一套方法论。

不要害怕环境配置,多试错,多问 AI,你的 AI 编程之路会越来越顺畅。

相关推荐
Zachery Pole23 分钟前
【PlaNet 2】-RSSM机制
人工智能·深度学习·机器学习
麦壳饼30 分钟前
SonnetDB 5.0 正式发布:增强 SQL 与事务,开放九模型 MCP 读写
数据库·人工智能·sql·sonnetdb
wuyk55531 分钟前
PyQt6-第15讲-数据可视化QChart
python·ui·信息可视化·pyqt
天天被压力1 小时前
【A股分钟级高频数据完全手册 #04】指数分钟级行情数据接口:沪深指数Pro版最新分时取数
java·人工智能·python
IT_陈寒1 小时前
Redis开发实战:从入门到精通
前端·人工智能·后端
熙岁1 小时前
复旦团队发布Socio-Foundation,个体模拟新范式
人工智能
日日大王学编程1 小时前
2026主流AI Agent产品分类、核心差异与技术特性全解析
人工智能·后端·python
aneasystone本尊1 小时前
学习大模型训练的监督微调:SFT 与 LoRA
人工智能
lucas_AI1 小时前
Mira Murati 公司第二代模型来了:Inkling 2 Small 首日闭门、下周开源,AA Index 直接冲到 31
人工智能
byte轻骑兵1 小时前
【LMP】规范精讲[13]: 参数的户口本、公钥的集装箱与出厂的兜底值
人工智能·网络协议·人机交互·lmp·蓝牙链路管理