最近社区里讨论度很高的 Jev,我花了一周时间把它正式接进了我的自动化测试和运维流程。先把结论放这里:Jev 不是一个聊天机器人,它不会和你寒暄,不会解释为什么,甚至不会“说话”——它只负责把任务描述变成能直接跑的东西:Playwright 脚本、pytest 用例、Ansible Playbook,或者一条 SSH 同步命令。这种“不说废话、只出活”的 AI 模型,正好卡在自动化的关键痛点上。这篇文章不是官方文档,是我基于本地实测的入手指南,包含部署、接入 IDE、自动化测试实战、跨设备文件传输和常见坑,适合正在做接口自动化、UI 自动化、运维脚本的朋友参考。

1. Jev 是什么:一个不聊天的 AI,为什么反而更适合自动化

1.1 传统对话式 AI 做自动化的三个磕绊

我最早尝试过用 DeepSeek、Claude 这类通用大模型生成测试脚本。流程一般是:描述需求 → 得到解释和代码 → 复制进工程 → 跑不通 → 再贴报错回去问 → 反复几轮。表面上能用,实际上一旦任务稍微复杂一点,效率就掉得厉害。

第一个磕绊是上下文窗口的浪费。模型花了大量 token 在解释思路、强调注意事项、甚至跟我寒暄,真正留给可执行脚本的 token 占比不高。第二个问题是输出不稳定。同一个任务换个说法,生成的代码结构可能会变,导致自动化脚本很难维护。第三个问题是多轮对话的“确认陷阱”。通用模型总想跟你确认细节,而不是基于环境信息自己做出合理假设并给出完整方案。几句话来回,时间就过去了。

我需要的不是“能聊天的 AI”,而是一个“能直接产出可执行产物”的模型。Jev 就是这种思路下的产物。它不会跟你解释“我建议你这样做”,它只会输出一个结构化计划,再把计划变成可运行的脚本或命令。这种交互方式一开始很别扭,但用习惯之后你会发现,这才是自动化场景真正需要的模式。

1.2 Jev 的核心定位:Action Model

Jev 官方给自己的定位是 Action Model,不是 Chat Model。输入是任务描述、环境约束、目标地址、业务规则;输出是一个 JSON 格式的“行动计划”,紧接着是一段可以直接执行的代码、命令或配置文件。整条链路里没有自然语言聊天,只有“任务进、产物出”。

这种设计有个很直接的好处:token 全部花在执行逻辑上。我实测生成一个 200 行左右的 Playwright 脚本,Jev 只输出一个简洁的 JSON 计划和完整代码,没有“好的,我将为你...”这类废话。输出长度里可能只有 5% 是解释性文字,其余都是干货。

它在社区里讨论得最多的特征是:开源、可本地部署、不依赖第三方 API。这也对应了大家搜到的“jev模型开源吗”“jev模型官网”“没有限制ai模型”这些问题。开源意味着你可以在内网部署,把测试数据、业务系统地址、密钥这类敏感信息留在本地;所谓“没有限制”,我的理解是本地部署后没有 API 调用次数限制、没有上下文长度被服务商卡死的问题,而不是说可以无限制做越狱操作。

1.3 和 LLM、Agent 框架的区别:Jev 到底属于哪一层

热词里有一句“agent 和 llm 和 ai模型 有什么区别,比如常说的deepseek是属于哪个”,这个问题我直接用一个对比表说清楚。

概念 典型代表 核心能力 在自动化链路中的角色
LLM(大语言模型) DeepSeek、GPT、Claude 理解自然语言,生成文本、代码 聊天、推理、需求分析
Action Model(动作模型) Jev 将任务描述转化为可执行计划与脚本 直接生成自动化产物
Agent(智能体框架) LangChain、AutoGen 等 调用模型和工具,循环执行任务,进行多步决策 编排模型、工具、记忆

DeepSeek 属于 LLM,Jev 不是要替代这一类模型,而是把自己定位成更底层的“动作生成器”。你仍然可以用 DeepSeek 做需求分析、解释报错、整理测试场景;然后把这些分析结果作为任务描述输入给 Jev,让它产出最终脚本。我实际工作里是把两者串起来用的:DeepSeek 负责任务拆解和评审,Jev 负责把拆好的子任务变成可执行脚本。两者不冲突。

Agent 框架则是另一层东西。Agent 本身需要有一个模型来承担“规划”和“执行”的脑力工作,Jev 可以作为 Agent 内部的动作生成模块存在。后面我会单独讲怎么把 Jev 塞进自建 Agent。

2. 部署与接入:从下载模型到跑通第一个任务

2.1 部署前的准备:硬件与软件

Jev 目前主要提供两个版本:一个是 7B 参数的量化版,适合普通开发机;另一个是 30B 左右的满血版,适合有独立显卡或大内存的机器。我本地用的是 7B 量化版,量化精度选了 q4_k_m,内存占用大约 5GB,跑普通自动化脚本生成任务完全够用。

硬件方面的底线是:CPU 加 16GB 内存可以跑最基础的量化模型,速度偏慢但能用;如果常用 Apple Silicon 的 Mac Studio 或 NVIDIA 12GB 显存的机器,体验会好很多。这里说一句:Jev 的模型文件比较大,建议预留至少 10GB 磁盘空间,量化版大概 4GB 到 6GB,满血版接近 20GB。下载时走模型托管平台的加速域名或者内网镜像,会省很多时间。

软件方面主要是 Python 3.10 以上版本,以及 git-lfs (拉大文件需要)。安装 Jev 的命令很简单:

pip install --upgrade "jev[local]"

装完之后可以用 jev version 验证。如果你在公司内网部署,建议提前把 pip 源切到内网镜像,否则依赖拉取会很痛苦。

2.2 获取模型和密钥:开源不等于不用配置

很多朋友搜“jev密钥”多半是在官网上看到要填 API Key。这里我说明一下:模型权重本身开源,所谓密钥是用来从官方模型仓库下载受控文件的凭据,同时也可以作为本地服务的鉴权 token。简单说,如果你是个人用、离线部署,可以不填密钥;但如果你想通过 Jev 的网关下载模型、或者让 IDE 插件连接本地服务,就需要配置一个密钥。

我在官网注册后,在个人面板里生成了一个 sk- 开头的密钥。然后执行:

jev configure --repo jev-org/jev-7b-action --apikey sk-xxxxx

配置完成后拉取模型权重:

jev pull jev-7b-action:q4_k_m

拉取完可以用一个最简单的任务验证模型是否正常工作。Jev 的 CLI 提供了交互式任务模式:

jev run --task "把 /tmp/data.csv 按第三列降序排序,输出到 /tmp/result.csv,并生成一个 Python 脚本"

这时候 Jev 输出的不是聊天回答,而是 JSON 格式的行动计划和一段 Python 代码。看到 JSON 和代码基本就说明部署成功了。

2.3 让 Jev 输出规范化:任务的输入结构很重要

Jev 的能力很依赖任务描述的结构化程度。直接丢一句“帮我做一个自动化测试”它也能跑,但产出的东西往往不够具体。我建议在输入任务时固定包含四个部分:目标、环境、约束、交付物。比如:

{
  "goal": "对登录接口做冒烟测试",
  "environment": "http://127.0.0.1:8080, Python 3.10, pytest 7",
  "constraints": ["只生成 pytest 用例", "使用 requests 库", "不处理验证码"],
  "deliverable": "test_login.py 和运行说明"
}

这段结构化输入会显著提高 Jev 的输出质量。它不会反过来问你要更多信息,而是基于已有上下文做合理假设。如果你的环境里有接口文档或页面 URL,也可以直接附上,它能自动解析并生成相关内容。这是我用下来的第一个经验: 给 Jev 的输入越像工单,它的输出越像可直接上手的代码。

2.4 在 VS Code 里接入 Jev 模型

热词里出现“vs code连接ai模型”,这应该是很多人最关心的接入方式。Jev 可以直接通过 OpenAI 兼容接口暴露出来,因此 VS Code 里支持自定义模型的插件都能连。我的做法是装一个支持 OpenAI 兼容协议但通用的 AI 插件,然后在设置里配置模型供应商。

{
  "ai.customOpenAI.endpoint": "http://127.0.0.1:8000/v1",
  "ai.customOpenAI.apiKey": "sk-xxx",
  "ai.customOpenAI.model": "jev-7b-action",
  "ai.customOpenAI.isChat": false
}

关键点是 isChat: false 。因为 Jev 不会聊天,如果你用普通的对话插件直接连它,会发现它在对话窗口里不回复任何内容,或者只输出一段任务计划。正确的用法是:在插件中选择“生成/执行脚本”这类动作,让插件调用 Jev 的行动生成接口。

如果在 IntelliJ IDEA 里,操作类似。IDEA 圈子常搜“idea上自定义模型供应商的ai插件”,大部分插件都支持配置 OpenAI 兼容端点,把 Base URL 填成 Jev 的本地服务地址,模型名填 jev-7b-action ,保存后在生成代码时选择这个供应商就行。注意选择“非对话模型”模式,否则会出现无响应。

3. 自动化测试实战:接口、UI 与移动端

3.1 接口自动化:用 Jev 生成 pytest 用例

先从一个我每天都在做的场景说起:给后端接口写 pytest 用例。传统方式是我们手工把接口文档翻译成代码,遇到重复性高的参数校验、状态码校验、边界值测试,劳动量很大。Jev 可以直接把接口描述转换成 pytest 文件。

我给它输入了一段登录接口的 OpenAPI 描述,附加约束“生成 pytest 用例,使用 requests,不依赖外部数据文件”,它返回的是这样的骨架:

import requests
import pytest

BASE_URL = "http://127.0.0.1:8080"

def test_login_success():
    resp = requests.post(f"{BASE_URL}/api/login", json={
        "username": "admin",
        "password": "admin123"
    })
    assert resp.status_code == 200
    assert resp.json()["code"] == 0

def test_login_wrong_password():
    resp = requests.post(f"{BASE_URL}/api/login", json={
        "username": "admin",
        "password": "bad"
    })
    assert resp.status_code == 200
    assert resp.json()["code"] == 1001

直接用 pytest 跑,能过。当然,真实项目里的接口没有这么简单,但 Jev 最大的价值是把重复性的骨架代码和断言逻辑先给你生成好,你再把实际字段、token 获取、测试数据替换进去。相比从空文件开始写,效率至少翻一倍。

我做接口自动化时习惯让 Jev 先生成“计划 JSON”,再回答它“请基于计划生成 pytest 文件”。这样它不会把多个步骤揉在一起,生成的代码也更容易审查。直接把任务丢给它、然后不经检查就在 CI 跑,风险太高,不建议这么做。

3.2 UI 自动化:用 Jev 生成 Playwright 脚本

热词里多次出现“playwright自动化工具”,这也是 Jev 最擅长的方向之一。我实测过让 Jev 生成“打开某个管理系统、登录、进入用户列表、搜索用户名、校验结果”的完整流程。给它输入页面地址和一些元素标识,它会在几十秒内输出一段可运行的 Python Playwright 脚本。

因为 Jev 不擅长“看见”真实页面,它生成选择器时会依赖你提供的 data-testid 或 HTML 结构描述。我现在的经验是:在给 Jev 任务前,先手动从页面里抓几个稳定的选择器,写进约束里。比如告诉它“登录按钮的 data-testid 是 login-submit”,它生成的代码基本一次就能跑通。

如果你用的是 Playwright CLI 模式,也可以把 Jev 生成的 JSON 计划交给 playwright-cli 去执行,这样可以跳过代码生成环节。Jev 的 JSON 计划里本身包含了 action 序列: goto 、 click 、 fill 、 wait_for_selector 等,和 Playwright 的 API 一一对应。这种结构非常适合在 Agent 框架里被其他工具解析执行,而不是每次都生成完整代码。

3.3 移动端自动化:Appium 场景下的用法

做完 Web 端,我试着让 Jev 生成 Appium 脚本。这个场景比 Playwright 更复杂,因为涉及设备启动、上下文切换、元素定位策略。我给 Jev 的任务里明确写了“使用 Appium Python 客户端,desired capabilities 使用平台 Android,自动处理等待”,它生成的代码会包含 webdriver.Remote 连接、 implicitly_wait 等基础逻辑。

移动端自动化最大的坑是元素定位不稳定,Jev 生成的脚本如果缺少等待逻辑,很容易在页面上弹出动画时找不到元素。所以我现在都会额外加一条约束:“所有关键操作前使用 WebDriverWait,超时 10 秒”。这样生成出来的代码稳定性明显提升。Jev 不是银弹,它生成代码的质量上限,基本取决于你任务描述里对真实场景的还原程度。

3.4 接入 Jenkins:把 Jev 固定进 CI 流程

自动化测试脚本写出来后,下一步自然是接入持续集成。我自己会做两层:第一层是使用 Jev 在本地“辅助编写”测试用例,人工 review 后提交到代码仓库;第二层是在 Jenkins 里部署一个定时任务,每天夜里跑这些固定用例。这里有一个重要原则: 不要让 Jenkins 每次都现生成脚本,而是让它跑已经提交的脚本。 否则模型输出只要有微小波动,就会导致 CI 结果不稳定。

Jenkins 本身更多是执行器角色。你可以用 Jev 生成一个 Jenkinsfile 或者一段 pipeline 脚本,里面定义好 Python 环境、pytest 执行路径、报告收集目录。我把这个需求扔给 Jev,它会返回类似这样的流水线配置:

pipeline {
    agent any
    stages {
        stage('Test') {
            steps {
                sh 'python -m pytest tests/api -v --junitxml=result.xml'
            }
        }
    }
    post {
        always {
            junit 'result.xml'
        }
    }
}

这种配置抄来就能用。但我还是建议流水线文件做好版本管理,因为 Jenkins 的老版本和新版本在插件语法上有差异,Jev 默认生成的是通用版本,你需要根据自己 Jenkins 版本微调。

3.5 顺带说一句:自动化测试工程师怎么用 AI 准备面试和日常

热词里有“自动化测试面试题”“自动化测试工程师工作实战”。我个人的看法是,不要拿 Jev 去背面试题,那是聊天模型更擅长的事情。Jev 更适合做“现场实战题”:比如面试官给你接口文档或一个页面需求,你用 Jev 快速生成测试框架雏形,然后现场改造成可运行脚本。这种过程能直接展示你的工程判断力——哪些要保留,哪些要改,为什么。工具永远只是加速器,真正的能力在你自己身。

4. 自动化运维与跨设备场景:SSH 传输、Ansible 与代理助手

4.1 通过 SSH 实现 Ubuntu 到 Windows 的文件自动传输

热词里有一条很具体的需求:“ssh工具实现自动化传输ubuntu传输文件到windows”。我用 Jev 解决过几回,可以直接说结论:它能生成 scp 命令,也能生成更复杂的 Python 脚本。关键点在于 Windows 上的 OpenSSH 服务端要提前启用,且目录权限要正确。

第一种方式最简单,适合临时传文件:

scp -P 2222 ./backup.tar.gz admin@192.168.1.20:D:/backup/

注意 Windows 路径在 scp 命令里最好写成 D:/backup/ ,不要用反斜杠,否则 shell 会把 \b 当成转义符。这个坑我踩过,经验是:Jev 默认生成的 Windows 路径用的是正斜杠,这是一件好事,别手动改回去。

第二种方式是生成一个 Python 脚本,用于定时任务或带校验的批量推送。Jev 生成的脚本会用到 paramiko 或 pscp 。比如:

import paramiko

ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect("192.168.1.20", port=2222, username="admin", password="123456")
sftp = ssh.open_sftp()
sftp.put("/home/backup.tar.gz", "D:/backup/backup.tar.gz")
sftp.close()
ssh.close()

Jev 生成这类脚本时会自动加上主机密钥策略处理和连接关闭逻辑,这说明它确实看过不少实际工程代码。不过我还是建议你在生产脚本里把明文密码改成密钥登录,这是安全底线。Jev 生成的连接参数可以保持不变,把 password 换成 key_filename 即可。

4.2 用 Jev 生成 Ansible Playbook,批量做自动化运维

热词里有“ansible自动化运维”。Jev 在这个场景里也很顺手。我给它的任务是“对 10 台 Ubuntu 服务器批量创建用户、安装 nginx、修改时区”,它生成了一段标准的 Playbook:

- hosts: webservers
  become: yes
  tasks:
    - name: Create deploy user
      user:
        name: deploy
        state: present
        shell: /bin/bash
    - name: Install nginx
      apt:
        name: nginx
        state: present
        update_cache: yes
    - name: Set timezone
      timezone:
        name: Asia/Shanghai

这段 Playbook 可以直接跑。不过 Jev 也会犯一个典型错误:在 Red Hat 系机器上生成 apt 命令,或者在 Ubuntu 上生成 yum 。所以我在输入任务时都会显式写明操作系统和包管理器,比如“Ubuntu 22.04,使用 apt”。模型不存在记忆长期性的问题,但它对上下文里的关键约束很敏感。只要你写了,它基本不会跑偏。

4.3 AI 代理助手加本地模型:怎么实现“没有限制”的调用

热词中的“ai代理助手加本地模型”指的是把 Jev 作为本地模型后端,供各类代理工具和 IDE 插件统一调用。我目前是这样跑的:启动一个 Jev 本地服务,端口 8000,支持 OpenAI 兼容协议,然后在代理助手里把模型来源指向本地端点和模型名。

jev serve --host 127.0.0.1 --port 8000 --model jev-7b-action

本地服务启动后,终端里能看到每次请求的耗时和 token 消耗。这种模式下没有第三方服务限流,也不会有“排队中”,只要机器资源够,可以同时被多个工具调用。我在 VS Code、IDEA、自写脚本里都配了同一个本地端点,使用起来很统一。

需要说明的是,“没有限制”不等于“没有边界”。本地部署同样要遵守开源许可协议和所在组织的安全规范。你可以自由调用自己部署的模型,但不意味着能把它用于未授权扫描、绕过登录、非法抓取数据等违规场景。工具本身没有价值观,使用边界靠人。

4.4 安全场景:授权范围内的自动化扫描脚本

热词里有“ai自动化挖漏洞脚本”,我这里必须把边界说清楚:自动化扫描、漏洞验证脚本只能用于你自己拥有或有书面授权的系统。Jev 能帮你生成基于请求模板的扫描插件、参数模糊测试脚本,但前提一定是授权。我试过让 Jev 生成一个简单的目录枚举和参数遍历脚本,它输出的是 Python 工具,并且会自动在代码里提示“请确保你有权限测试该系统”。它不会生成绕过 WAF 或攻击性的负载,这是个好设计。

在授权渗透测试里,Jev 的作用主要是减少重复体力活:比如批量替换 Header、枚举 API 参数、收集状态码变化的脚本。这类工作以前要手写模板,现在用自然语言描述就能生成。但真正的漏洞挖掘仍然依赖对业务逻辑的深入理解,这部分 AI 目前替代不了。

5. 常见问题与排查技巧实录

5.1 密钥报错或者模型拉不下来

我用过的错误有几种。最常见的是 401 Unauthorized ,原因一般是密钥没配好或者 repo 名字打错。可以先执行 jev configure --show 看一下当前配置里的仓库地址,再确认密钥没有多余空格。另一个常见问题是拉模型时网络超时,尤其当你使用默认源从境外地址下载时。解决办法是配置镜像源:在配置里把模型仓库地址改成国内可访问的镜像,或者用 wget 手动把模型文件下载到本地模型目录。

还有一次我遇到模型文件下载到一半中断,导致校验失败。重新拉取不行,最终把本地缓存目录清掉才解决。所以如果你遇到“模型损坏”或“checksum mismatch”,优先清理缓存目录,再重新拉取。

错误表现 可能原因 解决思路
401 Unauthorized 密钥错误或权限不足 jev configure 重新配置
下载超时 网络不稳定或镜像未配置 配置镜像源,分块下载
模型加载后直接退出 显存不足或内存不足 改用 q4_k_m 量化版,降低并发
输出为空 输入任务格式不完整 使用结构化 JSON 输入

5.2 生成的脚本第一次跑不通:先从定位器和等待排查

Jev 生成的 UI 自动化脚本第一次跑不通,大概率不是模型逻辑问题,而是环境差异。最常见的三类:一是页面元素选择器过期,二是缺少等待逻辑,三是动态渲染导致元素刚出现但不可交互。

我的排查顺序是:先看报错停在哪个动作,再打开浏览器 DevTools 看那个元素在当前页面是否可定位,如果可定位但点击不了,多半是等待不够。这时候可以把 Jev 生成的 wait_for_timeout 改成显式等待,或者增加一条 expect(locator).to_be_visible() 之类的断言。Jev 本身也支持在任务描述里写“使用页面加载完成后才操作”,能稍微减少这类问题。

5.3 上下文过长导致输出截断

Jev 的模型窗口虽然不小,但你如果在一个任务里塞进几十个接口的文档,照样会上下文溢出,或者输出内容在中途被截断。我踩过几次之后总结的办法是:把大任务拆成多个子任务,每个子任务只处理一个模块,生成代码后由我拼装。比如接口测试里,登录模块单独一个任务,订单模块单独一个任务,最后统一组织目录结构。

这样拆的好处不仅仅是避开 token 限制,还能让每个脚本高度内聚,review 起来也更轻松。模型生成单元级别的代码,准确率远高于生成一整个系统级套件。

5.4 配套的图片或声音模型生成质量突然变差

热词里有一句“ai模型生成图片时突然间质量特别差是为什么”,顺带说一句:如果你用 Jev 写脚本调度本地 Stable Diffusion 或 TTS 模型,偶尔会遇到质量下降。这通常不是 Jev 的问题,而是扩散模型或语音模型的采样参数变化、模型被切换了权重、或者显存不足导致自动降低精度。

排查时先看日志里有没有显存溢出或 fallback 到低精度模型,再看采样器、步数、CFG 这几个关键参数是否被脚本无意改动。Jev 生成的调度脚本里默认不会调整这类参数,但如果你在任务描述里提到“固定随机种子”,它可能会加上 generator 参数。固定住种子确实能让结果更可控,但不同版本的扩散模型对相同种子的还原度不一样,所以视觉效果会波动。

“锁住和未锁住”这个词用在这里也很贴切:锁住参数意味着固定随机种子、固定采样参数,未锁住则允许每轮动态变化。自动化任务里如果对稳定性要求高,必须把关键参数锁住。Jev 的输出计划里有时会直接标出哪些参数是“locked”,哪些是“free”,这其实是模型对执行逻辑的一种抽象,非常实用。

5.5 ID 冲突和端口被占用

如果你同时开了多个 Jev 服务,或者别的程序占用了 8000 端口,本地连接会失败。我遇到过 VS Code 插件连不上,一查是端口被之前残留的进程占了。解决办法是换端口启动:

jev serve --host 127.0.0.1 --port 8001 --model jev-7b-action

然后插件设置里的 Base URL 改成对应的新端口。这个问题虽然简单,但排查起来容易绕远。我现在每次启动前会习惯性执行 lsof -i :8000 看看端口状态,省很多事。

6. 我实际用下来的几点心得

6.1 学会把 Jev 当成“最后一步编译器”

Jev 不适合从头帮你想业务方案,它更像“最后一步编译器”:你负责把需求、环境、约束讲清楚,它负责把可执行的脚本压出来。所以我现在的工作流是:先用通用 LLM 做需求分析,再由 Jev 产出代码,最后我做 code review。这套流程里 Jev 的失误率明显低于直接让聊天模型写完整脚本,因为它不会插入多余解释,也不会因为对话历史太长而遗忘初始需求。

6.2 和自建 Agent 框架组合使用

如果你已经在 LangChain 或自建 Agent 框架里干活,可以把 Jev 包成一个“动作工具”。比如有一个任务需要“从 MySQL 导出数据 → 生成日报 → 发给企业微信机器人”,传统 Agent 每一步都要调用 LLM 推导,但每步的代码逻辑其实是高度重复的。用 Jev 作为动作模型,输入当前环节的结构化描述,直接产出该环节的脚本,然后由 Agent 去执行。这样 Agent 的 token 消耗会小很多,执行也更稳定。

我这里有一个很简单的伪代码结构:

from jev import JevClient

jev = JevClient("http://127.0.0.1:8000", api_key="sk-xxx")
plan = jev.plan(
    "用 paramiko 从远程服务器下载 log 文件,保存到本地 logs/ 目录",
    environment="Ubuntu 远程服务器,Windows 本地",
    constraints=["使用密钥登录", "超时 60 秒"]
)
execute(plan.script)

自建 Agent 的好处是你能完全控制工具的调用顺序和异常处理,Jev 只负责脑力劳动中的“翻译”部分,非常合适。

6.3 给同样在探索的你一个建议

如果你还没有用过 Jev,第一步不要直接上生产环境。先在本地把模型拉下来,准备一个你熟悉的测试页面或接口,用最简单的任务跑通一遍。感受一下它“不会说话”带来的差异:没有寒暄、没有确认,只有计划和代码。这种交互方式需要适应,但适应之后,你会发现自己越来越依赖它处理重复性的编码工作。

Jev 这类动作型模型正在把自动化的门槛继续往下压。普通测试工程师不用从零写出整个框架,只需要描述清楚目标,再由人去检查和修正。工具很重要,但更重要是你是否清楚自己想要什么。把任务说清楚的能力,在这个模型时代,才是最值钱的技能。

更多推荐