这是系列的第 14 篇。整个系列写给零基础、想入行 AI 的朋友,每天一篇,30 天后你会做出 3 个能写进简历的项目。
这篇解决什么问题
昨天项目跑通了,有几个朋友说真把自己电脑整理了一遍。挺好,但故事还没讲完。
昨天那个版本有两个问题。第一,代码能跑但不够稳,碰到意外就崩。第二,也是今天最重点的部分:这个项目该怎么写进简历。
很多零基础的朋友都卡在最后这一步。项目明明做了,简历上一写就变成“使用 Python 和 AI API 实现了文件整理功能”,干巴巴一行,面试官扫一眼就翻页了。同一个项目,会写和不会写,能差出十倍价值。今天两件事一起做完。
一、先让它稳下来
先说三个小改进,都是十几行代码的事。
改进一:给整段流程加上异常处理。
昨天那个版本,只要 classify 出错,整个程序就崩了。加个罩子:
if__name__=="__main__":folder=r"C:\Users\你的用户名\Downloads"try:files=get_files(folder)ifnotfiles:print("这个文件夹里没有文件")else:print(f"发现{len(files)}个文件,正在交给 AI 分类……")mapping=classify(files)organize(folder,mapping)print("整理完成!")exceptExceptionase:print(f"出错了:{e}")print("文件没有被移动,你放心")最后那句“你放心”不是玩笑。做文件操作的程序,用户最怕的就是文件丢了。让人放心的程序,才是好程序。
改进二:加进度显示。
文件多的时候要等一会儿,没有反馈用户会以为死机了:
deforganize(folder,mapping):total=len(mapping)fori,(filename,category)inenumerate(mapping.items(),1):# ……移动文件的代码不变……print(f"[{i}/{total}] 处理完成")改进三:加一个“预演模式”。
这是真正专业的做法:先只打印计划,不真移文件,用户确认了再动手:
deforganize(folder,mapping,dry_run=True):"""dry_run=True 时只打印计划,不动文件"""forfilename,categoryinmapping.items():ifdry_run:print(f"[预演]{filename}将移动到{category}/")else:# ……真正移动的代码……以后用户跑的时候,先看一眼预演结果,觉得对再把 dry_run 改成 False 才真执行。这个设计思路在专业工具里非常常见,写进简历也是加分项。
二、重头戏:这个项目该怎么写进简历
先看两种写法,你就明白差距在哪了。
差劲的写法:
使用 Python 调用大模型 API,实现了一个文件自动整理工具。
这句话的问题在于,它只说了“我用了什么”,没说“解决了什么、解决到什么程度”。面试官从这句话里得不到任何有用信息。
好的写法:
AI 文件整理助手(个人项目)
- 背景:下载文件夹长期堆积数百个文件,人工分类耗时且重复
- 实现:基于大模型 API 的批量分类方案,一次请求处理多个文件名,通过提示词约束输出为结构化 JSON,将传统逐个判断改为批量处理,API 调用次数下降约 95%
- 健壮性:实现了预演模式(先展示移动计划再执行)、异常兜底与重试机制,避免误操作导致文件丢失
- 技术栈:Python、大模型 API、JSON 结构化输出、文件系统操作
看出区别了吗?好的写法有三个特点:
第一,先说背景和痛点。面试官第一眼想知道你为什么要做这个。
第二,用数字说话。“API 调用次数下降约 95%”比“做了性能优化”有力一百倍。哪怕这个数字是你估算的,只要合理就行。
第三,把技术点翻译成能力。提示词、结构化输出、重试机制,这些名词面试官都懂,写出来他就知道你确实动手了。
三、给你一个填就行的话术模板
如果你手上还有别的项目,用这个模板套:
【项目名称】(个人项目) - 背景:遇到了什么问题,为什么需要做 - 实现:核心方案是什么,你做了什么技术选择,带来了什么可量化的改善 - 难点:做过哪些取舍或优化(这一条最能体现水平) - 技术栈:列出用到的技术和工具重点说说“难点”这一条。它最容易写,也最容易出彩。举个例子,这个项目里的难点就是:
如何降低 API 调用成本:最初方案是逐个文件请求,100 个文件需要 100 次调用。通过将文件名批量拼接、要求模型一次性返回结构化 JSON,把调用次数压缩到个位数,同时用提示词约束类别范围,避免模型输出不可控的分类名。
这段写出来的效果,比罗列十个技术名词都强,因为它展示的是工程判断力。
四、给你的简历再补两块
除了项目描述,还有两个地方值得花十分钟:
第一,放一个能看的东西。项目代码传到 GitHub(记得把密钥拿出来,用 Day 6 说的 .env),简历里放链接。面试官点开能看到代码,可信度完全不同。
第二,准备一个 30 秒的口头介绍。面试官十有八九会问“你介绍一下这个项目”,提前想好怎么讲:
我平时下载文件夹特别乱,就写了个工具。它把文件名批量发给大模型,让模型返回结构化的分类结果,我再按结果移动文件。中间我发现逐个文件调用接口太贵,改成了批量处理,调用次数降到了原来的百分之几。为了保证安全,还加了预演模式,先给用户看计划再执行。
这段话不长,但包含动机、方案、优化、安全意识,全是面试官爱听的。
五、第一阶段回顾
到这儿,你的第一个项目完整交付了。回头看看这两周:Day 1 你还被名词劝退,今天手上有一个能写进简历、能讲出技术取舍的真项目。
这就是“每天一个主题、每周一个产出”的设计意图。零基础最需要的就是这种看得见的进展。
今天的作业
两件事:
- 用今天的模板,写出你这个项目的简历描述,贴到评论区,我帮你改。这是最直接的收益,比什么都值。
- 项目代码传到 GitHub,把链接发上来(注意检查有没有泄露密钥)。
明天预告
Day 15:《为什么大模型一本正经地胡说八道?RAG 就是解药》。第二周结束,第三周开始。从明天起我们把视线从“文件”转向“知识”:怎么让大模型张口就能说出你自己资料里的内容。这是当前招聘市场上需求量最大的技能方向之一。
————————————————
*系列目录:30天从零开始学AI应用 开发