Opus 4.7 使用体验

大家好,我是 uni-app 的核心开发 笨笨狗吞噬者,欢迎关注我的微信公众号 前端笨笨狗

感想

不得不说,ai 发展的实在太快了,去年我入职 uni-app,一年中的大部分时间还是在手搓代码,就是网上说的 古法编程,一方面是对 ai 的能力仍有质疑,觉得对于框架维护,ai 不懂,另一方面是体验了一些模型,感觉能力不是很强。公司这边也是大力支持使用 ai,同事甚至一天提交了一百多个 commit

上周我在家用 gpt-5.4ai 写了 https://github.com/uni-toolkit/uni-toolkit/tree/main/packages/vite-plugin-component-insight 插件,我写好了 md 文件之后,就去打王者荣耀去了,大概个把小时之后,它已经写出来,并且按照我的要求先用原生微信小程序做测试和验证,然后再用 uni-app 项目做了测试和验证,这个活以往我可能要做大概一半天,现在再看看,我基本上什么编码工作都没有做(简单修改了一下 readme)。

现在我的工作,基本上百分之八九十都是交给 ai 编写或者作决策,比如我需要修复框架的问题,我会告诉 ai,现在的问题是什么,我的修复思路是什么,具体该修改什么文件,等它改完了之后,我再来 review,看下代码修改是否合理。

有时候真不明白要我干啥了,emmmmmm....

skill

前段时间,我创建了 https://github.com/uni-toolkit/skills 项目,用来存放针对 uni-app 主包瘦身的 skills。今天就想着来再试试 Opus 4.7 的能力,同时也验证下我的 skills 是否正确,能否给开发者提供足够合理的建议,下面分享下我的测试流程

前置工作

我一般使用 ai 做某个任务的习惯时,先写个 md 文件,比如我现在的需求是验证 uniapp-subpackage-node-modules 的正确性, md 文件如下:

markdown 复制代码
# 需求

验证 `uniapp-subpackage-node-modules` skill 的正确性

## 步骤一

### 需求

主包中加一个页面,创建两个分包页面,主包可以分别跳转到分包页面。页面要有一个组件示例,每个组件或者页面都要添加 rattail 工具函数的示例

### 注意事项

- 页面不要太复杂
- 使用的 rattail 版本为 1.0.8 
- 工具函数可以选一部分简单的,一部分复杂的
- rattail 官网是 https://rattail.varletjs.org/zh/getting-started.html

## 步骤二

### 需求

`https://github.com/uni-toolkit/skills/tree/main/skills/uniapp-subpackage-node-modules` 这个是要验证的skill,你把skill应用到这个项目中,同时跑一下 skill,把你觉得项目应该修改的地方写成一个 md 文件到项目的根目录

### 注意事项

- 不要修改项目的原逻辑,仅安装skill,应用skill,输出分析信息

## 步骤三

参考上述分析得到的日志,如果这个项目可以优化,你可以根据 skill ,优化下这个项目产物生成

### 注意事项

- 不要添加无关依赖和逻辑
- 分包用到的 rattail 函数应该打包到分包中,注意验证这个

指挥 ai

md 文件的内容写的差不多之后,我会让 ai 按照步骤进行工作,分步骤的目的是防止 ai 一下修改出来太多东西看不过来(吐血经历,之前让 aihttps://github.com/uni-toolkit/uni-toolkit/tree/main/packages/vite-plugin-component-insight,review 累死人)

我这个项目是主包分包都用到了 rattail 工具库的函数,hx 5.04 版本开始,hx 项目或者 cli 项目支持分包引用的 node_modules 依赖打包到分包中,我想分包用到的函数打包到分包中,ai 应用了 uniapp-subpackage-node-modules 之后,

输出了一份详细的诊断报告(大概两百多字,本文仅展示部分内容)

markdown 复制代码
# Skill 分析报告:`uniapp-subpackage-node-modules`

> 本文件由 `uniapp-subpackage-node-modules` skill 应用于当前项目后自动输出。
> 目的:验证 skill 的正确性,分析项目在「分包 node_modules 归属」上的现状与风险,**不直接改动项目原逻辑**。

- Skill 源:<https://github.com/uni-toolkit/skills/tree/main/skills/uniapp-subpackage-node-modules>
- 已安装到:`.cursor/skills/uniapp-subpackage-node-modules/`
  - `SKILL.md`
  - `references/node-modules-subpackage-rules.md`
  - `agents/openai.yaml`

---

## 一、诊断结论(TL;DR)

- **属于问题域**:是。项目确实存在「分包 js 未进入分包 `vendor.js`、仍全部留在主包 `common/vendor.js`」现象。
- **是否满足 uni-app 内置分包优化前提**:**否**。命中 3 条直接不符合项:
  1. `manifest.json` 的 `mp-weixin` **未开启** `optimization.subPackages`
  2. `packageA`、`packageB` 根目录 **没有独立的 `package.json`**
  3. 目标依赖 `rattail` **被主包 + 多个分包同时引用**,属于「共享依赖」,按规则不适合进入单分包 `vendor.js`
- **更像是哪类原因**:**配置未开启 + 依赖划分不合理**(双重原因)。即便开了配置,当前 `rattail` 的引用链也会把它拉回主包,这是符合官方优化规则的正常结果。

---

ai 很好地分析出了可优化点,并且我们还可以让它根据分析日志做保守修改

修改前,rattail 的函数都被打包到了 common/vendor.js

修改后,分包的内容都被打包到了分包中

相关推荐
No8g攻城狮2 小时前
【前端】Vue 中 const、var、let 的区别
前端·javascript·vue.js
文心快码BaiduComate2 小时前
Comate搭载Kimi K2.6,长程13h!
前端·后端·程序员
豹哥学前端2 小时前
新手小白学前端day4: Position定位
前端
fishmemory7sec2 小时前
Vue大屏自适应容器组件:v-scale-screen
前端·javascript·vue.js
饺子不吃醋2 小时前
Promise原理、手写与 async、await
前端·javascript
PILIPALAPENG2 小时前
第3周 Day 2:Function Calling —— 让 Agent 听懂人话,自己干活
前端·人工智能·python
袋鼠云数栈UED团队3 小时前
基于 OpenSpec 实现规范驱动开发
前端·人工智能
JarvanMo3 小时前
GetX 作者的 GitHub 账号被封,又默默恢复了——但问题远没有解决
前端
大黄说说3 小时前
HTML5语义化标签:从div到article与section的进化之路
前端·html·html5