影刀RPA 大模型辅助代码生成:用AI帮你写Python节点
影刀RPA 大模型辅助代码生成用AI帮你写Python节点作者林焱什么情况用在影刀里写Python节点的时候你有没有过这种时刻知道要做数据清洗但pandas的语法写了又删删了又写正则表达式调了半小时还匹配不上想要的内容想调一个第三方API官方文档全是英文看两页就放弃了在StackOverflow和CSDN之间反复横跳最后拼出一个自己都不太确定的方案这种情况下让大模型帮你写代码效率能翻10倍。但问题在于——随便丢一句「帮我写个爬虫」出来的代码大概率跑不起来。你需要知道怎么提问怎么验证怎么迭代。核心场景用大模型辅助写影刀Python节点代码加速开发。怎么做第一步学会写高质量的Prompt大模型不是读心术。你给的信息越精确出来的代码越能用。差的Prompt→ 得到的代码基本没用「帮我写一个影刀的Python节点处理数据」好的Prompt→ 大概率一次跑通「在影刀RPA的Python节点中我需要处理一个CSV文件。文件有3列日期、销售额、商品名。请帮我写代码1读取CSV 2按商品名汇总销售额 3找出销售额最高的Top5商品 4输出到新的CSV。注意影刀的Python节点需要用print输出结果文件路径用变量file_path」拼多多店群自动化报活动上架Prompt模板——影刀Python节点专用角色你是Python自动化专家 背景我在影刀RPA中使用Python节点数据从影刀的上游节点通过变量传入 输入{描述变量名和数据类型} 需求{分步骤描述要做什么} 输出输出结果需要用print()输出以便影刀后续节点使用 限制{特殊限制比如只能用标准库、不要大于100行}第二步实战——让AI生成正则表达式正则是最适合让AI写的代码——你自己写可能要调半天AI几秒搞定。你和AI的对话示例你我需要一个正则表达式从一段文本中提取所有的手机号码。手机号规则1开头第二位是3-9总共11位数字。请用Python的re模块实现给我一个函数。AI输出importredefextract_phone_numbers(text): 从文本中提取中国大陆手机号码 规则1开头 [3-9] 9位数字 patternr1[3-9]\d{9}matchesre.findall(pattern,text)# 去重returnlist(set(matches))# 测试sample联系人张三 13812345678备用电话15987654321微信号同手机号phonesextract_phone_numbers(sample)print(phones)# [13812345678, 15987654321]但是——大模型不会告诉你的是这个正则有个坑。如果文本里有身份证号18位数字或订单号包含手机号格式的数字会被误提取。你应该追一步「如果文本里有18位数字比如身份证号’138123199001011234’会不会把前11位误识别为手机号」AI会补充boundary限制# 加单词边界避免从长数字中截取patternr\b1[3-9]\d{9}\b这就是和大模型协作的正确方式——不是你发一句它回一句就完事而是你来我往地追问和验证。第三步让AI生成pandas数据处理代码数据处理是最常见的Python节点需求。给AI一个数据样例让它精确理解你的数据结构。我有这样一个DataFrame data [ {日期: 2024-01-15, 城市: 北京, 销售额: 15000, 订单数: 23}, {日期: 2024-01-15, 城市: 上海, 销售额: 18000, 订单数: 30}, {日期: 2024-01-16, 城市: 北京, 销售额: 12000, 订单数: 18}, {日期: 2024-01-16, 城市: 上海, 销售额: 20000, 订单数: 35}, ... ] 请帮我写代码实现 1. 按城市汇总总销售额和平均订单数 2. 添加一列客单价 销售额/订单数 3. 按日期排序计算每日销售额环比增长率 4. 最终结果输出为Excel文件这个Prompt给了真实的数据结构AI生成的代码几乎可以直接用不需要你再去改字段名。第四步让AI帮你调试报错代码跑崩了把报错信息直接丢给AI。我的代码报错了这是代码 def calculate_growth(df): df[增长率] df[销售额].pct_change() return df apply到分组后的DataFrame时报错 AttributeError: DataFrameGroupBy object has no attribute pct_change 怎么改AI会告诉你应该用transform而不是直接调用df[增长率]df.groupby(城市)[销售额].transform(pct_change)这比自己搜StackOverflow快多了因为AI能同时看到你的代码和报错。第五步模板化——积累你的Prompt库频繁用AI写代码后你会发现很多场景是重复的。把好用的Prompt存下来。# Prompt模板库不断积累 PROMPTS{csv_to_excel: 读取{input_file}CSV格式编码utf-8做以下处理 1. 删除所有空行 2. 日期列转为datetime格式 3. 金额列保留2位小数 4. 输出到{output_file}Excel格式 用pandas实现异常情况要捕获并打印错误信息。 ,api_call_with_retry: 调用API{api_url}方法{method}参数{params} 要求 1. 超时时间30秒 2. 失败重试3次每次间隔递增1秒、2秒、4秒 3. 返回JSON格式结果 4. 非200状态码要打印具体错误 ,batch_rename_files: 遍历{folder_path}目录下的所有文件按规则重命名 规则{rename_rule} 要求先打印预览会改成什么名确认无误后再执行 用os和shutil模块实现 }有什么坑坑1AI生成的代码总喜欢用你没装的库TEMU店群矩阵自动化运营核价报活动让AI写一个图片处理它可能用Pillow、OpenCV、scikit-image三个库但你的Python环境一个都没装。解决方法Prompt里明确限制——「只用Python标准库」或「使用已安装的库requests, pandas, openpyxl」。坑2API参数是编的得验证大模型有时候会「编造」API参数。比如它可能以为百度OCR的参数叫image_url实际文档里叫url。踩坑实录让AI写调用微信公众号API的代码它编了一个create_article接口出来微信API里根本没有这个接口名。正确的叫add_draft。解决方法涉及API调用的代码生成后一定要对照官方文档验证接口名和参数名。坑3Python版本差异AI默认用的是较新的Python语法比如3.8的:海象运算符、3.10的match-case但你的影刀环境可能是Python 3.7。解决方法Prompt里指定Python版本「请使用Python 3.7兼容的语法」。坑4影刀Python节点的内存限制影刀的Python节点运行在一个受限的环境中。AI生成的代码如果处理几十万行数据、创建了几百MB的中间变量可能直接导致节点超时或内存溢出。解决方法告诉AI数据规模——「数据量约10000行请使用分块处理」或「注意内存使用避免一次性加载全部数据」。坑5AI不理解影刀的变量传递机制影刀的变量通过全局变量传入Python节点AI不知道这一点可能写成从命令行参数读取、从环境变量读取。解决方法Prompt里说明「数据通过影刀变量传入在代码中直接使用变量名即可。结果通过print()输出」。总结大模型是RPA开发者的加速器不是替代品。核心能力在于写出精确的Prompt、验证生成代码的正确性、追问边界条件、积累模板。把AI当成一个随叫随到的「实习生」——活干得很快但需要你检查工作质量。