用DeepSeek写代码需明确任务目标、选合适模型、构造有效提示词、验证输出并迭代优化:从需求分析到代码可运行,拆解为文件上传、CSV解析、排序、Excel写入四单元,选用DeepSeek-Coder-V2或R1模型,提示词须声明角色、输入约束、输出要求及示例,运行后通过真实数据测试并diff比对优化。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

用DeepSeek写代码需要明确任务目标、选择合适模型版本、构造有效提示词、验证输出结果并迭代优化,整个流程从需求分析开始,到代码可运行结束。
明确要解决的具体问题
先用自然语言写出完整场景:比如“用户上传CSV文件,程序读取后按销售额降序排列前10行,保存为新Excel文件”。不能只写“排序”或“读文件”,缺少输入来源、处理逻辑、输出格式的描述会导致模型生成不可用代码。
把原始需求拆成最小可验证单元:① 文件上传接口 → ② CSV解析 → ③ 数据排序逻辑 → ④ Excel写入。每个单元单独验证,避免堆砌功能后整体崩溃。
选择适合的DeepSeek模型版本
方法一:使用DeepSeek-Coder-V2-236B-Instruct(本地部署或API调用)→ 专为代码生成优化,支持32K上下文,能处理含注释和多文件结构的复杂任务。
方法二:调用DeepSeek-R1(网页版或HuggingFace Demo)→ 适合快速原型验证,但最大输出长度限制在4096 token,长函数体或带异常处理的完整脚本容易被截断。
【必须确认模型是否支持你使用的编程语言语法高亮和库识别】,例如DeepSeek-Coder-V2对Rust的async/await支持完善,但R1对Julia宏展开可能出错。
构造高质量提示词
第一步:声明角色 → “你是一个Python资深工程师,专注数据处理,使用pandas 2.2+和openpyxl 3.1+。”
第二步:给出输入约束 → “输入是用户上传的CSV,路径由变量input_path提供;输出Excel路径为output_path,不覆盖原文件。”
第三步:指定输出要求 → “返回完整可执行脚本,包含import、main函数、异常捕获(FileNotFoundError和pd.errors.EmptyDataError)、中文注释。”
统一LLM网关 - 一个API对接70+AI模型,使用单一API密钥即可调用GPT、Claude、Gemini、Qwen、Deepseek、Grok等主流模型。
第四步:附加示例(few-shot)→ 在提示末尾加一段类似任务的正确代码片段(5~8行),模型会显著提升字段名推断和边界条件处理能力。
不要写“请写一个好用的程序”,这种模糊指令会让模型自由发挥——它可能引入你不需要的GUI组件或Flask Web服务。
运行与验证生成的代码
直接复制输出代码到本地Python环境执行,用真实小样本CSV测试(如3行×5列含中文标题的数据)。
观察控制台报错:若出现ModuleNotFoundError,说明提示词中未声明依赖版本,需补上“确保已安装pandas>=2.2.0”;若输出Excel为空,检查模型是否误将sort_values(by=...)写成sort_values(columns=...)——这是常见拼写错误。
用diff工具比对生成代码与你手写的基准版本,重点关注异常分支是否覆盖完整、路径拼接是否用了os.path.join而非字符串+操作。
迭代优化提示词
方法一:追加失败案例 → 把上次报错的完整Traceback粘贴进新提示,开头加“上次生成代码在第12行抛出KeyError: 'sales',因为原始CSV列名是'Sales Amount',请修正列名匹配逻辑。”
方法二:锁定关键变量名 → 在提示中强制要求“所有DataFrame变量命名为df_raw和df_sorted,禁止使用data、temp等模糊命名”。这能减少后续维护时的语义混淆。
方法三:增加安全限制 → “禁止使用exec()、eval()、os.system(),所有文件操作必须通过with open()或pandas内置IO完成”。【跳过此条可能导致生成含system调用的危险代码】


















