Trae Plus 让没有编程基础的女朋友也用上了 AI Coding

1 故事背景

你好,我是测试蔡坨坨。

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

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

官网:https://www.trae.ai/solo

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

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

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

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

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

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

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

正好 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,里面有食品的详细信息:

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 脚本,能够:

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

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

然后 Trae 就开始写代码了!

核心功能包括:

1. 获取单号

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

2. 查询食品信息

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

3. 新增溯源记录

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

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

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

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

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

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

python 复制代码
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 立马就明白了这个逻辑,给我们建了个特殊映射表:

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

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

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

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

2.5 使用体验

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

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

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

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

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

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

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

3.1 模型选择的考量

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

  • Claude 4-Sonnet:写出来的代码质量更高,逻辑更严谨,更适合处理复杂业务
  • Gemini-2.5 Pro:识别图片的能力更强,而且对中文理解更好

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 编程或软件测试有任何问题,欢迎一起交流讨论。

相关推荐
美酒没故事°1 天前
Open WebUI安装指南。搭建自己的自托管 AI 平台
人工智能·windows·ai
鸿乃江边鸟1 天前
Nanobot 从onboard启动命令来看个人助理Agent的实现
人工智能·ai
本旺1 天前
【Openclaw 】完美解决 Codex 认证失败
ai·codex·openclaw·小龙虾·gpt5.4
张張4081 天前
(域格)环境搭建和编译
c语言·开发语言·python·ai
乐鑫科技 Espressif1 天前
使用 MCP 服务器,把乐鑫文档接入 AI 工作流
人工智能·ai·esp32·乐鑫科技
语戚1 天前
Stable Diffusion 入门:架构、空间与生成流程概览
人工智能·ai·stable diffusion·aigc·模型
俊哥V1 天前
每日 AI 研究简报 · 2026-04-08
人工智能·ai
rrrjqy1 天前
什么是RAG?
ai
Flittly1 天前
【SpringAIAlibaba新手村系列】(15)MCP Client 调用本地服务
java·笔记·spring·ai·springboot
Flittly1 天前
【SpringAIAlibaba新手村系列】(14)MCP 本地服务与工具集成
java·spring boot·笔记·spring·ai