掘金 人工智能 20小时前
Trae Plus 让没有编程基础的女朋友也用上了 AI Coding
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_guoji1.html

 

本文作者利用AI编程平台Trae Solo,为女友的幼儿园解决了繁琐的食材配送单录入工作。通过抓包分析系统接口,并结合AI的图片识别能力,成功将纸质配送单信息转化为结构化数据,再通过AI自动编写的Python脚本调用系统接口完成数据录入。整个过程不仅大幅提升了工作效率,将数小时的手动录入缩短至几分钟,还展示了AI在降低技术门槛、赋能非技术人员方面的巨大潜力。文章还探讨了不同AI模型的优劣、AI识图的局限性以及AI编程在复杂业务、安全和维护方面的挑战,强调AI编程作为一种高效的合作模式,是未来软件开发的重要趋势。

💡 **AI驱动的自动化解决方案**:作者利用Trae Solo平台,通过识别配送单图片信息并自动调用食品安全管理系统的接口,实现了食材录入流程的自动化,将原本耗时数小时的手工录入工作缩短至几分钟,极大地提高了工作效率。

⚙️ **技术实现与接口分析**:文章详细介绍了如何通过抓包分析食品安全管理系统的接口(获取单号、查询食品信息、保存数据),并将这些接口信息提供给AI,让AI生成能够自动调用这些接口的Python脚本,展示了AI辅助开发的技术路径。

🧠 **AI在处理实际问题中的应用**:在自动化脚本的实际运行中,作者与AI协作解决了商品名称不规范、特殊商品匹配多条信息以及错误处理等实际问题,通过迭代优化,使AI生成的代码更加健壮和实用。

👥 **AI编程赋能非技术人员**:作者的女友作为非技术人员,在AI的帮助下成功完成了自动化任务,证明了AI编程极大地降低了技术门槛,使得更多人能够利用自动化技术解决实际工作中的问题,改变了原有的工作方式和思维模式。

🚀 **AI编程的现状与未来展望**:文章对比了Gemini和Claude在编程和识图方面的表现,并指出了AI识图的局限性以及AI编程在处理复杂逻辑、安全性、后期维护等方面的挑战,同时肯定了AI编程作为一种强大的辅助工具,将极大地提升开发效率和开发者体验。

转载请注明出处❤️

作者:测试蔡坨坨

原文链接:caituotuo.top/c61096b5.ht…


1 故事背景

你好,我是测试蔡坨坨。

最近看网上 Trae Solo 挺火,相比于普通的AI编程工具,它更像是一个完整的 AI 研发平台,集成了终端、编辑器、浏览器和文档等工具,能够从需求分析、原型设计、前后端开发、调试优化到最终部署,提供一条龙的解决方案。

更重要的是,Trae Solo 具备强大的上下文工程能力,能够理解和整合复杂的项目上下文、业务逻辑、技术栈信息,并在整个开发流程中保持上下文的连贯性。简单来说,一个人用 Trae Solo 就相当于拥有了一个完整的研发团队。不过现在刚开放,算力有限,想用的话得开国际版 Trae Plus 还得有邀请码,要么就去官网申请 Whitelist,然后等通知。

官网:www.trae.ai/solo

正好朋友有邀请码,我就马不停蹄地开了个 Trae 国际版 Plus,第一个月 3 ,后面每月10,后面每月 10 。结果开完之后准备用,发现邀请码失效了(王德发!!!),原来是有人把 5 个邀请码全用光了……

算了,没邀请码就继续等呗……

结果今天看到女友大周六还在埋头苦干录数据,我就好奇过去看了看。原来她们幼儿园有个工作,每天采购的食材都有纸质配送单,得一条一条录到食品安全管理系统里,搞什么一品一码,方便追溯食材来源。

手搓大概分为以下几个步骤:

    登录食品安全管理系统进入食品溯源管理页面点击新增验收记录然后拿着纸质配送单,一个一个食材往系统里录。每录一个还得先搜索食材名字,再填数量,最后保存

我一看这操作,心想这不就是纯体力活嘛,完全可以自动化啊!无非就是:

    拍个照识别配送单上的信息,弄成数据格式自动获取系统的单号根据食材名字自动查询系统里的食品信息自动提交保存

正好 Trae Plus 的钱都花了,不能浪费啊,我就跟女友说:"来,咱们用 AI 写个自动化脚本,以后这活儿就不用你手工干了!"

2 Trae 实现过程:零基础也能写代码

2.1 前期准备:抓包和分析接口

女友一听要写代码,有点抗拒:“我不会编程,肯定搞不定。”

我说:"没事,AI 会写代码,但是我们得先搞清楚那个系统是怎么工作的。你先按平时的流程操作一遍,我教你抓包看看后台都调了什么接口。"

于是我让她打开 Chrome 浏览器,按 F12 打开开发者工具,切到 Network 标签页。然后让她按平时的流程操作一遍:

第一步:获取单号

点击"新增验收记录"的时候,我们在 Network 里看到了一个请求:

POST https://127.0.0.1:9999/getbillno.action?kind=6

响应就是一个简单的单号,比如:YS202507310001

我跟她说:"看到没,这就是系统自动生成单号的接口,咱们脚本也得调这个。"

第二步:查询食品信息

然后让她在搜索框里输入"鸡蛋",我们又看到了一个查询接口:

POST https://127.0.0.1:9999/canyin/entlistyuancaidetail.action参数:areaCode=&param=yuanliao&value=鸡蛋&page=1&rows=10

响应是个 JSON,里面有食品的详细信息:

{    "total": 1,    "rows": [        {            "bianhao": "356CYA075858G",            "yuanliao": "鸡蛋",            "mingcheng": "某某食品有限公司",            "productor": "XXXX餐饮管理服务有限公司",            // ... 其他字段        }    ]}

第三步:保存数据

最后让她填完数量点保存,又抓到了提交接口:

POST https://127.0.0.1:9999/canyin/addyuancai.action

这个接口参数特别多,包含了所有的食品信息和数量。

我跟女友说:"你看,整个流程就是调这三个接口,现在我们把这些信息告诉 AI,让它帮我们写代码自动调用这些接口。"

女友这才明白过来:“原来网页背后是这么回事!”

2.2 图片识别:从纸质单据到结构化数据

接下来就是最关键的一步——让 AI 识别配送单。我跟女友说:"你直接把配送单拍个照发给 Trae,然后告诉它你要干什么就行了。"

女友有点不敢相信:"就这么简单?"

我说:"对,就跟聊天一样,你就说:'帮我识别这张配送单,把所有商品信息提取出来,保存成 JSON 格式'。"

女友看到结果后惊呆了:“天哪,这比我肉眼识别可快太多了!”

2.3 接口自动化:让机器替代重复劳动

接下来就是最有技术含量的部分了——让 AI 写代码自动调接口。我跟女友说:"现在把刚才抓包的那些接口信息告诉 Trae,让它写个 Python 脚本自动处理。"

女友问:"我要怎么跟它说啊?"

我说:"就把刚才看到的那些接口地址、参数、响应格式都贴给它,然后说你要实现什么功能就行了。"

于是女友就跟 Trae 说:"我需要一个 Python 脚本,能够:

    读取刚才识别出来的 JSON 数据调用 getbillno.action 获取单号对每个食材调用 entlistyuancaidetail.action 查询信息最后调用 addyuancai.action 保存数据"

然后把抓包的接口信息都贴了过去。

然后 Trae 就开始写代码了!

核心功能包括:

1. 获取单号

def get_bill_no(delivery_date):    """获取单号,优先从缓存读取,否则请求新单号并存入缓存"""    # Trae 还贴心地加了缓存机制,避免重复请求

2. 查询食品信息

def query_food_info(food_name, bianhao=''):    """查询食品信息"""    # 根据食材名称查询系统中的标准食品信息

3. 新增溯源记录

def add_food_entry(bill_no, delivery_date, food_item, food_info):    """新增溯源信息"""    # 将食材信息提交到食品安全管理系统

2.4 智能优化:处理实际运行的复杂性问题

在实际调试脚本的过程中,我们遇到了不少意料之外的问题。每次发现问题,我们就告诉 Trae,它都能很快帮我们想出解决方案并实现。

商品名称清洗问题:第一次跑脚本的时候发现,配送单上的商品名字经常写得比较冗余,与系统中存储的信息匹配不上,比如"鲜鸡蛋(75个)"、"安井豆沙包360克*12包"这种,系统里搜索的时候根本找不到。

我们把这个问题告诉 Trae:"配送单上的商品名称不规范,需要清洗一下再查询。比如:鲜鸡蛋(75个)->鸡蛋、豆沙包360克->豆沙包、豆沙包*12包->豆沙包 …"

Trae 马上就明白了,给我们加了个清洗函数:

def clean_food_name(name):    """    根据规则清洗商品名称:    1. 去掉括号及括号内的内容    2. 去掉星号(*)及其后面的内容    3. 移除末尾的重量单位    """    name = re.sub(r'[((].*?[))]', '', name)    name = name.split('*')[0]    name = re.sub(r'\d+.?\d*\s*(kg|g|千克|克|斤|L)$', '', name, flags=re.IGNORECASE)    return name.strip()

特殊商品映射问题:测试的时候又发现了一个更棘手的问题,有些食材比如"大米"、"面粉"这种常见的,用名称搜索会匹配到好几条记录,系统不知道该选哪个。

我们又跟 Trae 说:"有些食材名称会匹配到多条信息,需要建个映射表直接用 code 编号,确保结果只有一条。"

Trae 立马就明白了这个逻辑,给我们建了个特殊映射表:

special_food_map = {    '鸡蛋': '356CYA075858G',    '玉米粒': '356CY9083954T',    '黄豆': '356CY90840032',    # ... 更多映射}

错误处理机制:在多次测试中,我们发现总有一些食材因为各种原因处理失败,比如网络超时、接口返回异常,还有一些食材在系统里根本查询不到信息。

我们就告诉 Trae:"需要把处理失败的条目记录下来,方便后续手工处理。"

在我们的引导下,Trae 很快就加了完整的错误处理逻辑,把失败的条目自动保存到 failed_entries.json 文件里,方便后面补录。

2.5 使用体验

我让女友尝试时,她还有点紧张,担心自己不懂编程会搞砸。

我说:"放心,就三步操作,比你平时用手机还简单。"

实际使用起来确实超级简单:

    拍个照,让 Trae 识别配送单,生成 JSON 文件双击运行脚本:python food_traceability.py喝杯茶等着就行了

几分钟后脚本跑完了,她去系统里一看,所有数据都录进去了!

原本需要两三个小时的工作,现在不到五分钟就完成了。

3 思考与反思:AI 编程的现状与未来

3.1 模型选择的考量

在折腾的过程中,我们试了 Gemini-2.5 Pro 和 Claude 4-Sonnet 两个模型。总的来说:

3.2 AI 识图的局限性

图片清晰的话,识别率基本能达到 99%,但是遇到模糊的字就容易出问题。比如我们测试的时候,AI 会脑补一个看起来合理的答案,把"蚬子(溪蛤)"看成了"鲫鱼(溪鲶)"。

3.3 非技术人员使用 AI 编程的可能性

门槛降低:之前连 Python 是什么都不知道,现在居然能搞定自动化任务。

效率提升:原来要干几个小时的活儿,现在几分钟就搞定,这谁不爱啊!

思维方式:比如现在看到什么重复性工作都会问:"这个能不能也让 AI 帮忙自动化一下?"

3.4 AI 编程的边界与思考

复杂业务逻辑:如果涉及多个系统交互、复杂的业务规则,AI 还是需要很多背景信息才能搞定。

安全性问题:AI 生成的代码可能有安全漏洞,特别是处理敏感数据的时候得小心。

后期维护:业务需求变了的时候,怎么让 AI 理解并正确修改现有代码,这还是个难题。

4 结语:拥抱变化,保持理性

这次的经历让我觉得,AI Coding 不只是个工具,更像一个聪明的编程搭档,能听懂你的需求,写出代码,还能处理各种异常情况。如果用传统开发方式,光是需求分析、技术选型、编码实现就得好几天。

对于非技术人员来说,AI Coding 确实大大降低了技术门槛,让更多人能享受到自动化的便利。

对于技术人员来说,也许可以极大地提高开发效率,让我们能把更多精力投入到更有创造性的工作中。(水面上的“显性价值”是编码更快、节省时间和降低成本。在水下包含了更深层的系统性影响:开发者体验层面,提升开发者体验、保持心流状态、提高开发者留存;产品质量层面,提升代码质量和可维护性,减少bug和技术债务;业务影响层面,改善客户体验,更快产品上市。)

当然,我们也要保持理性,AI 编程还不能完全替代程序员。它更像一个超级助手,帮助我们更快、更好地把想法变成现实。


PS: 如果你也想尝试 AI 编程,建议从简单的自动化任务开始,慢慢探索它的能力边界。

关于作者:测试蔡坨坨,一个爱折腾新技术的测试工程师,目前在探索 AI 在软件测试领域的应用。如果你对 AI 编程或软件测试有任何问题,欢迎一起交流讨论。

Fish AI Reader

Fish AI Reader

AI辅助创作,多种专业模板,深度分析,高质量内容生成。从观点提取到深度思考,FishAI为您提供全方位的创作支持。新版本引入自定义参数,让您的创作更加个性化和精准。

FishAI

FishAI

鱼阅,AI 时代的下一个智能信息助手,助你摆脱信息焦虑

联系邮箱 441953276@qq.com

相关标签

AI编程 自动化 Trae Solo 食品安全溯源 低代码
相关文章