AIGC标识 第二次作业


这个作业属于哪个课程 https://edu.cnblogs.com/campus/zjlg/26rjjc
这个作业的目标 实现一个命令行文本计数统计程序,学习ai在此类任务中的工作流程
姓名-学号 屠鸿飞-2024329301053

一、作业与我的做法

作业要求实现 wc.exe [参数] [文件名],统计纯英文 txt 的字符数、单词数、句子数,扩展功能统计代码行、空行、注释行。

本项目全程使用 AI 辅助完成。 我负责提需求、定口径、验收结果;AI 负责写代码、写测试、跑性能测试。下面如实记录整个过程和完整提示词。

二、项目结构

wc-tool/
├── wc.py                    # 入口
├── src/wctool/
│   ├── counter.py           # 字符/单词/句子
│   ├── codestat.py          # 代码行/空行/注释行
│   └── cli.py               # 命令行与输出
├── tests/                   # 170 个单元测试
├── benchmarks/bench.py      # 性能测试
└── docs/AI_PROMPTS.md       # 完整对话记录

三、我的完整提示词

第 1 轮(任务下发):

完成软件技术基础课程的作业,作业描述:实现一个命令行文本计数统计程序。能正确统计导入的纯英文txt文本中的字符数,单词数,句子数。具体命令行界面要求举例:命令模式: wc.exe [参数] [文件名],wc.exe -c file.txt 统计字符数,wc.exe -w file.txt 统计单词数。扩展功能(加分项):统计代码行、空行、注释行等,并提供相应命令接口。作业要求:项目代码上传到自己的码云。程序和参数名可以按个人喜好命名。项目文档应包含项目说明,写入README.MD,包含项目简介及用法、文件列表说明、例程运行及结果。码云上传的项目要求必须通过多次提交(commit)体现各个版本更迭和运行结果截图,版本号分别为 v0.1 空项目;v0.2 项目完成基础功能;v0.3 项目完成扩展功能。编写对应的单元测试。使用选用的IDE附带的工具进行performance test。交作业时需直接附上自己的码云仓库地址,如果全程使用AI完成需要附上所有对话提示词。

第 2 轮(要求推送):

直接推送,仓库地址 https://gitee.com/tuhongfei2006/ruanjianjishujichuzuoye ,令牌 xxx

后续还有几轮追问:性能测试是什么意思、Python 环境怎么配、博客园随笔怎么写。这些属于交作业流程,不影响代码本身。

完整对话记录见仓库 docs/AI_PROMPTS.md。

四、AI 帮我发现并修掉的三个问题

这部分是我认为最有价值的地方——AI 并不是一次就写对,而是靠测试和性能数据把问题暴露出来。

问题 现象 修复
小数点切句 3.14 is pi. 被算成 2 句 判断 . 前后是否都是数字,是则合并
性能太慢 1MB 文本耗时 86ms,仅 11.6 MB/s Python 逐字符循环改为正则切分,降至 29ms
汇总崩溃 多文件统计时报 AttributeError 修正字段名映射

其中性能问题最典型。第一版用 Python 的 for 循环逐字符拼接句子,看起来没问题,实测却比一个简单的正则实现还慢 3 倍。改成 re.split 后:

文件大小 优化前 优化后
1 MB 86 ms 29 ms
20 MB — 586 ms(约 34 MB/s)

五、我做的验收工作

AI 写完不代表就对,我做了这些核对:

验证项 方法 结果
字符数 与 UNIX wc -c 对照 一致(474)
行分类 人工逐行核对 demo.c 的 43 行 27 代码 / 7 空行 / 9 注释,正确
字符串陷阱 检查 http://、'"'、/* 在字符串内 均未误判
小数点 3.14 is pi. 应计 1 句 通过(修复前 2 句)
全部测试 pytest 170 passed
覆盖率 pytest --cov 96%(核心模块 100%/99%)

六、提交记录

75945cf v0.1 空项目:初始化仓库结构
2c8408a v0.2 基础功能:字符数、单词数、句子数统计
a28a220 v0.3 扩展功能:代码行/空行/注释行统计 + 性能测试
20e6588 docs: 完整 README、AI 提示词记录、运行截图与性能报告

一个插曲:做 v0.1 时我把功能代码和目录一起写了,不符合“空项目”要求,只能退回去重建提交。版本规划要一开始就想清楚。

七、小结

  1. AI 擅长写代码,但口径要人来定——don't 算 1 个还是 2 个单词,只有人能拍板。
  2. 测试是把 AI 的“口头正确”变成“可验证正确”的关键手段,170 个用例固定了所有口径决策。
  3. AI 的第一版不一定是最优解,性能差了 3 倍,靠 benchmark 才测出来。

仓库地址:https://gitee.com/tuhongfei2006/ruanjianjishujichuzuoye


posted on 2026-11-01 16:59  Jin_02  阅读(9)  评论(0)    收藏  举报