lilyhcn1
(lilyhcn1)
1
主要是用于让AI帮你写出python代码,然后借助此工具一键运行。
作用:
- 自动下载python绿色版;
- 自动帮你安装python所需要的各种环境。
- 一键运行代码,简化不懂编程的大小朋友利用程序帮自己干活。
下载地址(单独程序):
RunAny版本
效果图:
生成二维码并嵌入表格
提示词如下:
我有一个xlsx文件,请用python代码来实现下面功能
功能要求:
我想把从第二行开始把第三列的数据生成二维码,将图片嵌入保存到对应的G列,二维码不要超出单元格的范围,插入时注意二维码的路径。
xlsx的路径为:
D:\Seafile\私人资料库\个人研究\AI_agent写代码\测试集数据\二维码生成\假的通讯录.xlsx
请生成新的xlsx文件,而不是覆盖
代码要求:
请将这件事拆分成若干个步骤。每个步骤对应一个完成函数和检测函数,完成函数用于完成步骤,检测函数用于检测此步骤是否正确完成并打印结果。
处理excel表格
在桌面新建文件夹
处理文档
2 个赞
看到此贴,第一反应是非常的惊喜,有点“初级manus”的感觉了。
但认真看完三个演示后,还是有点小担心。
ai的幻觉问题是一个较为严重的问题,不止ds,其他ai都有这个问题,这就导致,让ai来处理你的文档,小文档或者如作者所演示的demo还行,至少ai处理完人工检查还是能很快分辨是否正确的,例如第一个demo中发现原来的数据没有了。如果是真正工作中遇到的“大量”文档(数百上千个)或者“大型”文档(几万行几百列或者几十个sheet等),ai处理完,人工检查的难度就太大了,甚至有那个检查时间还不如自己从头手工处理…
要不楼主再放出几个生产环境(或者是难度较大的)下的文档处理演示,看看效果如何?
lilyhcn1
(lilyhcn1)
3
这和你说的AI幻觉有着本质的区别:
- AI幻觉是猜结果,比如1+1=?,他直接猜结果是2
- 我这里是编程实现的,1+1=?,他猜着要用python编程来计算,最后猜了一个求和公式, 最后用公式计算结果是2
两个都可能出错,但编程实现的话,只要猜对公式,那接下来肯定是对的。
但直接猜结果的话,前面可能是对的,但后面不一定是对的。
其实不然,您的这个工作流程,我觉得可以概况为:
- 用户提出需求
- AI 根据用户需求,编写代码
- 计算机执行代码
您说的应该是 2 → 3,计算机依照代码执行程序,只要代码是对的,输出结果也不应该有问题。
但真正容易出问题的是 1 → 2,我们无法保证 AI 每一次都能准确理解用户需求。至少我让 AI 写代码的时候遇到了好多次这种问题。
对于有编程基础的人,可以在 AI 给出回答后简单判断代码是否有问题,或通过简单的实验验证,若发现不对会修改提示词重新提问。
但对于完全没有编程经验的人,发现代码的问题很困难。此时如果执行的是破坏性的、不可逆的操作,如果 AI 给出了错误代码,而用户没有察觉,那么造成的后果可想而知。
lilyhcn1
(lilyhcn1)
5
你理解的非常准确,确实是这样。
但觉的这些都是小事。
代码可以看不懂,但结果还是可以核对出来的,如果验算了几个没问题,那就当没问题吧。如果纯手算,那出错概率更大。
至于破坏性,那可以提前备份数据,这样来解决。
我让 AI 编写代码示例,AI 总是犯病。
遇到一个新的 library,我不想看教程,让 AI 给出一个 quick start 示例代码,是没有问题的。
但是,我把报错发给他,它总是胡乱给出虚假的解决方案。经常的情况是:它给出解决方案中总是使用了压根就不存在的函数、接口。
library 拥有相对充分的文档,较小的代码量,比较充足的用户量,这已经是比较理想的情况了,AI 给出的答卷还是令我不满意。
所以,目前我对让不会编程的人通过 AI 解决问题持悲观态度。
lilyhcn1
(lilyhcn1)
7
AI能力有强弱,我认为现在国内能力算第一梯队就只有一个,那就是DeepSeek.
让它用python编程解决一些小问题,还是没问题的。
你说的library,我百度了一下,不知道是什么,可能其它的训练数据也没有吧。
tjsky
(去年夏天)
8
一般来说,不要直接将AI生成的代码用于生产环境。
(不要将任何未经完整测试的代码直接在生产环境运行)
之前有过几次AI导致的严重问题
-
在研究损坏图片检测时,我的需求是检测损坏图片并删除,DS给出的第一版代码对特定规格的jpg文件有超过90%的误判率,如果直接运行,估计能删掉我20%~30%的正常文件。
-
我想要删除垃圾文件,GPT-4o给出的第一版代码会在子文件夹下有目标文件时,把他的上级文件夹删了,我提出问题让他修正,第二版则无法区分文件夹和文件,代码粗看上去确实可对文件和文件夹设置了不同的关键词做删除,但实际上,文件处理部分代码也会对含有关键词的文件夹生效。
这些AI的错误,都很难在简单测试中发现的,都是需要进行完整debug才能发现的问题。
lilyhcn1
(lilyhcn1)
9
哈哈,你们说的都非常对,暂时没有完善的产品来实现这些功能,但有一个方向是确定的,我就不具体说了,你可以搜一下 AI MCP。
tjsky
(去年夏天)
10
我和青蛙他们就在折腾MCP
这个东西确实进步了一点,但实际上并没有演示中那么酷。
他演示的那些需求,确实解决了还不错,但稍微离开一点想要玩点自己的复杂东西就立刻露怯了
tjsky
(去年夏天)
11
最近看到一条很赞同的推文
非工程师使用 AI 编码时会遇到一个令人沮丧的瓶颈。他们可以非常快速地完成 70% 的工作,但最后的 30% 却变成了收益递减的劳动。
小白使用当前的 AI 辅助编程。很容遇到这样的场景:
- AI 工具如同魔法一样,掏出一个看起来绝佳的工作原型,这个模型有7成以上概率,可以直接解决用户的小需求。
- 用户试图修复一个小错误,增加一个小需求。
- AI 提出一个看起来合理的修改。
- 这个修复导致其他问题,或者没有做出实质性修改问题依然存在
- 用户让 AI 修复新问题
- 这又引发了更多问题
- 如此反复
- Good End:用户在短短几次尝试中,瞎蒙说出了某个关键词,AI明白了问题,搞出了可用的代码。
- Bad End:用户反复尝试,但始终没说出某些关键词,导致一直在原地转圈。
对于没有实际编程经验的人来说,这个和AI周旋的循环尤其痛苦,因为他们缺乏理解实际问题的心智和经验。
而当有经验的开发者遇到错误时,他们可以基于多年的经验识别来推理潜在原因和解决方案,很容易看出AI是使用了错误的逻辑?编造了不存在的函数?没有正确理解需求?等等……没有这种开发经验,小白用AI编程基本上是在玩打地鼠游戏,敲掉一个问题,冒出另一个问题,等着AI给自己一堆不完全理解的代码。
说人话就是:小白用AI辅助编程的感觉就像一个啥都不懂的人,在大厂当程序员的主管领导
2 个赞
lilyhcn1
(lilyhcn1)
12
原来我写代码,也是什么也不管,上来就提需求,一阵猛干,错了把错误提示扔给AI,然后有时AI就能帮忙解决,但有时就无限循环了。
现在写个稍复杂的东西,不再直接写了,先把任务分解,一步一步的来解决。
比如上面的excel嵌入二维码,有些AI提了要求,就能直接完成,有些就陷入死循环。
所以后来就学聪明了,先把任务进行分解,然后再一步一步的检查,这样不容易出错。
对AI,我们也要扬长避短,学会与AI沟通,而不是以人与人的沟通方式去和它沟通。
这就是程序员的技能之一。只有那些拥有编程基础的才能很好的分解任务。否则就会陷入 X-Y Problem。
事实是,很多程序员在面对复杂场景时都无法很好的分解任务。
可预见的,小白在自己分解任务时会遇到如下情况:
- 小白的需求是从广州搬家到深圳
- 小白认为应该搭高铁搬家,于是小白问 AI:
- 怎么把八百斤的物品从家里带到高铁站?
- 一个人搭高铁怎么携带八百斤的行李?
- 长 1.6 米宽 0.5 米的洗衣机被高铁列车车门卡住了怎么办?
- 然而正确的搬家方案应该是:叫货拉拉。
我认为小白使用 AI 更好的做法是:
- 使用相对正式的语言向 AI 提出需求,让它帮忙分解任务,而不是自行分解
- 根据 AI 分解的任务,分部让 AI 给出代码。
这让我想起我作为初学者安装环境的痛苦。安装环境是每个程序员都经历过的噩梦。
我学习 web 的时候还没有 docker,为了部署网站,我花了整整三天尝试在 linux 上安装 mysql、nginx。
一天 8 小时,3*8=24,我花了 24 个小时的时间才成功安装 mysql 和 nginx。期间每个搜索引擎我都掘地三尺,换着各种关键词搜素,每条方案挨个试了个遍。
这就是为什么我对 AI 辅助小白写代码持悲观态度 —— AI 把这些内容作为语料,很难精准的给出解决方案。
lilyhcn1
(lilyhcn1)
15
有道理,我更新了一下提示词,用两次尝试,就实现在生成二维码的功能。
也欢迎各位更新提示词,让AI能快速理解我们的想法。
不是让小白写代码,是AI辅助人类完成事情,这两者还是不同的。
生成二维码并嵌入表格
提示词如下:
我有一个xlsx文件,请用python代码来实现下面功能
功能要求:
我想把从第二行开始把第三列的数据生成二维码,将图片嵌入保存到对应的G列,二维码不要超出单元格的范围,插入时注意二维码的路径。
xlsx的路径为:
D:\Seafile\私人资料库\个人研究\AI_agent写代码\测试集数据\二维码生成\假的通讯录.xlsx
请生成新的xlsx文件,而不是覆盖
代码要求:
请将这件事拆分成若干个步骤。每个步骤对应一个完成函数和检测函数,完成函数用于完成步骤,检测函数用于检测此步骤是否正确完成并打印结果。
tjsky
(去年夏天)
16
你这个例子就很典型,你的问法就是有开发经验的人的提问方式了,预料到了可能注意的问题
- 要保留源文件
- 表头不用修改
- 因为涉及生成图片,那么需要体现考虑好图片的大小,不能太大也不能太小
AI会考虑到所有这些东西吗?会,但也不全会。
小白用户的经历很可能是这样的:
- 提问”我有一个xlsx文件,我想把把第三列的数据生成二维码,将图片保存到隔壁列,请帮我实现“
- AI给出一个代码,小白运行,发现报错,因为没指定文件路径。DS作为思考模型,倒是自动考虑到需要给出新文件,而不是修改原始文件的可能性。
- 小白提出修正:”我的文件在D:\Seafile\私人资料库\个人研究\AI_agent写代码\测试集数据\二维码生成\假的通讯录.xlsx“
- AI给出一个新代码,小白运行,发现表头也被转换了。
- 小白找出备份文件,重新提问:不要修改我的表头
- AI给出新的代码,经过AI自己的思考,AI给出了一个120X120的格子尺寸,小白运行,发现AI根据经验自行设定了一个不符合他需求的单元格宽度和高度。
- 小白再次提问:保持我的文件单元格的大小为某个尺寸。
- AI再次给出小白需要的代码。(这次应该满足需求了)
这只是一个很简单的需求,稍微复杂的需求,小白用户搞出来的来回交流次数可能会更多。
lilyhcn1
(lilyhcn1)
17
我这个提示词确实修改了很多次,但我总觉得应该有通用的,适用于小白的提示词。
不一定要一次成型,但是可以先修改需求,确定需求后,再让AI开始写代码,最后再修正。
tjsky
(去年夏天)
18
我目前用的提示词是这个:
你是一位Python开发专家,精通其核心库、流行框架如Django、Flask和FastAPI,数据科学库如NumPy和Pandas,以及测试框架如pytest。你擅长为每项任务选择最佳工具,总是努力减少不必要的复杂性和代码重复。
在提供建议时,你将其分解为离散步骤,并建议在每个阶段后进行小规模测试,以确保进展方向正确。
在解释概念或被特别要求时,你会提供代码示例。然而,如果可以在不使用代码的情况下回答,则更倾向于那样。在被要求时,你愿意进行详细阐述。
在编写或建议代码之前,你会仔细审查现有代码库,并在<CODE_REVIEW>标签内描述其功能。在审查之后,你会为拟议的更改创建详细计划,并将其包含在标签内。你非常关注变量名称和字符串字面量,确保它们保持一致,除非有必要或被要求进行更改。在按照约定命名时,你将其用双冒号括起来,并使用::UPPERCASE::格式。
你的输出在解决当前问题和保持未来使用灵活性之间取得平衡。
如果有任何不清楚或模糊的地方,你总是寻求澄清。当出现选择时,你会停下来讨论权衡和实施选项。
坚持这种方法至关重要,这教会你的对话伙伴在Python开发中做出有效决策。你避免不必要的道歉,并从之前的互动中学习,以防止重复错误。
你对安全问题高度关注,确保每一步都不妥协数据或引入漏洞。每当存在潜在安全风险(例如,输入处理、身份验证管理)时,你会进行额外审查,并在<SECURITY_REVIEW>标签内呈现你的推理。
最后,你考虑解决方案的操作方面。你思考如何部署、管理、监控和维护Python应用程序。在开发过程的每个步骤中,你都会突出相关的操作问题。
tjsky
(去年夏天)
19
对对对,这个项目我感觉最好的就是:帮助小白解决了环境问题
毕竟很多人最开始都是
pip install XXXX直接安装到本地环境的,并不会虚拟环境。然后很快就会面对大量的兼容性问题……