《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 编程之路会越来越顺畅。

相关推荐
云边云科技_云网融合1 小时前
持续深化合作 | 云边云科技再次通过亚马逊云科技的能力认证
人工智能·科技
Joy T1 小时前
Agent 上线前怎么评测:从完成标准、离线测试集到 Trace 回归
人工智能·trace·eval·回归测试
小天源1 小时前
智叟云集系统架构解析:从品牌 AI 可见度监测到前后端协同
人工智能·react.js·系统架构·node.js·react·ai监测·ai品牌监测
Tangyuewei1 小时前
Agent 别裸奔进生产:先搭架构、可观测、人审三道闸
人工智能·ai编程
睡后收入1 小时前
PDF 转 draw.io:把设计文档里的架构图恢复成下一版源文件
人工智能
用户6602676118791 小时前
换个对话就丢进度?给 AI Coding 留一张能核对的开发状态卡
人工智能
用户823145615271 小时前
AI 生成的代码,凭什么说它"可靠"?|5 个陷阱 + 一张自检清单
人工智能
Gu0Qiang1 小时前
从 0 到 1 打造 AI 提示流编排器:别让 Agent 原地鬼打墙!连续 3 次相同工具调用的柔性引导与硬熔断(开源系列 19)
人工智能·github
用户4015823324621 小时前
不开编辑器,在飞书里也能找 WES Code 的 AI 干活
人工智能·ai编程