零代码能力的QA,如何使用Vibe Coding定制开发一款好用的抓包工具

34 阅读13分钟

作为一名几乎零代码能力的QA测试工程师,我全程未手写一行代码,依托Vibe Coding模式与精细化提示词,从零开发出一款免费、带图形界面、全平台兼容的HTTPS抓包工具。

本文核心干货:限制大模型无效迭代的约束技巧、可直接复用的三段式标准提示词、QA零代码开发完整迭代与避坑流程,读者可直接复刻同款测试工具。

一、现有抓包工具痛点

日常接口测试与问题排查中,抓包是QA高频刚需能力。目前主流抓包工具各有短板,难以完美适配企业办公规范与测试日常使用场景:

  • Charles:功能全面,但正版授权成本高,试用期功能受限;破解版存在安全风险,企业内网禁止使用。

  • Fiddler:Windows端体验尚可,Mac及移动端适配较差,软件界面老旧,配置流程繁琐。

  • mitmproxy:抓包能力强劲,但仅支持命令行操作,无可视化界面,测试人员上手门槛高。

  • Wireshark:聚焦底层网络协议分析,业务HTTP/HTTPS接口需要手动过滤冗余流量,不适合快速定位业务问题。

基于以上痛点,不会写代码的我,计划自研一款面向测试人员的专属抓包工具:免费开源、全平台适配、可视化GUI界面、配置极简,完全贴合接口测试工作场景。

二、零代码开发方案:双AI协同Vibe Coding工作流

2.1 核心模式介绍

Vibe Coding核心逻辑:使用者仅负责需求提出、功能验收与问题反馈,架构设计、代码编写、BUG修复等全部技术工作交由AI完成。

针对小白不会撰写专业提示词的痛点,我搭建了AI联动AI的协作流程, 让AI帮我把大白话翻译成专业提示词:

我(大白话描述业务需求) → 豆包(口语需求转为专业开发提示词) → Trae IDE(依据提示词生成完整项目代码)

三方分工明确:我负责需求与验收,豆包负责提示词优化,Trae IDE负责代码落地。

2.2 关键前提:如何让豆包精准输出编程提示词

写到这里,很多同行肯定会有两个疑问:

  1. 我完全不懂代码,我也知道让AI帮我写代码需要好的提示词,但到底该怎么写?
  2. 怎样让豆包不会直接帮我写代码,而是乖乖帮我生成专业提示词?

其实我一开始也踩过坑,直接发需求后,AI要么直接开始写代码,要么反问我技术选型,完全达不到我想要的效果。

后来我才明白关键:第一次对话一定要提前给AI定好角色和工作边界,明确告诉它该干什么、不该干什么,不然AI会按照默认逻辑自作主张。

我固定用的开场白(大家直接复制就能用):

核心关键:首次对话必须给AI固定角色+明确任务边界,否则AI会默认直接帮你开发工具、答疑解惑,而非帮你加工提示词。

我和豆包的开局固定指令(直接照搬即可):

你是一个提示词工程师。我想用AI辅助开发一个工具,但我不懂代码。我会用大白话描述我想要的功能,你帮我把这些需求整理成结构化的、专业的AI编程提示词,这样我可以把提示词给另一个AI去生成代码。

这句开场白看着简单,其实搞定了三个关键问题,也是我小白踩坑总结出来的经验:

  1. 角色锁定:定义AI为提示词工程师,而非代码开发助手;

  2. 明确任务:只做大白话转结构化编程提示词,不写代码、不答疑;

  3. 说明用途:产出的提示词需要交付给其他AI进行代码生成,对齐输出规范。

💡小白真实避坑提醒:这一步千万别省。我最开始没设置角色,AI每次都直接撸代码,根本没法实现「AI帮我写提示词、再给另一个AI写代码」的流程,白白浪费很多时间。

完成一次角色绑定后,后续全程无需重复发指令,直接大白话提需求即可,示例:

我想做个抓包工具,要能抓HTTPS,要有个图形界面,能过滤域名。

只要第一次绑定好角色,后续不用重复发这段话,直接随口说需求就行,AI会一直记住定位,全程只产出标准编程提示词,特别省心。

三、核心:三段式标准化开发提示词

提示词是AI开发的核心,我采用「定规则-做架构-写代码」三段式提示词,循序渐进开发,避免项目结构混乱、后期难以迭代。

3.1 全局开发规则(约束AI行为,避免反向提问)

# 一、全局开发规则(全程遵守)
你严格进入 Vibe Coding 专业开发模式,全程遵守以下规则:
1. 我仅负责需求描述与功能验收,不参与代码编写与技术细节讨论。
2. 代码模块化拆分,按功能划分目录与文件,禁止代码堆砌。
3. 代码规范统一,注释清晰,变量命名语义化,支持Windows、Mac跨平台运行。
4. 迭代更新仅做增量修改,禁止全局重写代码,保证原有功能稳定。
5. 程序报错直接输出修复后完整代码,无需反问、无需多余解释。

3.2 架构设计提示词(前置规划,拒绝无序编码)

# 二、架构设计要求
先为【全平台 HTTPS 抓包工具】设计清晰的项目架构,确认后再进行代码开发:
1. 输出完整项目目录结构;
2. 划分五大模块:GUI界面、代理服务、抓包核心、工具函数、全局配置;
3. 明确主程序、mitmproxy插件、数据通信格式与整体数据流向;
4. 架构方案确认无误后,再启动代码生成。

3.3 项目代码生成提示词

# 三、项目生成要求(架构确认后执行)
## 技术栈
Python + mitmproxy + tkinter

## 功能要求
1. 支持HTTPS报文自动明文解密;
2. 适配PC、安卓、iOS全平台抓包;
3. 可视化界面实时展示接口请求列表、请求头/响应头、请求体/响应体;
4. 支持域名白名单、关键词、请求方法、状态码多条件组合过滤;
5. 支持抓包日志导出、证书目录快速打开、本机局域网IP展示;
6. 代理服务一键启停,自带端口检测,关闭后无后台残留进程;
7. 代码具备异常捕获能力,线程安全,长时间运行不崩溃。

## 输出要求
1. 严格按照既定架构分文件输出源码;
2. 单一文件单一职责,代码可读性高;
3. 附带依赖清单、启动命令;
4. 配套移动端代理与证书安装教程。
阶段作用核心关键词
全局开发规则约束AI行为增量修改、模块化、禁止重写
架构设计提示词前置规划目录结构、数据流向、模块划分
项目代码生成提示词功能落地技术栈、功能清单、输出规范

3.4 进阶技巧:约束大模型过度自主修改

实际开发中发现,大模型容易自主额外修改代码、重构界面,引入未知BUG。因此需要额外增加约束提示词,明确AI能做什么、不能做什么

# 约束条件(强制生效)
1. 所有迭代仅做增量修改,禁止重写已有代码;
2. 新增功能独立新建文件,不改动原有项目结构;
3. 不修改已稳定的接口逻辑与数据流向;
4. 需求不明确时,以最小改动原则实现功能;
5. 修复BUG仅改动异常代码片段,不影响其他正常模块。

效果对比:无约束时,小幅功能需求会引发全局代码重构,新增多处BUG;增加约束后,AI仅针对性修改对应模块,原有代码完全不受影响。

四、提示词落地:代码生成、验收与迭代

三段式提示词在豆包那里打磨好后,下一步就是把提示词喂给Trae IDE,让它生成完整项目代码

4.1 给Trae IDE投喂提示词

操作很简单:

  1. 打开Trae IDE,新建一个项目文件夹
  2. 把豆包帮你生成的三段式提示词(全局规则 + 架构设计 + 项目生成要求)一次性粘贴到对话框
  3. 等待Trae IDE分析提示词并生成代码

过程截图

注意事项

  • 提示词要一次性完整粘贴,不要分段发,否则AI可能理解不完整
  • 生成过程中不要打断,等AI全部输出完再验收,中间会有多次询问,选是/运行即可

4.2 验收三步走

Trae IDE生成代码后,不要急着运行,先做三步检查:

第一步:看目录结构 确认AI生成的文件目录是否和架构设计一致,模块是否按预期拆分。

第二步:看依赖清单 检查是否生成了requirements.txt或类似的依赖文件,确认技术栈是否正确。

第三步:按运行说明启动 按照AI附带的运行命令,安装依赖、启动程序,看是否能正常运行。

4.3 运行后的迭代优化

4.3.1 运行报错怎么办

第一次运行大概率会报错,这很正常。处理方式:

  1. 直接复制完整报错信息,粘贴给Trae IDE
  2. 加一句简单描述:"报错了,帮忙修复"
  3. Trae IDE会分析报错并给出修复后的代码
  4. 替换对应文件,重新运行

不需要懂代码、不需要看报错原因,直接把报错丢给AI就行。这是零代码开发最核心的技巧。

💡 进阶技巧:遇到复杂报错时,可以在Trae IDE中调用 TRAE-debugger 技能(在对话输入框输入 / 即可选择)。它会自动采集运行时日志、定位根因并给出修复方案,比自己复制报错信息更精准高效。

4.3.2 功能不符怎么办

有时候代码能运行,但功能和你想要的不一样。比如:

  • 你要的是"组合过滤",AI做成了"单选过滤"
  • 你要的是"树形结构",AI做成了"平铺列表"

这时候只需要用大白话重新描述差异

"过滤功能不对,我要的是同时支持关键词、方法、状态码组合筛选,不是只能选一个。"

Trae IDE会根据你的描述调整代码,直到符合预期。

4.3.3 界面不好看怎么办

Trae IDE默认生成的界面可能比较简陋。直接提UI优化需求即可:

"界面太丑了,调整一下布局,间距大一点,字体好看一点。"

AI会优化控件间距、统一字体、调整分区布局,不需要你懂前端知识。

💡 进阶技巧:如果想一步到位做出更精致的界面,可以调用 Trae IDE 的 frontend-design 技能(在对话输入框输入 / 即可选择)。它能输出更专业的前端设计和布局方案,避免反复微调。

五、自研工具成品能力展示

5.1 双视图切换(对标Charles使用习惯)

Structure结构视图:按域名、接口路径分层展示,可折叠归类,方便梳理整条业务链路接口。

Sequence时序视图:按请求时间线性展示,一行直观展示请求方式、URL、状态码、请求耗时,快速定位异常请求。

5.2 人性化流量高亮

新增请求自动蓝色高亮,历史请求自动置灰;仅具体接口节点高亮,上层域名与目录保持原色,清晰区分新旧网络流量。

5.3 移动端扫码一键配网

内置二维码生成功能,手机扫码可直接查看代理IP与端口、一键下载对应系统HTTPS证书;针对安卓设备,额外支持证书内容一键复制,简化移动端抓包配置流程。

5.4 核心功能对照表

功能模块功能说明测试场景价值
域名白名单自定义展示指定域名流量屏蔽埋点、第三方无关流量,规避敏感数据泄露
多条件智能过滤关键词、请求方法、状态码组合过滤快速筛选4xx/5xx异常接口,提升问题排查效率
完整报文查看查看全量请求、响应报文无需额外解密,直接定位接口参数与返回值问题
抓包日志导出本地保存完整抓包记录用于BUG复盘、跨团队问题同步归档
自动化证书管理自动生成根证书,扫码快速安装降低HTTPS抓包配置门槛,无需了解证书底层原理

5.5 工具落地价值

  • 开源免费无版权风险,企业内网可放心使用;

  • 本土化可视化界面,告别命令行操作,贴合测试使用习惯;

  • 扫码极简配网,大幅降低移动端抓包配置成本;

  • 分层视图+流量高亮,接口问题排查效率优于传统工具。

六、实战感悟:AI时代QA的核心竞争力

  1. 需求表达能力远比代码能力重要:AI时代,开发的核心是清晰描述需求而非手写代码。QA日常梳理测试场景、精准描述BUG的能力,天然适配AI协作开发。

  2. Vibe Coding抹平技术门槛:无需掌握编程语法、框架原理,只要明确自身功能诉求,即可依托AI完成工具开发。

  3. AI协同模式可批量复用:AI生成提示词+AI编写代码的双AI协作模式,可复用在所有测试小工具开发场景中。

  4. 提示词需要持续迭代优化:不存在万能提示词,结合验收反馈不断微调,才能让代码完全贴合业务需求。

  5. 测试验收与问题洞察能力不可替代:AI可以快速生成代码,但无法感知业务痛点、发现隐性BUG。懂业务、会验收、能精准反馈问题,依旧是QA不可替代的核心壁垒。

写在最后

抓包工具只是一个缩影。接口比对工具、日志分析脚本、简易自动化工具,所有测试日常所需的效率工具,零代码QA都可以依托这套Vibe Coding流程自主开发。

AI不会替代测试人员,但会使用AI的测试人员,会逐步拉开职场差距。

互动交流:你日常工作中常用哪款抓包工具?还有哪些测试工具想要自研?欢迎评论区留言讨论。