如果你也习惯了打开对话框客气地对AI说请帮我改一下这个函数然后等它回一段带注释的代码再手动粘进编辑器里——你和真正的自动化之间其实还隔着一条旧习惯的护城河。Jev来了这个所谓的不会说话的AI模型正在改写自动化的规则它最反直觉的地方恰恰是不跟你聊天反而把活儿干得更彻底。我第一次在终端敲下一条Jev任务时它一声不吭就自己翻项目、改代码、跑测试、提交commit那一刻我才明白AI模型的下一个战场根本不是回答得更聪明而是执行得更自主。这篇文章不打算做任何产品吹捧就讲我这几周用Jev的真实体验、接入方式、翻车记录以及它怎么把传统的自动化规则从设定路径改成了设定目标。如果你也在关注AI编程代理、自动化效率这类话题这篇应该能给你一些能直接落地的参考。1. 大多数AI助手都在说而Jev在做——从Copilot到Agent的角色迁移1.1 聊天式助手在真实工程里有多累先承认一个事实我不是不爱用AI是不爱跟AI开会。聊天式AI助手刚流行时我每天的工作流是这样的对模型说帮我给订单模块加个缓存它输出一段看起来很完美的Redis代码我粘进项目编译报错缺了某个包我再贴报错给它它道歉并重新输出跑起来之后发现缓存过期策略不对又要继续聊。一个上午过去代码没提交几行对话框倒是滚了好几屏。问题不在于模型写得不好而在于它是给建议的不是完成事情的。真实工程里的体力活根本不是想出一个方案而是把一个方案放进项目里、让它编译通过、让测试变绿。聊天式交互把这些体力活全部留给了我自己。这也是为什么后来我一直对对话式编码有点保留它把AI当成一本会说话的参考书而没有把AI当成流水线上的一双手。1.2 不会说话不是缺陷是产品设计第一次用Jev时我以为自己装错了东西。在终端里敲下任务回车之后它没有任何回复也没有像聊天模型那样输出好的我来帮你分析这个问题。屏幕上一行一行的全是它在操作文件、运行命令的日志。这时候我才意识到不会说话其实是一个非常精准的工程决策。归纳一下它有三层意思。第一层不闲聊。任务运行过程里不会出现这里我建议用A方案你觉得呢这种假客气它默认自己判断、自己负责只在关键节点打日志。第二层不打断。遇到小问题比如某个import路径错了、某个方法签名对不上它会自己修正继续而不是停下来等你决策。第三层不等待。只要没有致命错误它会把一件事做完整写完代码改完测试跑通验证再提交。这种设计彻底改变了交付物的形态聊天助手交付一段代码Jev交付一次变更。1.3 效率重新定义它默认自己搞定一切简单做一张对比表你就能明白差距在哪。对比维度传统聊天助手Jev这类自主代理交互方式一问一答你来我往一句话任务自主执行任务处理输出代码片段集成由你完成直接修改文件集成是任务本身失败处理把报错发给你你再贴回去读取报错后自己修连续失败才回滚验证环节通常由你手动编译/跑测试自动执行测试与静态检查交付物一段建议代码可审查的diff commit这张表里最扎眼的一列是交付物。在日常场景里一段建议代码本身没有价值价值在它被正确放进工程并经受住验证之后。Jev把放到工程里和经受验证这两件事吞进了自己的执行链路这才是效率真正的来源。我举个例子同样做给用户模块的查询加分页聊天助手会给你一个Query对象、一个分页方法和一句记得改调用处哦而Jev会真的把调用处全部改完、把分页参数透传到接口文档和测试用例。我花了几周时间逐渐习惯了这种转变我从帮AI把话翻译成工程行为的人变成了定义目标并审查结果的人。2. 走进Jev的内部一次任务从下发到提交的完整链路2.1 最简使用一条命令完成一次重构看一个最直观的例子。现在我所在的团队还在维护一个老旧的.NET项目最近要求把所有对外接口统一成async风格。以前这件事靠人做很痛苦要找出所有同步方法、评估依赖、改完还要跑一遍回归。现在我在终端里敲jev run 把订单模块的接口全部改成 async/await 风格保持行为不变回车之后它自己就动了。我截了当时的日志先是读取了OrderController.cs和下层Service的引用关系然后开始逐个文件修改中途两次编译不过它自己对着日志修了using和返回类型最后跑通了dotnet test还生成了一个标题为refactor(order): migrate order endpoints to async/await的提交。整个过程大概三分钟。这个体验让我明白一件事对Jev这类模型来说任务不是一个问题而是一个项目。你要做的不是问它怎么办而是告诉它要什么结果。2.2 Plan→Act→Verify→Commit四个阶段拆解结合日志和实测Jev跑一个任务大致可以拆成四个阶段理解这四个阶段对你安排任务非常有帮助。第一阶段是Plan。它会扫描项目目录、识别关键文件、建立任务相关的上下文范围然后生成一个执行计划。你可以让它只输出计划不实际改动很多场景下这个plan就很值钱——相当于免费得到一个资深工程师的改造方案。第二阶段是Act。它按计划逐文件修改每改一个文件都会重新读取相关上下文确保改动之间不冲突。这个阶段日志最密你在终端里看到的就是它在干活。第三阶段是Verify。这是和聊天助手最大的分水岭它会自己跑测试、lint、格式检查甚至调用编译命令。只有验证通过它才会进入下一阶段验证不通过它会回到第二阶段自我修正。第四阶段是Commit。它把变更整理成一个规范的提交带type前缀比如feat、fix、refactor并附上说明。注意默认情况下它不会push更不会直接合入主分支——这个默认行为是安全设计别轻易改掉。2.3 它是怎么看懂项目的很多人好奇一个不会聊天的模型怎么知道该改哪个文件从使用它的反馈来推测它并不是把整个仓库一股脑塞进上下文里硬读而是先做了一层项目级别的理解扫描目录结构、读取关键配置、建立依赖关系再把代码切成语义上的片段建立索引按任务去检索相关部分。这个思路让我想到ViT这类视觉模型一张大图不直接整张扔进网络而是切成patch再处理。Jev对代码的处理也有类似的味道——它不是读全文而是找相关。这也是它能扛住大型仓库的原因哪怕项目有几十万个文件它也只把和任务相关的上下文捞出来而不是把全部代码都算一遍。加上它每次改动之后都会重新读取被影响文件的最新内容等于始终维护着一个围绕当前任务的工作记忆。2.4 失败自愈与回滚机制自主执行最大的风险就是它跑飞了怎么办。实测中它有一套还算可靠的失败处理机制。有一次我让它重构一个老项目里用了jQuery插件的页面任务跑到一半发现那个插件在新环境下根本不可用它尝试了两个修复方向都不行于是在连续失败超过阈值之后回滚了所有改动并在日志里保留了完整失败上下文。这个行为对我这种保守派很友好宁可交白卷不交错卷。失败的链路大致是这样的它先读取报错信息尝试定位改动点修完重新验证如果同一个问题反复失败到一定次数就触发回滚把工作区恢复成任务开始前的状态。这也意味着你不太需要担心一个命令把你的项目改得千疮百孔——它的默认策略是失败就还原而不是硬撑着提交一堆坏代码。3. 把Jev接到你的开发环境VS Code、Codex与本地部署3.1 申请密钥第一步别踩的坑要正式用Jev第一步是拿到访问凭证。流程很简单到Jev官网注册账号、创建一个API Key然后把它配置到本地环境。这里我踩过一个印象深刻的坑第一次我是图省事把密钥直接写进了项目根目录的.env文件想着反正是本地开发结果某次同步工具把整个目录传到了团队共享网盘吓得我立刻去后台吊销重建。所以我的建议是密钥永远不要进项目目录放在用户目录下的独立配置里或者用系统的密钥管理工具注入。给你一个参考环境变量配置export JEV_API_KEYsk-你的密钥 export JEV_BASE_URLhttps://api.jev.example.com其中的base_url在官方API时一般不需要手动设置默认就能用你本地部署自建服务时才需要改。另外如果CLI支持配置文件尽量不要在命令行里直接写密钥避免shell历史记录泄漏。3.2 在VS Code里连接JevJev最常见的接入环境是VS Code。官方提供了CLI和编辑器扩展两种方式CLI更适合嵌入终端和自动化流水线扩展则适合日常开发直接在面板里下任务。以CLI为例先按官方文档安装好jev命令配置好上面的环境变量然后在VS Code里打开目标项目用快捷键调出终端执行jev run 给用户模块增加按角色过滤的查询参数并补充对应单元测试执行过程中扩展面板会用树状方式展示它正在处理哪个文件、跑了哪条命令比纯终端日志直观很多。如果你想把它接入到编辑器右键菜单也可以在扩展设置里绑定一个快捷键选中一段代码后直接说解释这段代码或重构这个函数它会基于选中内容自动构建任务上下文。这个交互方式比聊天窗口舒服得多——你不用复制、粘贴、解释半天选中即任务任务即执行。3.3 在Codex CLI中使用Jev作为模型后端最近很流行的Codex CLI本质上是把AI代理放进终端而你完全可以把Jev作为它的模型后端来用。这样你既保留Codex的命令交互习惯底层执行和代码理解由Jev接管。配置方式各个版本略有差异但核心思想一致把模型提供方指向Jev的API。给你一个通行示例[model_providers.jev] name jev base_url https://api.jev.example.com api_key_env JEV_API_KEY [models.jev] provider jev model jev-v1 max_tokens 8192配置完成后在Codex CLI里指定模型就能开始使用。我坚持在Codex里使用Jev的原因很简单Codex的交互外壳做得很舒服它支持把任务拆成会话、可以随时修改目标而Jev在代码执行环节的自验证能力比我之前用过的几个后端模型都更扎实。实际跑同一个任务时Jev在verify阶段更较真会坚持跑到测试全绿才肯提交。3.4 本地模型部署Mac Studio/私有化仓库方案需要本地部署Jev的场景主要有三类代码仓库属于敏感资产不允许外传、开发环境处于隔离网络、或者你希望长期锁定API成本。对应地你可以把Jev权重部署到自己的机器上让它作为本地模型服务运行。很多同学用Mac Studio来做这件事我整理一下通用步骤。先到官方渠道下载权重注意确认是否开源或是否提供可本地运行的版本然后用Ollama或LM Studio起一个本地服务。Ollama的操作最省心一条命令就能加载模型并监听端口。ollama run jev-v1接着设置环境变量让Jev的客户端指向本地地址export JEV_BASE_URLhttp://127.0.0.1:11434 export JEV_MODELjev-v1Mac Studio上跑这类代码模型硬性要求是统一内存要大。我实测下来14B到32B参数量级的量化模型至少需要64GB内存才跑得比较流畅如果你的项目复杂度一般14B的量化版本响应速度会舒服很多。这个方案就是热搜里常说的AI代理助手加本地模型好处是代码完全不出本机适合对数据安全极其敏感的团队。3.5 用本地Jev重构C#项目一份可直接抄的任务清单最后给一个可直接抄作业的清单用本地部署的Jev重构C#项目。这个场景很典型因为很多老项目敏感、不能上传外部API又迫切需要技术债清理。我建议按模块去做不要把整个解决方案一次性丢给它。参考命令jev run 把项目从net6.0升级到net8.0修复所有编译错误不要改动业务行为 jev run 将OrderController拆分到Application层和Domain层保持对外接口不变 jev run 把数据访问层的同步ADO.NET调用改为async/await并确保连接正确释放每次只扔一个大目标完成后再扔下一个。C#是语法密集、强类型的语言Jev对这类语言的上下文窗口比较敏感贪多容易在改到一半时丢失前面的约束。跑之前先手动执行一次dotnet build把基础编译错误清掉这样Jev接手的项目是干净的它的自验证阶段才不会把原本就存在的报错当成自己的问题反复折腾。这个小习惯能省你不少时间。提示跑Jev之前先手动执行一次dotnet build把已有的编译错误清掉否则它会把存量问题当成自己引入的问题反复折腾。4. 自动化规则被改写的三个层面4.1 从if-then规则引擎到意图引擎我要重点说说标题里那个改写自动化规则到底意味着什么。传统自动化不管是RPA、cron脚本、CI流程还是规则引擎本质都是人先把所有路径画好机器按图索骥。一句如果A发生就执行B否则执行C背后是人对所有分支的穷举。这种方式在稳定环境里很可靠但一旦现实偏离预设自动化就立刻断线。Jev式AI自动化的本质是把规则从路径描述改成目标描述你不告诉它每一步怎么走只告诉它目的地它自己规划路径、处理意外、到达终点。我常用一个类比传统自动化是修铁路铁轨铺到哪火车才能到哪AI代理自动化是自动驾驶你只输入地址它自己判断路况、变道、绕行。从规则引擎到意图引擎这是自动化规则被改写的最底层逻辑。4.2 CI/CD流水线开始变成AI的游乐场另一个非常实际的变化出现在CI/CD流水线里。以前流水线里挂的是固定的lint、测试、构建步骤红了之后必须等人去修。现在最常见的玩法是增加一个自动修复步骤当某些质量检查失败时不是直接失败结束而是调用Jev去读日志、改代码、重新提交。我搭过一个最小示例伪YAML长这样- name: Check lint run: make lint - name: Auto-fix with Jev if: failure() run: jev run 修复当前分支的lint错误和失败的单元测试保持功能行为不变这样PR里的常见低级错误可以由代理直接消化人只需要关注更高层的代码评审。不过我的经验是这类自动修复步骤一定要限定在feature分支并且绝不能配置成自动合入主分支。它适合当流水线里的维修工不适合当终审法官。4.3 谁来兜底权限分级与人类监督让AI模型自动改代码最绕不开的问题就是怎么保证安全。我建议从一开始就给Jev这类代理分权限等级不要一上来就放开手脚。参考我目前的分级方式权限模式能力范围适用场景只读模式可以阅读代码、生成解释、输出方案代码理解、评审辅助分支模式只能在当前feature分支内修改并提交日常开发、模块重构全权模式可以提交到当前工作分支通常配合完整回滚紧急修复、流水线自动修复用哪一级取决于你对仓库的保护程度。我的默认是分支模式连我自己常用的个人项目也只会在建了独立分支后才让它全权操作。任何时候AI做决定人做裁决——自动化再怎么改规则这个边界都不应该动。提醒任何时候让AI做决定之前都要先想清楚如果它做错了我有没有办法回滚。5. 实操踩坑密钥、上下文、危险操作与能力边界5.1 密钥滥用与配额警戒线先说密钥。Jev的API Key本质就是钱它绑着你的调用额度。我第一次出事故是把.env文件同步到了共享网盘虽然很快吊销了但那一整天都提心吊胆。现在我的做法是密钥全部放在用户目录之外的独立配置中使用direnv或系统密钥链注入到当前shell同时去官网控制台设置月度额度告警配额用到80%、100%都会发通知。CLI端如果支持并发控制我会把max_concurrency调小一点避免几个任务并行时额度像水一样流走。5.2 超大仓库会翻车上下文裁剪与任务拆分Jev再强也不是神。我踩过最大的坑就是把它丢进一个巨型monorepo然后下了一个模糊指令看看这个项目有什么问题。结果是它花了很长时间做全量扫描最终输出了一份面面俱到但没什么针对性的总结。原因很简单它的理解和定位是围绕任务检索上下文不是全局记忆所有代码。正确姿势是把任务边界明确到文件、目录或模块。比如jev run 重构 src/services/auth 目录下的认证逻辑消除重复代码再配合一次只做一件事的原则效果会完全不同。到现在我安排任务的粒度已经从整个项目缩小到了一个服务、一个模块、一类问题这是用Jev用得顺手之后最重要的一次习惯调整。5.3 它真的不会说话所以别问为什么这里必须帮大家调整一个预期Jev不是聊天助手你问它你为什么要这么改它大概率不会给你一个条理清晰的答辩。想看它为什么这么改最直接的办法是看git diff和commit message——那些才是它真正的解释。如果你确实需要一份文字说明就在任务描述里显式加上一句最后输出一份 CHANGES.md列出每个文件改了什么、为什么这样改。我试过很多类似描述这句最管用。它会把最终产物从一堆改动变成一份可评审的变更说明你拿着它去做代码评审效率高很多。这也算是我摸索出来的一个小技巧聊胜于无。5.4 别拿Jev生成图片能力边界搜了一圈网络热词发现有同学在问ai模型生成图片时质量突然变差。这里面有一种情况其实是把Jev当成了文生图模型在用然后发现出图能力很拉胯——这属于用错了工具。Jev的定位是代码理解、自动执行和软件工程里的自动化闭环不是多模态生成模型。它不会说话、不解释、不闲聊同样也不负责画图。如果你要做文生图请去用专门的多模态扩散模型那些模型在图像质量、风格控制上才是正道。工具要对准场景让Jev去做它真正擅长的事它才能替你改写自动化的规则而不是在错误场景里替你制造烦恼。最后分享一点真实体会。Jev来了之后我对自动化这个词的定义变了。以前我觉得自动化是把重复动作编成脚本现在我觉得自动化是把一个意图交给一个能理解的执行者让它自己完成从理解、规划、执行到验证的全部过程。这种转变短期内最明显的好处是工作流里那部分最消耗心力的把想法落进真实工程被机器接管了长期看它对团队协作模式的影响会更深——未来的开发流程会更像项目管理而不是代码堆砌。我自己的建议是从小任务开始试先在你自己最熟悉的项目里拿一个小重构跑一遍观察它的行为理解它的边界再逐步放大。我这几周被它救过几次也被它坑过几次但只要任务边界划得清楚它的不会说话恰恰是最省心的地方。希望这篇东西能帮你少走点弯路。
企业数字化 ERP 产品动态
相关推荐
PDF高效处理技巧:从基础阅读到专业应用 1. 为什么PDF阅读需要进阶技巧第一次接触PDF文件时,大多数人的反应都是"这不就是个电子版文档吗?"——双击打开,滚动浏览,最多加个书签。但当我处理完第327份技术文档后,才真正意识到PDF远不止是个简单的阅读… · 2026/11/4 4:34:41
低门槛代码模型选型指南:从本地部署到云平台原生架构 1. 选代码模型前,先把"低门槛"拆成三个可量化的指标过去一年里,我身边越来越多的算法工程师和全栈开发开始把代码模型放进日常工作流。有人用它补全一段LSTM训练脚本,有人拿它解析扩散模型的论文代码,还有人直接在IDE里… · 2026/11/4 4:34:41
RVC变声器harvest与crepe参数选择指南 1. 这不是调参指南,是设备与声音的匹配手册“RVC变声器”这个词最近在音频处理圈里出现频率高得有点反常——不是因为技术有多新,而是因为太多人卡在同一个地方:明明模型下载好了、环境也跑通了,一开实时变声,要么卡成… · 2026/11/4 4:34:41
LeetCode数组操作:回文数判断与加一运算详解 1. 题目背景与需求解析 今天想和大家分享两道经典的LeetCode数组操作题目——"回文数判断"与"加一运算"。这两道题看似简单,却涵盖了整数处理、边界条件判断等编程基本功,非常适合用来检验基础算法的掌握程度。我在面试候选人和日常… · 2026/11/4 8:18:51
移动应用界面设计竞赛要点与实战技巧 1. 移动应用界面设计竞赛模块解析作为一名参与过多次移动应用设计评审的从业者,我深知竞赛中界面设计模块的关键要点。本次ZZ039赛项的模块A聚焦"智慧健康"应用场景,要求选手在有限时间内完成四个核心界面的高保真原型设计。这种赛制非常贴近真… · 2026/11/4 8:18:51
4G移动网络代理方案:硬件选型与优化配置指南 1. 移动网络代理方案概述 在当今移动互联网环境中,稳定可靠的网络连接已成为许多业务场景的刚需。不同于传统固定宽带,基于4G LTE网络的移动接入方案因其部署灵活、覆盖广泛的特点,正被越来越多地应用于各类需要移动网络环境的场景中。 这种… · 2026/11/4 8:18:51
MoE混合专家架构详解:稀疏激活、推理优化与大模型部署实践 1. 项目概述:为什么 MoE 成了大模型的新分水岭 这两年做大模型的人,基本绕不开一个话题:模型越来越大,算力越来越贵,但谁都还想继续“堆参数”。如果你已经跑过 7B、13B 或者 70B 级别的开源模型,大概率会碰… · 2026/11/4 8:18:51
Ternary-Bonsai2还是GSQ-RCO?27B模型量化版实测对比与选型指南 这段时间被问得最多的一个问题就是:Ternary-Bonsai2-27B和Qwen3.8-27B-GSQ-RCO到底该下哪个?群里从白天问到晚上,从4090问到Mac,核心无非是“哪个更快”“哪个更聪明”“下载地址在哪”。我把手头的RTX 4090和M2 Max各跑了一周&am… · 2026/11/4 8:18:51
工业设备智能诊断:ICEEMDAN+贝叶斯TCN+SHAP方案解析 1. 项目背景与核心价值 在工业设备健康管理领域,故障诊断技术正经历着从传统方法到智能算法的范式转变。这个项目提出了一种融合ICEEMDAN信号处理、贝叶斯优化TCN和SHAP可解释性分析的创新方案,其核心价值体现在三个维度: 首先,针… · 2026/11/4 8:17:51
双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/4 3:16:49
STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/4 6:59:29
DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/4 7:02:38
AI辅助技术栈评估:提升研发决策效率60% 1. 项目背景与核心价值技术决策一直是研发团队面临的重大挑战。随着技术生态的快速演进,技术栈的选择、维护和迭代变得愈发复杂。我们团队在过去两年里,先后经历了三次重大技术栈迁移,每次都需要投入大量人力进行技术评估和风险分析。直到去年… · 2026/11/4 0:00:17
从生成Token到直接决策:Jev如何重塑AI Agent工程实践 1. 从"生成文字"到"拍板决策":Jev 到底在解决什么问题大多数人第一次接触大模型,脑子里建立的模型是"输入问题、输出文字"。你问它今天天气怎么样,它给你一段描述;你让它写个周报,它给你… · 2026/11/4 0:00:17
32G统一内存跑大模型:内存账、TPS实测与端云分流 想在一台 32G 统一内存的小主机上把大模型跑成"日常可用",这件事我前后折腾了小半年。标题里说的这台 Mac mini M6,是我们这次讨论的目标平台,具体到手规格以实物为准;但下面这套推算方法和实测思路,对任何统… · 2026/11/4 0:00:17
双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/4 3:16:49
STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/4 6:59:29
DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/4 7:02:38