實際影片長度:41:23.266。原文、繁中、雙語可點擊句子跳轉影片。
0:00.000–0:09.600
zh然后就是Codex里面一些CLI的一些命令,如何高效的去使用。
0:09.600–0:11.400
zh然后它的规范是怎么样的。
0:11.400–0:24.400
zh那大家掌握了这个CLI的一个高效的交互方式之后,你就会知道你的整个效率就可以得到快速的提升。
0:24.400–0:31.020
zh首先的话就是我们最开始通过Codex命令
0:31.020–0:31.340
zh是吧
0:31.340–0:33.460
zh那我们可以看到一些什么命令
0:33.460–0:34.780
zh就是这个里面
0:34.780–0:37.400
zh我们在这个Cli里面
0:37.400–0:40.400
zh首先啊
0:40.400–0:43.780
zh这个里面
0:43.780–0:46.520
zh大家首先会看到各种各样的一些命令
0:46.520–0:46.840
zh是吧
0:46.840–0:48.560
zh那你可以用一个help
0:48.560–0:54.400
zh这个里面还没有help
0:54.400–0:59.620
zh我们在外面看一下
0:59.620–1:00.800
enCodex
1:00.800–1:04.020
zh来给大家看
1:04.020–1:05.720
zh就是你可以看到
1:05.720–1:07.020
zh你在这个通过这种方式
1:07.020–1:07.920
zh你可以查询一下
1:07.920–1:09.620
zh它目前有哪一些命令
1:09.620–1:12.460
zh如果大家看不懂的话
1:12.460–1:13.380
zh你可以这样来
1:13.380–1:15.900
zh因为它是全是英文的
1:15.900–1:16.760
zh你可以正好
1:16.760–1:18.640
zh比如说你Codex进去
1:18.640–1:22.640
zh帮我执行下Codex
1:22.640–1:24.440
enhelp
1:24.440–1:36.840
zh然后将帮助输出为中文表达
1:36.840–1:42.140
zh他会先执行这个啊
1:42.140–1:44.120
zh然后把内容给我们翻译一下
1:44.120–1:48.280
zh就这个是教大家怎么样去学习
1:48.280–1:51.340
zh他的一个命令行的一个使用啊
1:51.340–1:53.740
zh因为英文大家可能看不太明白
1:53.740–1:55.020
zh用这种Cli的话
1:55.020–1:57.140
zh你就能看得更加清晰一些
1:57.140–2:00.340
zh来大家可以看到他有哪些Cli呢
2:00.340–2:02.260
zh首先是执行是吧
2:02.260–2:05.900
zh这个叫以非交互式的方式去执行
2:05.900–2:10.060
zh我们这里来对照来给大家讲啊
2:10.060–2:13.700
zh我再开一个这个终端
2:13.700–2:18.300
zh一定要以终端管理员啊
2:18.300–2:21.340
zh然后切换到地盘
2:21.340–2:22.540
encodex mode
2:22.540–2:26.620
zh切换到myproject
2:26.620–2:29.580
zh
2:29.580–2:31.520
zh然后首先的话就是
2:31.520–2:33.680
zh比如说这个里面
2:33.680–2:37.000
zh我们就可以以这个命令的方式去分析一下
2:37.000–2:40.660
zh就你可以在外面去执行这个codex命令
2:40.660–2:43.260
zh然后这个是什么意思呢
2:43.260–2:45.600
zh你在外面起了一个问题是吧
2:45.600–2:47.940
zh然后它会切换到这个窗口里面去
2:47.940–2:48.820
zh然后执行这个
2:48.820–2:50.720
zh然后执行完之后的话
2:50.720–2:54.120
zh他会给你一个结果的一个输出
2:54.120–2:56.700
zh就是这么一个效果
2:56.700–2:58.980
zh就是你可以直接用一个命令的方式进去
2:58.980–3:01.000
zh或者你直接用Codex的方式进去
3:01.000–3:01.840
zh都是OK的
3:01.840–3:05.380
zh你看他现在是帮你去分析整个的一个目录结构
3:05.380–3:06.080
zh是吧
3:06.080–3:11.600
zh就是我们可以以一个Codex命令
3:11.600–3:14.780
zh加上一个提示词的方式进入到这个Codex页面
3:14.780–3:16.080
zh然后他就执行任务
3:16.080–3:17.540
zh那有些东西说
3:17.540–3:19.800
zh比如说我现在不想进入到那个命令行
3:19.800–3:21.600
zh我现在只想拿一个结果怎么办呢
3:21.600–3:23.160
zh就大家可以这种方式
3:23.160–3:25.400
zh叫做exec
3:25.400–3:28.000
zh就要以非交互式的方式
3:28.000–3:30.700
zh非交互式就是我不想去对话了
3:30.700–3:31.900
zh直接给我结果就完了
3:31.900–3:33.300
enexec
3:33.300–3:34.260
zh然后
3:34.260–3:37.560
zh你说帮我分析一下
3:37.560–3:40.620
zh当前项目结构
3:40.620–3:44.100
zh跳过vip
3:44.100–3:47.060
zh他说要把我们把这个命令给他加上
3:47.060–3:49.800
zh那我就加一下
3:49.800–3:52.260
zh来大家看
3:52.260–3:53.080
zh接下来就是
3:53.080–3:56.300
zh他会以命令行的方式去跑啊
3:56.300–3:59.000
zh就是我们纯粹就是跑一个命令行
3:59.000–4:00.820
zh也没有什么交互页面了
4:00.820–4:02.540
zh直接就给你结果了
4:02.540–4:04.960
zh大家看就没有进入到那个对话页面了
4:04.960–4:07.120
zh这里面应该大家能理解啊
4:07.120–4:09.660
zh就是我现在整个就是以
4:09.660–4:11.600
zh执行命令的方式去给结果
4:11.600–4:13.980
zh然后我就不要进入到那个交互了啊
4:13.980–4:15.680
zh这个就叫做非交互式的方式
4:15.680–4:16.440
zh去运行codex
4:16.440–4:17.900
zh这好处是什么呢
4:17.900–4:19.360
zh好处就在于比如说
4:19.360–4:22.360
zh我现在有一些传统的运维方式
4:22.360–4:24.640
zh是以命令的方式去运行的
4:24.640–4:25.960
zh它不需要交互界面
4:25.960–4:27.840
zh我现在就相当于调用一个
4:27.840–4:29.500
zh是以命令的方式去使用Codex
4:29.500–4:33.260
zh那你就要以加一个exec的这个参数
4:33.260–4:34.760
zh然后就做一个调用
4:34.760–4:37.580
zh那现在是不是我们给它分析出来了
4:37.580–4:38.680
zh结果是吧
4:38.680–4:39.400
zh完了之后
4:39.400–4:41.780
zh它就会退回到这个继续终端页面
4:41.780–4:44.100
zh所以整个就是
4:44.100–4:46.180
zh它就是把Codex当做一个命令来跑
4:46.180–4:47.880
zh这个就是exec
4:47.880–4:52.420
zh然后就是包括还有一些这个clean是吧
4:52.420–4:54.620
zh那我们可以在这个对话里面
4:54.620–4:57.740
zh大家直接去使用这个clean啊
4:57.740–4:59.860
zh就直接给它清理上下文了啊
4:59.860–5:01.840
zh包括使用copy的一些命令
5:01.840–5:02.980
zh这个是斜杠命令啊
5:02.980–5:04.160
zh这个我们等一下专门来说
5:04.160–5:07.840
zh然后还有一些比较好的一些使用的命令
5:07.840–5:09.960
zh叫做恢复对话啊
5:09.960–5:12.680
zh这个恢复对话的话是用来干嘛的呢
5:12.680–5:14.520
zh就是比如说啊
5:14.520–5:16.200
zh比如说大家现在在
5:16.200–5:20.820
zh我们刚刚问了一个问题是这个帮助是吧
5:20.820–5:22.980
zh我现在不小心退出去了
5:22.980–5:25.020
zh我现在退出去了怎么办呢
5:25.020–5:26.560
zh退出去之后的话
5:26.560–5:29.200
zh你大家就执行这个什么叫resume
5:29.200–5:32.580
zh就它会恢复到最近的一个会话
5:32.580–5:35.260
zh比如说我们现在把它执行一下
5:35.260–5:36.980
zh然后在这个里面
5:36.980–5:39.280
zh来大家看这里它就会选
5:39.280–5:42.300
zh就是我之前聊过多少次
5:42.300–5:44.620
zh那我现在要切回去怎么办呢
5:44.620–5:46.220
zh那比如说选最近的
5:46.220–5:47.920
zh他这里会有一个时间啊
5:47.920–5:48.880
zh两分钟之前
5:48.880–5:51.220
zh然后这边是之前的一个列表
5:51.220–5:51.520
zh是吧
5:51.520–5:54.320
zh然后我来切回去
5:54.320–5:56.420
zh然后大家看是不是就我就切回来了
5:56.420–5:57.280
zh是吧
5:57.280–5:59.620
zh但是这个切的不是我刚刚那个
5:59.620–6:01.720
zh所以我还得再切一下
6:01.720–6:03.220
zh刚刚那个应该是这个
6:03.220–6:04.820
zh来大家看是不是切过去了
6:04.820–6:07.320
zh就我可以快速的去恢复一个对话
6:07.320–6:07.860
zh
6:07.860–6:11.020
zh然后我还可以去指定某个会话 id
6:11.020–6:11.620
zh
6:11.620–6:12.860
zh这个会话 id 的话啊
6:12.860–6:14.620
zh这就是在哪个地方呢
6:14.620–6:17.360
zh
6:17.360–6:18.320
zh继续
6:18.320–6:19.520
zh继续
6:19.520–6:20.180
zh会话ID
6:20.180–6:21.740
zh这里还看不到
6:21.740–6:23.180
zh看一下
6:23.180–6:23.740
zh继续
6:23.740–6:25.460
zh加一下这个命令
6:25.460–6:29.800
zh继续
6:29.800–6:32.040
zh这个是所有的这个对话啊
6:32.040–6:34.240
zh一个是当前目录的
6:34.240–6:35.760
zh这个是当前目录的
6:35.760–6:37.740
zh这个是所有目录的啊
6:37.740–6:39.420
zh就历史我聊过的
6:39.420–6:41.140
zh都会出现在这个里面去
6:41.140–6:43.860
zh所以这个是我之前聊过的所谓记录
6:43.860–6:46.360
zh然后会话ID的话
6:46.360–6:49.260
zh看一下怎么来查看这个会话ID
6:49.260–6:51.600
enlast
6:51.600–6:56.200
zh这个直接是跳转到上次对话
6:56.200–7:02.920
zh看一下last会话ID
7:02.920–7:04.920
zh会话ID status
7:04.920–7:07.860
zh那比如说我现在要切到那个
7:07.860–7:09.200
zh我首先切到
7:09.200–7:13.860
zh比如说我现在resume
7:13.860–7:15.960
zh我切换到这个
7:15.960–7:17.700
zh然后这个status
7:17.700–7:23.200
zh然后这里大家看啊
7:23.200–7:24.460
zh它的会话ID
7:24.460–7:26.160
zh我看这里有没有啊
7:26.160–7:28.040
zh会话ID
7:28.040–7:33.220
zh这里好像没有会话ID
7:33.220–7:33.800
zh这个啊
7:33.800–7:34.900
zh这个就是会话ID啊
7:34.900–7:37.720
zh就是我们输入这个status命令
7:37.720–7:40.480
zh就这里可以看到一个sessionID啊
7:40.480–7:42.320
zh然后大家把这个东西复制一下
7:42.320–7:43.680
zh然后我们退出去
7:43.680–7:46.560
zh然后再说一个resume
7:46.560–7:47.060
zh是吧
7:47.060–7:48.440
encodex resume
7:48.440–7:51.080
zh然后加session id
7:51.080–7:53.360
zh也能切回来
7:53.360–7:54.780
zh我觉得这几种方式
7:54.780–7:57.104
zh基本上就够用了
7:57.104–7:57.955
zh然后我们退出去。
7:57.955–7:59.444
zh然后我再说一个resume。
7:59.444–8:00.721
encodex resume
8:00.721–8:02.104
zh然后加sessionID。
8:02.104–8:02.742
zh也能切回来。
8:02.742–8:04.444
zh我觉得这几种方式基本上就够用了。
8:04.444–8:06.040
zh然后非交互式命令的方式也可以。
8:06.040–8:07.530
zh比如说我们带上这个exec。
8:07.530–8:10.295
zh非交互式命令就我直接想把每一次的会话结果给它说出来。
8:10.295–8:10.615
zh是吧?
8:10.615–8:12.104
zh那我们就把这个ID给它拉上。
8:12.104–8:15.344
zh那就它直接会给我一个结果
8:15.344–8:18.244
enResume
8:18.244–8:19.044
zh
8:19.044–8:21.264
enNoGram
8:21.264–8:27.644
enNoPro
8:27.644–8:31.864
zh诶它这里不是那个ID是吧
8:31.864–8:32.884
zh看一下
8:32.884–8:42.104
enCodex.exec.resume
8:42.104–8:52.804
zh我看一下这个命令是不是哪里错了
8:52.804–8:56.544
zh大家遇到这种命令错误的情况下
8:56.544–8:58.044
zh你可以这么来解决
8:58.044–9:00.944
zh你就直接把这个错误丢给他
9:00.944–9:03.604
zh帮我分析一下
9:03.604–9:04.684
zh这个
9:04.684–9:10.444
zh是什么错误
9:10.444–9:15.084
zh然后输出修正的指令
9:15.084–9:18.884
zh你就让Codex帮你去修复就完了
9:18.884–9:25.204
zh但是某个参数写的有问题
9:25.204–9:28.184
zh他会给你一个修正的命令
9:28.184–9:33.904
zh这里还要加一个提示词是吧
9:33.904–9:36.384
zh还要加一个这么一个提示词
9:36.384–9:37.524
zh但是他这里又
9:37.524–9:39.264
zh后面写了
9:39.264–9:40.884
zh他需要加加这个提示词
9:40.884–9:42.024
zh我说少了一个参数
9:42.024–9:43.544
zh那我就加一下呗
9:43.544–9:45.904
zh还要加一个参数
9:45.904–9:49.624
zh要跳过这个有一个report的一个检查
9:49.624–9:57.744
zh他就是以一个定时任务啊
9:57.744–10:00.524
zh就是一个提示词的方式去执行一个命令
10:00.524–10:02.404
zh然后这个命令会把之前的那个
10:02.404–10:05.144
zh在之前的会话基础之上再加一个提示词
10:05.144–10:06.064
zh继续做一个对话
10:06.064–10:08.084
zh听起来给结果给你说出来
10:08.084–10:09.924
zh这个就是非交互式的运行
10:09.924–10:11.244
zh也就是说我相当于
10:11.244–10:13.804
zh我在之前对话的一个基础之上
10:13.804–10:15.644
zh再去让他执行一个
10:15.644–10:19.344
zh这个给他做一个对话
10:19.344–10:19.664
zh是吧
10:19.664–10:20.404
zh做一个对话之后
10:20.404–10:23.044
zh把这个结果再以命令的方式返回回来
10:23.044–10:25.144
zh但是我不要进入到那个对话页面
10:25.144–10:26.864
zh这个是交互的方式
10:26.864–10:29.564
zh所以这个场景可能再也用的不多
10:29.564–10:30.384
zh但是要知道
10:30.384–10:32.724
zh如果你想以命令的方式去跑的话
10:32.724–10:34.244
zh你就按照规范去写就完了
10:34.244–10:38.324
zh然后是模型跟推理
10:38.324–10:39.824
zh最开始我们给他讲了
10:39.824–10:41.764
zh这个切换模型这里面就是
10:41.764–10:44.184
zh这里面我给他提的一个建议
10:44.184–10:47.304
zh就是如果说你要做一些对话
10:47.304–10:47.744
zh是吧
10:47.744–10:48.764
zh做一个推理
10:48.764–10:50.324
zh然后做一些研究
10:50.324–10:53.024
zh存交流的话
10:53.024–10:55.084
zh那你就用GBT5.5就完了
10:55.084–10:57.164
zh最新的模型肯定没什么问题
10:57.164–10:59.984
zh然后当然他也可以写淡网
10:59.984–11:03.344
zh但是如果说你要专门写淡网的话
11:03.344–11:05.844
zh你就用5.3的那个Codex版本
11:05.844–11:07.464
zh这是我给大家一个建议
11:07.464–11:08.964
zh这是专门用了写代码的一个版本
11:08.964–11:09.884
zh做个调优的
11:09.884–11:11.624
zh所以它的效果肯定是好一些
11:11.624–11:15.204
zh这个是模型跟推理这一块的一个权衡
11:15.204–11:19.384
zh这个5.5这个模型擅长做任务规划
11:19.384–11:21.504
zh你拿写文档你可以用5.5去做
11:21.504–11:22.884
zh它的效果会更好
11:22.884–11:25.464
zh然后包括一个图片输入
11:25.464–11:27.264
zh就是你可以在Codex里面
11:27.264–11:30.224
zh你可以去把一个截图
11:30.224–11:32.724
zh就是去做一个什么呢
11:32.724–11:33.684
zh
11:33.684–11:35.724
zh就给大家去生成出来
11:35.724–11:37.164
zh比如说我们现在啊
11:37.164–11:39.424
zh我们现在这个项目下面
11:39.424–11:42.284
zh呃有一个这个图片是吧
11:42.284–11:42.824
zh有一个图片
11:42.824–11:45.764
zh我现在要分析一下这个图片内容是什么
11:45.764–11:48.464
zh比如说我们加上这个
11:48.464–11:49.464
encodex-r
11:49.464–12:01.104
zh把这个图片名
12:01.104–12:02.804
zh文件名改一下
12:02.804–12:04.264
zh文件名是
12:04.264–12:06.424
zh它就是一个贪吃蛇的测试截图嘛
12:06.424–12:09.264
zh然后你就这么说一下
12:09.264–12:16.464
zh分析一下这张图片
12:16.464–12:19.424
zh所以大家你直接让他分析就完了
12:19.424–12:21.124
zh他会进入到这个对话里面
12:21.124–12:22.364
zh然后去分析那个图片
12:22.364–12:26.704
zh这张图是一个网页端的贪吃蛇游戏界面
12:26.704–12:27.784
zh然后偏科技风
12:27.784–12:29.444
zh你看他分析没什么问题吧
12:29.444–12:31.804
zh所以说这个场景一般用的什么地方呢
12:31.804–12:33.784
zh就是我们现在项目里面有一些报错
12:33.784–12:36.044
zh大家不好用语言去表达的时候
12:36.044–12:38.284
zh你直接截个图有一个错误在里面
12:38.284–12:38.644
zh是吧
12:38.644–12:40.344
zh你直接把图丢给AI就行了
12:40.344–12:43.824
zh那么Codex他也能帮你去把这个图片给识别出来
12:43.824–12:45.324
zh然后去解决这个问题
12:45.324–12:46.684
zh并且你有多张图的话
12:46.684–12:47.784
zh你可以使用image
12:47.784–12:49.284
zh把这个是吧
12:49.284–12:50.944
zh多张图指定一下就可以了
12:50.944–12:52.364
zh他目前支持PNG
12:52.364–12:54.504
zh这些一些常见格式
12:54.504–12:56.604
zh除了输入图以外
12:56.604–12:57.944
zh他还可以生成图
12:57.944–12:58.884
zh生成图的话
12:58.884–13:00.464
zh有几种方式
13:00.464–13:03.764
zh就是他可以调用一些API生成图
13:03.764–13:04.084
zh是吧
13:04.084–13:05.904
zh还有的话就是他可以通过
13:05.904–13:08.144
zhOpenAI官方的一些模型
13:08.144–13:09.984
zh比如说像 GPT-4 模型
13:09.984–13:12.184
zh比如说像 DALL-E 3 模型
13:12.184–13:14.144
zh比如说你就直接跟他说
13:14.144–13:19.584
zh帮我生成一张猫的图片
13:19.584–13:21.504
zh你就直接这么跟他说
13:21.504–13:24.104
zh那么他就会想尽一些办法
13:24.104–13:24.884
zh帮你去生成图
13:24.884–13:28.024
zh他会可能比如说调用一些 skill
13:28.024–13:28.524
zh是吧
13:28.524–13:29.824
zh他内置的一些 skill
13:29.824–13:32.924
zh去调用一些模型帮你去生成图
13:32.924–13:34.924
zh或者说他调用一些公共的API
13:34.924–13:35.904
zh去生成一张图
13:35.904–13:36.624
zh都有可能
13:36.624–13:38.344
zh所以看大家一个需求
13:38.344–13:39.784
zh比如说你想了他就是用
13:39.784–13:41.884
zhGPT 的这个 DALL-E 去生成
13:41.884–13:43.104
zh那你就提示词里面
13:43.104–13:44.304
zh提提醒一下
13:44.304–13:46.284
zh你要用这个模型去生成就完了
13:46.284–13:47.904
zh这个就生成图片
13:47.904–13:49.404
zh这个也很好理解
13:49.404–13:53.104
zh你看现在已经生成了一个猫的图片了
13:53.104–13:55.604
zh你看就是他生成的是吧
13:55.604–13:57.624
zh这个就猫的一个图片
13:57.624–13:59.424
zh所以说
13:59.424–14:01.064
zh这个里面的话
14:01.064–14:03.444
zh就是这个效果就是看大家
14:03.444–14:06.004
zh你具体你要让他用什么模型去做
14:06.004–14:08.044
zh但这个功能他都是支持的
14:08.044–14:11.424
zh然后是语法的这个
14:11.424–14:13.264
zh高亮与主题
14:13.264–14:15.164
zh这个是什么意思呢
14:15.164–14:15.764
zh就是比如说
14:15.764–14:17.704
zh大家你看这个页面是吧
14:17.704–14:18.824
zh你看的不爽
14:18.824–14:20.784
zh那我现在要改个主题
14:20.784–14:24.064
zh就是我进入到这个Codex
14:24.064–14:27.204
zh输入这个Theme
14:27.204–14:28.584
zh就大家看
14:28.584–14:30.564
zh你可以改这个是吧
14:30.564–14:31.264
zh可以改这个
14:31.264–14:33.744
zh就是我们什么亮色暗色
14:33.744–14:35.264
zh各种终端的这个图
14:35.264–14:35.584
zh是吧
14:35.584–14:37.264
zh比如说我现在想改成这个效果
14:37.264–14:38.264
zh然后就看一下
14:38.264–14:39.844
zh帮我生成一个
14:39.844–14:50.704
zh无子棋游戏
14:50.704–14:54.684
zh基于html
14:54.684–14:57.444
zh实现
14:57.444–15:01.284
zh然后大家就可以看到他的这个代码主题
15:01.284–15:05.364
zh我们就可以看到他就有一些变化
15:05.364–15:09.984
zh就他生成代码的时候
15:09.984–15:11.964
zh这个里面就有一些逻辑
15:11.964–15:19.004
zh就是相当于这个就是改语法
15:19.004–15:21.144
zh就是我们改这个一些
15:21.144–15:22.964
zhDiff高亮的
15:22.964–15:24.144
zh这个很好理解
15:24.144–15:28.004
zh然后是这个比较一个实用的功能
15:28.004–15:29.824
zh叫做运行本地代码评审
15:29.824–15:32.444
zh这个是用来干嘛
15:32.444–15:34.884
zh大家看这个效果是不是就变了
15:34.884–15:35.364
zh是吧
15:35.364–15:38.024
zh就是这个改了一个这个效果嘛
15:38.024–15:38.964
zh是吧
15:38.964–15:40.564
zh
15:40.564–15:42.124
zh这个review啊
15:42.124–15:43.584
zh就是运行本地代码评审
15:43.584–15:44.284
zh这个比较
15:44.284–15:46.344
zh这个功能比较好用啊
15:46.344–15:46.904
zh什么意思呢
15:46.904–15:48.044
zh就是大家可以在
15:48.044–15:51.404
zh这个codex里面去输入这个什么呢
15:51.404–15:52.384
zh叫做review
15:52.384–16:07.030
enreview
16:07.030–16:08.990
zh还有一个就是大家啊
16:08.990–16:10.730
zh你已经提交了一些PR了
16:10.730–16:11.950
zh那你可以用
16:11.950–16:13.950
zh把一个PR的链接给他
16:13.950–16:15.490
zh让他去check也是可以的
16:15.490–16:16.810
zh但是你要把一些
16:16.810–16:18.690
zh比如说GitHub的一个权限给他配合
16:18.690–16:20.450
zh让他能够拉到那个PR
16:20.450–16:22.350
zh但是如果是公共仓库就不用管了
16:22.350–16:23.490
zh公共仓库都有权限
16:23.490–16:26.370
zh但是最好还是配一个token去访问
16:26.370–16:27.730
zh这样就不会被限制
16:27.730–16:29.370
zh所以这个里面的话
16:29.370–16:30.750
zh这个review的话
16:30.750–16:32.770
zh主要就是我们可以做代码评审
16:32.770–16:34.710
zh比如说我现在
16:34.710–16:35.950
zh我刚刚那个
16:35.950–16:39.170
zh贪吃蛇游戏是吧
16:39.170–16:41.950
zh那你就把这个代码告诉他
16:41.950–16:45.610
zh比如说我们现在要review
16:45.610–16:51.210
zhat这个文件是吧
16:51.210–16:52.990
zh帮我
16:52.990–16:59.670
zh执行一下代码
16:59.670–17:01.770
zh评审
17:01.770–17:05.710
zh就我们来看一下这个生成代码有什么问题
17:05.710–17:07.050
zh那就分析一下
17:07.050–17:07.470
zh对吧
17:07.470–17:10.190
zh那么他这个里面的话
17:10.190–17:11.290
zh就会去执行一些
17:11.290–17:12.450
zhGit的一些命令啊
17:12.450–17:13.530
zh因为有时候
17:13.530–17:15.350
zh他要分析有没有提交嘛
17:15.350–17:16.610
zh所以他用到用到Git
17:16.610–17:17.610
zh但是我们这个
17:17.610–17:19.030
zh他不是一个Git项目嘛
17:19.030–17:21.010
zh那他直接就可以分析内容了
17:21.010–17:23.230
zh那我这里面还有一个项目啊
17:23.230–17:24.870
zh是我之前找的一个
17:24.870–17:25.910
zh开源的一个项目啊
17:25.910–17:27.150
zh一个洛伊的项目
17:27.150–17:28.310
zh那么这个项目的话
17:28.310–17:30.470
zh是我改了一些代码的啊
17:30.470–17:31.770
zh我等一下拉下拉分析一下
17:31.770–17:32.930
zh我改的这个代码里面
17:32.930–17:34.170
zh有没有什么问题啊
17:34.170–17:37.070
zh所以我这里开开两个给大家来看一下这个效果
17:37.070–17:43.170
zh那这里面我们还是要用终端管理员啊
17:43.170–17:48.610
zh切换到 local
17:48.610–17:51.210
zh然后这个里面
17:51.210–17:54.170
zh你这里一样的啊
17:54.170–17:55.410
enCodex
17:55.410–17:57.630
enreview
17:57.630–18:00.750
zh然后我们就直接review
18:00.750–18:03.230
zh然后这里面大家看会有一个提示啊
18:03.230–18:04.630
zh第一个的话就是pr
18:04.630–18:07.690
zh就是我们现在基于这个分支去check
18:07.690–18:10.490
zh然后第二个就是我们没有提交的一些change
18:10.490–18:12.490
zh就我现在有一些代码没提交嘛
18:12.490–18:13.350
zh刚刚那些代码
18:13.350–18:14.530
zh我们去check一下
18:14.530–18:16.390
zh然后是已经已提交的
18:16.390–18:20.290
zh基本上就是这个是自定义的这种审查
18:20.290–18:23.230
zh我们现在这个场景选择第二个
18:23.230–18:27.050
zh那去扫描执行一些 git 命令
18:27.050–18:28.830
zh看一下我提的代码也没问题
18:28.830–18:29.350
zh是吧
18:29.350–18:32.270
zh你看但是他现在
18:32.270–18:34.870
zh给我的结果是英文的是吧
18:34.870–18:38.030
zh那么大家可以这里加一下
18:38.030–18:43.310
zh你就使用中文输出结果
18:43.310–18:46.910
zh这里给大家提示一下就可以了
18:46.910–18:51.670
zh然后这里面我们其实也可以加一下
18:51.670–18:54.430
enCodex
18:54.430–19:00.630
enreview
19:00.630–19:01.390
zh这里还改不了
19:01.390–19:02.850
zh那我们就直接让它输出吧
19:02.850–19:03.830
zh等一下
19:03.830–19:05.270
zh它的出来的结果
19:05.270–19:07.890
zh我们可以让它再翻一下就可以了
19:07.890–19:11.550
zh这个就是两种
19:11.550–19:13.230
zh一种是 Git 有项目的
19:13.230–19:14.370
zh就有提交记录的
19:14.370–19:15.590
zh这种是没有提交记录
19:15.590–19:16.870
zh指定单文件的审查
19:16.870–19:18.030
zh这个都是OK的
19:18.030–19:19.190
zh看大家具体
19:19.190–19:21.190
zh你是什么一个场景
19:21.190–19:22.650
zh都是OK的
19:22.650–19:25.270
zh然后就是比如说
19:25.270–19:28.750
zh我们还可以去自定义一些评审命令
19:28.750–19:30.890
zh比如说你想这个
19:30.890–19:32.650
zh重点关注某一个
19:32.650–19:33.550
zh是吧
19:33.550–19:35.850
zh你要自己定义一套机制
19:35.850–19:38.650
zh然后去做一些这个审查
19:38.650–19:39.490
zh是吧
19:39.490–19:41.930
zh那么他都可以去做一个处理啊
19:41.930–19:43.630
zh这个是你要自定一些评审命令
19:43.630–19:46.010
zh基本上我们用不到那么麻烦
19:46.010–19:47.250
zh你直接就让他去
19:47.250–19:49.230
zhcheck你有没有提交了
19:49.230–19:52.330
zh因为这个尽量是自己提交上去代码
19:52.330–19:52.830
zh没什么问题
19:52.830–19:53.850
zh自己先check一下
19:53.850–19:56.210
zh所以大部分你用这个场景就可以了
19:56.210–19:57.350
zh或者是已经提交的
19:57.350–19:59.990
zh让专门的审查人员看你的PR就可以了
19:59.990–20:01.810
zh这也是OK的
20:01.810–20:07.290
zh你看这个就是我们分析的这个结果
20:07.290–20:09.210
zh就是刚刚分析那个贪吃蛇
20:09.210–20:10.110
zh那个游戏是吧
20:10.110–20:11.670
zh写的代码有没有问题
20:11.670–20:12.490
zh我们去看一下
20:12.490–20:14.550
zh然后这里面你看是不是就分析出来了
20:14.550–20:17.510
zh空格暂停被双肩停抵消
20:17.510–20:18.790
zh然后什么什么规则
20:18.790–20:20.490
zh什么反转是吧
20:20.490–20:22.070
zh然后什么误判呀
20:22.070–20:26.430
zh就是他给你提了三个问题是吧
20:26.430–20:27.770
enP1 P2 P3
20:27.770–20:28.650
zh三个问题
20:28.650–20:31.290
zh这是他给的一些反馈啊
20:31.290–20:33.130
zh这个结果还是
20:33.130–20:35.490
zh比较准确的
20:35.490–20:36.530
zh那这个里面描述
20:36.530–20:38.230
zh这个你看损坏的
20:38.230–20:39.850
zh这个就是字符集的问题
20:39.850–20:41.890
zh然后你比如说根据这个审查结果
20:41.890–20:42.610
zh你就可以来提到
20:42.610–20:44.630
zh参考上述
20:44.630–20:47.550
zh审查结果
20:47.550–20:49.750
zh帮我修复
20:49.750–20:52.370
zh代码
20:52.370–20:53.910
zh就是审查完之后
20:53.910–20:54.630
zh这些个东西
20:54.630–20:56.450
zh你就可以让它自动修复了
20:56.450–20:57.630
zh这么就是
20:57.630–20:59.550
zh是不是就全自动了是吧
20:59.550–21:01.370
zh就你让它这个完
21:01.370–21:02.710
zh让它自己修复
21:02.710–21:04.730
zh你再去看一下有没有问题
21:04.730–21:07.110
zh这就是做一个循环啊
21:07.110–21:09.550
zh让它不断的去修正完善是吧
21:09.550–21:13.590
zh然后这个里面它也是这个英文的
21:13.590–21:14.790
zh你就这么来说
21:14.790–21:21.570
zh上面输出的结果
21:21.570–21:25.850
zh帮我翻译为中文输出
21:25.850–21:27.990
zh就夹夹一个这样就可以
21:27.990–21:31.790
zh他就会给你把那个这个里面你看
21:31.790–21:34.090
zh是吧
21:34.090–21:36.250
zh这个是我之前的改了一些这个代码
21:36.250–21:36.490
zh是吧
21:36.490–21:37.330
zh改了一些脚本
21:37.330–21:39.650
zh然后包括一些这个style啊
21:39.650–21:40.250
zh一些CSS啊
21:40.250–21:41.090
zh然后做一些调整
21:41.090–21:42.930
zh他都帮我分析出来了啊
21:42.930–21:44.330
zh这个就是评审的一些细节
21:44.330–21:47.250
zh然后你看已经审查修复了啊
21:47.250–21:47.770
zh修复完之后
21:47.770–21:49.030
zh你还可以让他去测试一下
21:49.030–21:49.350
zh是吧
21:49.350–21:51.610
zh然后你就比如说你再去这个指令
21:51.610–22:00.970
zh再执行一次代码审查
22:00.970–22:11.330
zh看一下
22:11.330–22:19.730
zh之前那些之前审查
22:19.730–22:28.370
zh问题有没有修复
22:28.370–22:35.690
zh输出一个对照表格
22:35.690–22:43.190
zh比如说原问题
22:43.190–22:49.970
zh问题修复
22:49.970–22:54.010
zh关键点
22:54.010–22:56.870
zh然后修复
22:56.870–23:02.670
zh代码文件
23:02.670–23:04.090
zh修复代码
23:04.090–23:04.910
zh代码好吗
23:04.910–23:05.750
zh因为就一个文件
23:05.750–23:06.130
zh是吧
23:06.130–23:07.950
zh就是他修完之后
23:07.950–23:10.090
zh我怎么知道他有没有修呢
23:10.090–23:11.550
zh我们让他说出一个对照
23:11.550–23:12.470
zh是吧
23:12.470–23:14.110
zh让他做一个总结嘛
23:14.110–23:16.430
zh不然你也不知道他改了成功没有
23:16.430–23:18.290
zh然后你也不知道到底代码
23:18.290–23:18.930
zh动了哪些
23:18.930–23:19.770
zh虽然上面有
23:19.770–23:22.070
zh但是我还是希望看到一个表格
23:22.070–23:22.970
zh是吧
23:22.970–23:24.650
zh这是我们看的更加清晰一些
23:24.650–23:28.510
zh所以大家就可以通过这些个提示词
23:28.510–23:30.290
zh不断的让他就优化
23:30.290–23:31.010
zh调整
23:31.010–23:32.850
zh做一些归纳
23:32.850–23:35.910
zh这样的话你这个效率是不是就提升了
23:35.910–23:38.170
zh而且你还做了一把check
23:38.170–23:40.270
zh它的准确性也会高很多
23:40.270–23:45.090
zh所以这些个细节问题啊
23:45.090–23:46.670
zh就是大家你可以去
23:46.670–23:50.110
zh适当的把这个东西给它用起来啊
23:50.110–23:51.710
zh这样的话我们整个效率的话
23:51.710–23:56.190
zh就会得到一个提升
23:56.190–24:09.190
zh然后,请用中文再输出上面的结果。
24:09.190–24:19.450
zh他没有帮我把之前的那个结果列出来是吧
24:19.450–24:22.330
zh他现在又帮我啊
24:22.330–24:23.890
zh我执行的是review是吧
24:23.890–24:25.810
zh那我还不能加那个review了
24:25.810–24:29.590
zh那我是不能加那个review的
24:29.590–24:31.410
zh我加了review之后
24:31.410–24:34.650
zh他既又又直接的那个是吧
24:34.650–24:35.210
zh那我就
24:35.210–24:38.990
zh那我就不能不能加review了
24:38.990–24:39.850
zh加review之后
24:39.850–24:42.110
zh他还是在帮我做代码审查的
24:42.110–24:44.790
zh我就直接这么来
24:44.790–24:46.990
zh直接说一个提示词
24:46.990–24:48.410
zh就不要加入review了
24:48.410–24:50.290
zh就不要再做代码审查
24:50.290–24:52.450
zh直接让他给我结果就行了
24:52.450–24:58.650
zh所以review他根本的这个点的话
24:58.650–25:00.310
zh还是要去做什么呢
25:00.310–25:01.510
zh去做review的
25:01.510–25:08.990
zh他不会帮你去做其他的一个操作的
25:08.990–25:12.250
zh你看他是不是这里就修复了
25:12.250–25:12.710
zh是吧
25:12.710–25:17.510
zh看一下
25:17.510–25:19.210
zh这是不是有一个表格
25:19.210–25:20.870
zh以修复
25:20.870–25:22.390
zh你看原问题是什么
25:22.390–25:24.090
zh修复关键点是什么
25:24.090–25:24.470
zh是吧
25:24.470–25:26.750
zh然后修复代码行
25:26.750–25:27.670
zh以修复
25:27.670–25:29.870
zh这个是不是就比较清晰了
25:29.870–25:32.250
zh然后最后又代码审查出来一个未修复
25:32.250–25:34.330
zh那你就继续在他
25:34.330–25:35.330
zh再修复
25:35.330–25:36.170
zh再去check
25:36.170–25:37.410
zh再不断的
25:37.410–25:38.630
zh直到把所有的问题修完
25:38.630–25:40.370
zh这个问题是不是就解决了
25:40.370–25:41.510
zh这个就是一个思路
25:41.510–25:42.090
enOK
25:42.090–25:44.030
zh
25:44.030–25:45.370
zh然后是Web搜索
25:45.370–25:46.730
zh那这个的话
25:46.730–25:48.390
zh就是我们可以用一些
25:48.390–25:49.870
zh这个检索工具
25:49.870–25:51.030
zh比如说抓取一些新闻
25:51.030–25:52.330
zh或者检索一些信息
25:52.330–25:54.430
zh那这个的话
25:54.430–25:55.930
zh我们可以用 YOLO 模式
25:55.930–25:58.450
zh就是因为整个对话的话
25:58.450–26:00.270
zh因为它要反复的给你去
26:00.270–26:01.970
zh有一些问题
26:01.970–26:02.550
zh你确认
26:02.550–26:03.910
zh比如说能不能调用API
26:03.910–26:04.990
zh能不能调用一些工具
26:04.990–26:07.210
zh这个大家可以加一个 YOLO
26:07.210–26:08.350
zh加一个 YOLO
26:08.350–26:11.390
zh然后包括我们还加一个search
26:11.390–26:12.990
zh就是我们可以去检索
26:12.990–26:14.850
zh就是你把这个参数带进去
26:14.850–26:18.150
zh他在默认的时候就会去达到这个search
26:18.150–26:21.450
zh这么一个目的
26:21.450–26:23.350
zh比如说我们退出去
26:23.350–26:26.250
encodex
26:26.250–26:27.550
zh形容这个 YOLO 模式
26:27.550–26:35.350
zh然后再加上这个search
26:35.350–26:37.350
zh加一个search
26:37.350–26:55.790
zh比如说帮我抓取最最热门的十条AI资讯
26:55.790–26:58.110
zh那我现在就要search了是吧
26:58.110–26:58.910
zh要抓取嘛
26:58.910–27:00.790
zh你看现在是不是就在search
27:00.790–27:03.490
zh就你明确的加上这个search命令之后的话
27:03.490–27:07.350
zh那么他接下来要工作的一个逻辑就是
27:07.350–27:13.030
zh要优先从这个web这个search里面去拿那个结果
27:13.030–27:13.330
zh是吧
27:13.330–27:18.230
zh当然这个search结果是OpenAI自己维护的一个网页结果检索
27:18.230–27:21.830
zh所以你看到的可能是这个缓存是吧
27:21.830–27:24.290
zh但是也不一定是最新的抓取页面
27:24.290–27:25.290
zh这个看情况
27:25.290–27:27.430
zh得看他具体search的时候
27:27.430–27:30.610
zh是不是调用了一些实时的API去search的
27:30.610–27:32.250
zh他有可能会命中缓存啊
27:32.250–27:34.750
zh所以大家看到结果不一定是对的
27:34.750–27:36.470
zh所以这个最保险的话
27:36.470–27:38.430
zh你就是还是要去指令一个API
27:38.430–27:41.490
zh比如说使用这个 Tavily 那个 search
27:41.490–27:43.050
zh使用Beamsearch
27:43.050–27:45.190
zh这个指定的这个工具去search
27:45.190–27:46.770
zh这样的话效果会更好一些
27:46.770–27:51.050
zh你看这个结果
27:51.050–27:52.250
zh5月31号
27:52.250–27:56.390
zh结果还是看着好像是没什么问题的
27:56.390–27:58.190
zh但是没抓到最新的是吧
27:58.190–28:00.110
zh只抓到5月28号的
28:00.110–28:02.030
zh所以这个里面还是会有一些缓存的
28:02.030–28:04.290
zh它没有最新的嘛
28:04.290–28:06.990
zh说明可能命中缓存了
28:06.990–28:10.670
zh所以大家还可以去装一些插件啊
28:10.670–28:13.970
zh比如说用 Tavily Research 的这种方式去检索啊
28:13.970–28:15.530
zh那么还有一些场景
28:15.530–28:17.030
zh比如说我这个对话
28:17.030–28:18.790
zh我不需要参考Web Search
28:18.790–28:21.450
zh我永远以内部的一些文档为准
28:21.450–28:24.050
zh那你就要把这个Web Search给disable掉
28:24.050–28:24.670
zh关闭
28:24.670–28:26.210
zh不然的话有时候去Search
28:26.210–28:28.250
zh这个结果反而是不准的
28:28.250–28:30.610
zh然后的话
28:30.610–28:32.850
zh这个大家也可以去结合这个Codex
28:32.850–28:35.110
zh这个非终端的这种方式
28:35.110–28:35.390
zh是吧
28:35.390–28:37.710
zh非交互式的去执行
28:37.710–28:39.070
zh就你只要给结果啊
28:39.070–28:41.750
zh我也不关心什么控制台聊天什么的
28:41.750–28:43.630
zh就不需要关注这个点了
28:43.630–28:50.790
zh然后是我们可以直接用输入提示词去运行
28:50.790–28:53.430
zh就是我们前面给他讲
28:53.430–28:54.190
zh这个Codex
28:54.190–28:56.930
zh他的一个这个EXEC是吧
28:56.930–28:59.290
zh这个交互式的
28:59.290–29:01.450
zh就是各种交互式的话
29:01.450–29:04.390
zh他都可以跳过这个交互式UI
29:04.390–29:06.190
zh直接给结果
29:06.190–29:06.850
zh并且的话
29:06.850–29:08.750
zh你还可以加一些pass的参数
29:08.750–29:11.450
zh然后去指定目录去做处理
29:11.450–29:15.250
zh比如说我现在想切换到D盘
29:15.250–29:17.950
zh比如我们加一个codex
29:17.950–29:21.610
encodex
29:21.610–29:27.930
zh比如说我们想换一个
29:27.930–29:30.750
zh分析一下
29:30.750–29:32.550
zh这个项目
29:32.550–29:35.350
zh然后
29:35.350–29:38.690
enpath
29:38.690–29:43.290
zhD盘
29:43.290–29:45.090
encodex
29:45.090–29:47.130
zh然后我让他分析这个
29:47.130–29:47.910
zh路徑吧
29:47.910–29:58.910
zh分析这个项目
29:58.910–30:00.750
zh这里输错了
30:00.750–30:10.750
enexec
30:10.750–30:14.750
enpath
30:14.750–30:16.750
ennotFound
30:16.750–30:30.750
zh要加到前面去
30:30.750–30:40.750
zh分析一下这个项目
30:40.750–30:45.750
zh去path一个value
30:45.750–30:48.750
zh这里直接这样试一下
30:48.750–30:52.750
zh那我就
30:52.750–30:54.750
zh没事我就让那个来修正
30:54.750–30:56.750
zh让Codex帮我修正吧
30:56.750–31:00.750
zh我们也不知道哪个地方有问题是吧
31:00.750–31:08.950
zh帮我修正下这个命令输出
31:08.950–31:10.550
zh这我们遇到问题
31:10.550–31:12.250
zh直接让Codex帮我们修正就完了
31:12.250–31:14.930
zh他会自己去查帮助文档
31:14.930–31:16.670
zh帮我们去优化这个命令呢
31:16.670–31:19.430
zh所以有问题也没关系
31:19.430–31:21.710
zh直接让他输出就可以了
31:21.710–31:25.850
zh然后用-c
31:25.850–31:30.210
zh不在 git 仓库里面加 -c
31:30.210–31:32.310
zh在 git 仓库里面
31:32.310–31:33.670
zh那我们就用c吧
31:33.670–31:35.510
zh它不是pass啊
31:35.510–31:35.730
zh
31:35.730–31:36.670
zh我推出去
31:36.670–31:40.890
zh好可以了
31:40.890–31:42.170
zh要用-c啊
31:42.170–31:44.090
zh就不是pass了
31:44.090–31:47.570
zh那现在是不是就可以了
31:47.570–31:47.890
zh是吧
31:47.890–31:51.110
zh他会帮我们把这个整个目录给他分析一下啊
31:51.110–31:54.025
zh这个就是
31:54.025–31:59.025
zh这个就是我们可以用非交互式的方式去用一些。
31:59.025–32:01.025
zh然后是审批模式。
32:01.025–32:05.025
zh那这个审批模式的话,这里面是什么意思呢?
32:05.025–32:07.025
zh比如说大家,
32:07.025–32:09.525
zh你现在习惯到Codex
32:09.525–32:12.105
zh你让他执行一些命令是吧
32:12.105–32:14.065
zh那有些情况下
32:14.065–32:15.745
zh执行一些命令是需要授权的
32:15.745–32:18.365
zh这里面他有几种授权模式啊
32:18.365–32:19.165
zh叫 Permissions
32:19.165–32:23.405
zh默认的话是这个需要授权啊
32:23.405–32:24.825
zh比如说你跑一些编辑文件
32:24.825–32:25.905
zh一些敏感命令的时候
32:25.905–32:26.905
zh他是需要授权的
32:26.905–32:30.565
zh或者是你只分析一些文档
32:30.565–32:30.865
zh是吧
32:30.865–32:31.945
zh你不想编辑的话
32:31.945–32:32.725
zh你就用 ReadOnly
32:32.725–32:34.425
zh他不能改
32:34.425–32:36.065
zh你就用只读模式
32:36.065–32:39.485
zh这个是非管理员的这个沙箱模式
32:39.485–32:40.745
zh这是推荐的啊
32:40.745–32:42.745
zh运行一些敏感命令是需要授权的
32:42.745–32:45.765
zh特别是访问一些网络编辑一些文件的时候需要授权
32:45.765–32:48.485
zh然后第三个的话是自动的review
32:48.485–32:50.345
zh他会根据实际的一些情况
32:50.345–32:52.925
zh是针对性的去做一些审查
32:52.925–32:55.565
zh但是在某些情况下还是需要授权的
32:55.565–32:57.425
zh全访问就是yolo模式
32:57.425–33:01.765
zh就是我们现在是不需要任何授权了
33:01.765–33:03.105
zh直接什么命令都可以执行
33:03.105–33:04.805
zh然后在这个APP里面
33:04.805–33:06.145
zh这边有也有一个啊
33:06.145–33:09.905
zh左下角你看默认权限自动审查啊
33:09.905–33:11.525
zh如果大家做项目开发的话
33:11.525–33:14.405
zh你如果不想有很多交互性的东西出来的话
33:14.405–33:17.285
zh你就选最后一个完全开放权限就完事了啊
33:17.285–33:18.345
zh这个很好理解
33:18.345–33:20.385
zh就是把所有的权限都给codex
33:20.385–33:21.425
zh让他去干活
33:21.425–33:24.405
zh不需要给你反复确认啊
33:24.405–33:27.905
zh因为这个反复要你确认的话也挺烦的啊
33:27.905–33:28.625
zh耽误时间
33:28.625–33:34.785
zh然后是脚本化的这个方式去执行这个codex
33:34.785–33:37.405
zh那这个的话就是我们
33:37.405–33:40.305
zh比如说现在想用
33:40.305–33:42.405
zh这个exec的子命令
33:42.405–33:44.845
zh然后去接入自动化的一些工作
33:44.845–33:47.405
zh包括我们想接入传统的一些 Shell 脚本
33:47.405–33:49.345
zh大家就可以把这个codex
33:49.345–33:52.225
zhexec这个命令给它整合成一个脚本
33:52.225–33:53.105
zh是吧
33:53.105–33:55.225
zh比如说我们现在
33:55.225–33:58.145
zh应该也可以结合 grep
33:58.145–33:59.665
zhgrep 那个命令
33:59.665–34:02.665
zh比如说我们现在来分析一下
34:02.665–34:07.125
zh可以怎么来用呢
34:07.125–34:07.965
zh比如说我现在
34:07.965–34:09.665
zh你看这个目录下面
34:09.665–34:11.185
zh现在有很多目录文件是吧
34:11.185–34:13.125
zh那我们想让它分析一下
34:13.125–34:19.225
zh比如说分析一下
34:19.225–34:23.085
zh当前有哪些目录
34:23.085–34:24.645
zh然后这里面
34:24.645–34:27.445
zh我看这里面用这个 grep
34:27.445–34:32.665
zh然后这个用这个 grep 给它过滤一下
34:32.665–34:34.825
zh看这样行不行
34:34.825–34:37.965
zh我们把这个复制一下
34:37.965–34:39.505
zh这个命令是错的
34:39.505–34:42.065
zh那我们就用Codex来输出一下
34:42.065–34:46.545
zh帮我修正一下这个命令
34:46.545–34:53.485
zh就我想让他理解一下
34:53.485–34:56.745
zh我们想要整合这个grep的一些命令
34:56.745–34:59.625
zh那他可能啊
34:59.625–35:01.065
zh这个windows下面没有grep
35:01.065–35:03.225
zh所以他会推荐其他的这个命令
35:03.225–35:05.325
zh所以你装了rg
35:05.325–35:06.325
zh你可以用这个命令
35:06.325–35:09.145
zh如果说你没有那个rg的话
35:09.145–35:10.185
zh你就可以用这个命令
35:10.185–35:26.185
zh这个还要加一个
35:26.185–35:26.585
enTrust
35:26.585–35:34.385
zh看一下
35:34.385–35:37.925
zh看是不是还少了什么
35:37.925–35:45.965
zh帮我修正下命令
35:45.965–35:49.925
zh没事哪里有问题啊
35:49.925–35:52.545
zh参数放错了
35:52.545–35:54.925
zh应该先要放前面啊
35:54.925–35:56.585
zh好,执行一下
35:56.585–36:07.305
zh这个什么意思呢
36:07.305–36:10.385
zh就是我们可以把这个子命令
36:10.385–36:14.005
zhexec这个子命令和shell脚本组合起来
36:14.005–36:15.345
zh但是windows下面没有shell
36:15.345–36:16.345
zh它是powershell
36:16.345–36:18.725
zh它不是linux上面那个bash shell
36:18.725–36:21.985
zh那它也可以结合那个powershell的一些命令
36:21.985–36:22.985
zh给它做一些组合
36:22.985–36:26.285
zh比如说我们想用这个Codex
36:26.285–36:27.545
zh给你做完分析之后
36:27.545–36:29.005
zh再用PowerShell的一些命令
36:29.005–36:29.925
zh给它做些处理
36:29.925–36:31.025
zh那这样的话
36:31.025–36:32.945
zh也能拿到我们想要的一个结果
36:32.945–36:34.605
zh你看这个里面
36:34.605–36:35.725
zh它分析完之后
36:35.725–36:37.405
zh给你把log1的这个结果
36:37.405–36:38.145
zh给你输出了
36:38.145–36:38.465
zh是吧
36:38.465–36:39.605
zh三级目
36:39.605–36:41.505
zh然后单独给你分析出来了
36:41.505–36:44.025
zh这个就是它用了一些
36:44.025–36:45.345
zhsearch的这种方式
36:45.345–36:49.585
zh就是我们加了一些特殊的这个处理
36:49.585–36:49.945
zh是吧
36:49.945–36:50.945
zh做一些过滤
36:50.945–36:52.505
zh就是你
36:52.505–36:53.885
zh在Linux上面
36:53.885–36:55.425
zh你就可以用grep的命令
36:55.425–36:56.705
zh给它做一些处理
36:56.705–36:59.905
zh这个就是脚本化的方式去执行
36:59.905–37:01.585
zh然后的话
37:01.585–37:02.985
zh就是我们还可以用@
37:02.985–37:04.685
zh这个其实刚刚也给它演示
37:04.685–37:06.325
zh我们可以@一些文件
37:06.325–37:08.465
zh@指定的一些目录
37:08.465–37:09.805
zh去做一些分析
37:09.805–37:11.925
zh比如说我们现在
37:11.925–37:14.685
zh看一下面有这个box
37:14.685–37:15.225
zh是吧
37:15.225–37:18.225
zh有一个box的一个目录
37:18.225–37:21.285
zh那你就可以切进去
37:21.285–37:25.885
zh比如说cd到目录Codex
37:25.885–37:33.285
zh帮我分析一下目录的作用
37:33.285–37:48.285
en@box
37:48.285–37:49.285
zh你就直接@
37:49.285–37:51.045
zh@指定的一个文件
37:51.045–37:53.125
zh比如说让他review或者怎么样的
37:53.125–37:55.865
zh刚刚就是用一个review的命令
37:55.865–37:58.185
zh给他演示了一下整个的一个逻辑
37:58.185–37:58.545
zh是吧
37:58.545–38:02.905
zh在这个里面他就可以去做一个分析
38:02.905–38:08.825
zh然后我们还可以去加一些目录
38:08.825–38:09.205
zh是吧
38:09.205–38:10.845
zh然后在这个里面
38:10.845–38:11.765
zh比如说cp
38:11.765–38:14.585
zh这个加很多一些关联的一些目录
38:14.585–38:15.945
zhall目录
38:15.945–38:18.105
zh因为有时候我们这个项目
38:18.105–38:19.485
zh就是有多个模块
38:19.485–38:21.425
zh就在大家打开一个工程
38:21.425–38:22.785
zh你下面发现有多个目录
38:22.785–38:24.258
zh你都要编
38:24.258–38:27.258
zh有前端的,有后端的。
38:27.258–38:32.258
zh比如说像洛伊这个,大家看,它外面都是后端的。
38:32.258–38:36.258
zh只有这个目录是前端的,这个是前端的页面,这个后端。
38:36.258–38:39.478
zh有时候你可能需要暴露一些
38:39.478–38:40.898
zh可以写的根目录
38:40.898–38:42.118
zh因为他当前操作
38:42.118–38:43.738
zh只在当前会话嘛
38:43.738–38:44.938
zh比如说跨目录了
38:44.938–38:45.318
zh是吧
38:45.318–38:46.498
zh有些在D盘
38:46.498–38:47.098
zh有些在E盘
38:47.098–38:47.838
zh有些在F盘
38:47.838–38:48.818
zh这几个目录
38:48.818–38:51.018
zh你都要跨目录操作的时候
38:51.018–38:52.558
zh那你就要把权限配置一下
38:52.558–38:54.578
zh让他可以暴露更多的根目录
38:54.578–38:56.578
zh因为他默认只能操作当前会话的
38:56.578–38:57.058
zh是吧
38:57.058–38:57.958
zh所以这个里面
38:57.958–38:59.878
zh大家可以去指定更多的目录
38:59.878–39:01.238
zh然后去做一个处理
39:01.238–39:04.458
zh你看这个
39:04.458–39:05.618
zh他们帮分析出来的
39:05.618–39:07.438
zhDock下面的一些目录是吧
39:07.438–39:08.118
zh这个是我们
39:08.118–39:09.018
enat
39:09.018–39:10.958
zhat那个Dock之后的一个结果
39:10.958–39:14.318
zh所以大家可以多用一下这个at功能
39:14.318–39:15.758
zh然后在这个里面
39:15.758–39:17.598
zh可以去执行一下
39:17.598–39:19.258
zh一些不同的这个结果
39:19.258–39:23.158
zh然后我们还可以去执行一些这个命令
39:23.158–39:24.478
zh加一些CD
39:24.478–39:27.438
zh就是你可以在命令里面
39:27.438–39:29.798
zh单独去指定一些参数
39:29.798–39:30.878
zh要么加目录
39:30.878–39:32.518
zh要么加一些指定
39:32.518–39:32.938
zh是吧
39:32.938–39:34.558
zh这个都是OK的
39:34.558–39:37.838
zh然后最好我们就是在启动的时候
39:37.838–39:38.878
zh把环境就准备好了
39:38.878–39:40.698
zh这样子不会去浪费token
39:40.698–39:41.538
zh还要去记这个什么
39:41.538–39:44.438
zh因为你一开始没把这些环境准备好的话
39:44.438–39:45.698
zh你跟他提问
39:45.698–39:47.498
zh他又要产生各种各样的对话
39:47.498–39:50.138
zh然后再来说让你去加一些权限
39:50.138–39:52.018
zh就白白就浪费token了
39:52.018–39:52.978
zh因为他就探测
39:52.978–39:54.838
zh这个里面会带来一些
39:54.838–39:56.638
zh不必要的一些token消耗
39:56.638–39:59.418
zh所以大家首先你要把一些
39:59.418–40:00.818
zhpython的什么虚拟环境
40:00.818–40:02.758
zh或者其他的一些语言环境
40:02.758–40:04.398
zh比如说你 conda
40:04.398–40:05.758
zh一些python
40:05.758–40:06.818
zh这些个环境
40:06.818–40:07.678
zh你现在给它激活
40:07.678–40:08.958
zh激活完之后
40:08.958–40:10.258
zh相当于codex在
40:10.258–40:11.858
zh直接命令的时候
40:11.858–40:12.898
zh你跟它对话的时候
40:12.898–40:14.478
zh这些个环境的话
40:14.478–40:15.858
zh已经都整合好了
40:15.858–40:17.258
zh都已经准备好了
40:17.258–40:19.178
zh只有大家直接用就可以了
40:19.178–40:21.478
zh所以说我们一开始的话
40:21.478–40:23.158
zh你得把一些这个环境
40:23.158–40:24.598
zh都准备好
40:24.598–40:25.918
zh包括一些目录的话
40:25.918–40:27.098
zh你得提前规划好
40:27.098–40:29.638
zh在一些初始化命令的时候
40:29.638–40:31.318
zh就是大家比如说
40:31.318–40:34.258
zh你想把Codex整合到公司的一些
40:34.258–40:36.638
zh传统的事要脚本里面去
40:36.638–40:37.378
zh把它做一个命令
40:37.378–40:38.178
zh做一个执行的话
40:38.178–40:40.058
zh你得先给它把环境配好
40:40.058–40:41.418
zh配好完了之后的话
40:41.418–40:45.218
zh然后当我们执行Codex命令的时候
40:45.218–40:46.958
zh这些上下文都已经准备好了
40:46.958–40:49.898
zh比如说一些运维扫描的一些目录
40:49.898–40:50.458
zh是吧
40:50.458–40:51.678
zh一些监控的目录在哪里
40:51.678–40:52.938
zh一些日志目录在哪里
40:52.938–40:54.638
zh你把这些目录都给它
40:54.638–40:55.738
zh它准备好了
40:55.738–40:57.498
zh那你对话的时候
40:57.498–40:58.778
zh你就直接跟它提问你就完了
40:58.778–41:00.558
zh比如说帮我把日志目录
41:00.558–41:01.798
zh下面的文件清理一下
41:01.798–41:05.338
zh帮我把那些个这个数据抓取一下
41:05.338–41:07.558
zh你就直接这样去说就可以了
41:07.558–41:08.918
zh因为他已经有了上下文
41:08.918–41:10.298
zh这些目录他都知道了
41:10.298–41:13.078
zh所以说就不会浪费token了
41:13.078–41:15.298
zh这个就是提示与快捷方式
41:15.298–41:16.218
zh这个就是
41:16.218–41:20.178
zh我们要给他讲的一些内容
0:00.000–0:09.600
然后就是Codex里面一些CLI的一些命令,如何高效的去使用。
0:09.600–0:11.400
然后它的规范是怎么样的。
0:11.400–0:24.400
那大家掌握了这个CLI的一个高效的交互方式之后,你就会知道你的整个效率就可以得到快速的提升。
0:24.400–0:31.020
首先的话就是我们最开始通过Codex命令
0:31.020–0:31.340
是吧
0:31.340–0:33.460
那我们可以看到一些什么命令
0:33.460–0:34.780
就是这个里面
0:34.780–0:37.400
我们在这个Cli里面
0:37.400–0:40.400
首先啊
0:40.400–0:43.780
这个里面
0:43.780–0:46.520
大家首先会看到各种各样的一些命令
0:46.520–0:46.840
是吧
0:46.840–0:48.560
那你可以用一个help
0:48.560–0:54.400
这个里面还没有help
0:54.400–0:59.620
我们在外面看一下
0:59.620–1:00.800
Codex
1:00.800–1:04.020
来给大家看
1:04.020–1:05.720
就是你可以看到
1:05.720–1:07.020
你在这个通过这种方式
1:07.020–1:07.920
你可以查询一下
1:07.920–1:09.620
它目前有哪一些命令
1:09.620–1:12.460
如果大家看不懂的话
1:12.460–1:13.380
你可以这样来
1:13.380–1:15.900
因为它是全是英文的
1:15.900–1:16.760
你可以正好
1:16.760–1:18.640
比如说你Codex进去
1:18.640–1:22.640
帮我执行下Codex
1:22.640–1:24.440
help
1:24.440–1:36.840
然后将帮助输出为中文表达
1:36.840–1:42.140
他会先执行这个啊
1:42.140–1:44.120
然后把内容给我们翻译一下
1:44.120–1:48.280
就这个是教大家怎么样去学习
1:48.280–1:51.340
他的一个命令行的一个使用啊
1:51.340–1:53.740
因为英文大家可能看不太明白
1:53.740–1:55.020
用这种Cli的话
1:55.020–1:57.140
你就能看得更加清晰一些
1:57.140–2:00.340
来大家可以看到他有哪些Cli呢
2:00.340–2:02.260
首先是执行是吧
2:02.260–2:05.900
这个叫以非交互式的方式去执行
2:05.900–2:10.060
我们这里来对照来给大家讲啊
2:10.060–2:13.700
我再开一个这个终端
2:13.700–2:18.300
一定要以终端管理员啊
2:18.300–2:21.340
然后切换到地盘
2:21.340–2:22.540
codex mode
2:22.540–2:26.620
切换到myproject
2:26.620–2:29.580
2:29.580–2:31.520
然后首先的话就是
2:31.520–2:33.680
比如说这个里面
2:33.680–2:37.000
我们就可以以这个命令的方式去分析一下
2:37.000–2:40.660
就你可以在外面去执行这个codex命令
2:40.660–2:43.260
然后这个是什么意思呢
2:43.260–2:45.600
你在外面起了一个问题是吧
2:45.600–2:47.940
然后它会切换到这个窗口里面去
2:47.940–2:48.820
然后执行这个
2:48.820–2:50.720
然后执行完之后的话
2:50.720–2:54.120
他会给你一个结果的一个输出
2:54.120–2:56.700
就是这么一个效果
2:56.700–2:58.980
就是你可以直接用一个命令的方式进去
2:58.980–3:01.000
或者你直接用Codex的方式进去
3:01.000–3:01.840
都是OK的
3:01.840–3:05.380
你看他现在是帮你去分析整个的一个目录结构
3:05.380–3:06.080
是吧
3:06.080–3:11.600
就是我们可以以一个Codex命令
3:11.600–3:14.780
加上一个提示词的方式进入到这个Codex页面
3:14.780–3:16.080
然后他就执行任务
3:16.080–3:17.540
那有些东西说
3:17.540–3:19.800
比如说我现在不想进入到那个命令行
3:19.800–3:21.600
我现在只想拿一个结果怎么办呢
3:21.600–3:23.160
就大家可以这种方式
3:23.160–3:25.400
叫做exec
3:25.400–3:28.000
就要以非交互式的方式
3:28.000–3:30.700
非交互式就是我不想去对话了
3:30.700–3:31.900
直接给我结果就完了
3:31.900–3:33.300
exec
3:33.300–3:34.260
然后
3:34.260–3:37.560
你说帮我分析一下
3:37.560–3:40.620
当前项目结构
3:40.620–3:44.100
跳过vip
3:44.100–3:47.060
他说要把我们把这个命令给他加上
3:47.060–3:49.800
那我就加一下
3:49.800–3:52.260
来大家看
3:52.260–3:53.080
接下来就是
3:53.080–3:56.300
他会以命令行的方式去跑啊
3:56.300–3:59.000
就是我们纯粹就是跑一个命令行
3:59.000–4:00.820
也没有什么交互页面了
4:00.820–4:02.540
直接就给你结果了
4:02.540–4:04.960
大家看就没有进入到那个对话页面了
4:04.960–4:07.120
这里面应该大家能理解啊
4:07.120–4:09.660
就是我现在整个就是以
4:09.660–4:11.600
执行命令的方式去给结果
4:11.600–4:13.980
然后我就不要进入到那个交互了啊
4:13.980–4:15.680
这个就叫做非交互式的方式
4:15.680–4:16.440
去运行codex
4:16.440–4:17.900
这好处是什么呢
4:17.900–4:19.360
好处就在于比如说
4:19.360–4:22.360
我现在有一些传统的运维方式
4:22.360–4:24.640
是以命令的方式去运行的
4:24.640–4:25.960
它不需要交互界面
4:25.960–4:27.840
我现在就相当于调用一个
4:27.840–4:29.500
是以命令的方式去使用Codex
4:29.500–4:33.260
那你就要以加一个exec的这个参数
4:33.260–4:34.760
然后就做一个调用
4:34.760–4:37.580
那现在是不是我们给它分析出来了
4:37.580–4:38.680
结果是吧
4:38.680–4:39.400
完了之后
4:39.400–4:41.780
它就会退回到这个继续终端页面
4:41.780–4:44.100
所以整个就是
4:44.100–4:46.180
它就是把Codex当做一个命令来跑
4:46.180–4:47.880
这个就是exec
4:47.880–4:52.420
然后就是包括还有一些这个clean是吧
4:52.420–4:54.620
那我们可以在这个对话里面
4:54.620–4:57.740
大家直接去使用这个clean啊
4:57.740–4:59.860
就直接给它清理上下文了啊
4:59.860–5:01.840
包括使用copy的一些命令
5:01.840–5:02.980
这个是斜杠命令啊
5:02.980–5:04.160
这个我们等一下专门来说
5:04.160–5:07.840
然后还有一些比较好的一些使用的命令
5:07.840–5:09.960
叫做恢复对话啊
5:09.960–5:12.680
这个恢复对话的话是用来干嘛的呢
5:12.680–5:14.520
就是比如说啊
5:14.520–5:16.200
比如说大家现在在
5:16.200–5:20.820
我们刚刚问了一个问题是这个帮助是吧
5:20.820–5:22.980
我现在不小心退出去了
5:22.980–5:25.020
我现在退出去了怎么办呢
5:25.020–5:26.560
退出去之后的话
5:26.560–5:29.200
你大家就执行这个什么叫resume
5:29.200–5:32.580
就它会恢复到最近的一个会话
5:32.580–5:35.260
比如说我们现在把它执行一下
5:35.260–5:36.980
然后在这个里面
5:36.980–5:39.280
来大家看这里它就会选
5:39.280–5:42.300
就是我之前聊过多少次
5:42.300–5:44.620
那我现在要切回去怎么办呢
5:44.620–5:46.220
那比如说选最近的
5:46.220–5:47.920
他这里会有一个时间啊
5:47.920–5:48.880
两分钟之前
5:48.880–5:51.220
然后这边是之前的一个列表
5:51.220–5:51.520
是吧
5:51.520–5:54.320
然后我来切回去
5:54.320–5:56.420
然后大家看是不是就我就切回来了
5:56.420–5:57.280
是吧
5:57.280–5:59.620
但是这个切的不是我刚刚那个
5:59.620–6:01.720
所以我还得再切一下
6:01.720–6:03.220
刚刚那个应该是这个
6:03.220–6:04.820
来大家看是不是切过去了
6:04.820–6:07.320
就我可以快速的去恢复一个对话
6:07.320–6:07.860
6:07.860–6:11.020
然后我还可以去指定某个会话 id
6:11.020–6:11.620
6:11.620–6:12.860
这个会话 id 的话啊
6:12.860–6:14.620
这就是在哪个地方呢
6:14.620–6:17.360
6:17.360–6:18.320
继续
6:18.320–6:19.520
继续
6:19.520–6:20.180
会话ID
6:20.180–6:21.740
这里还看不到
6:21.740–6:23.180
看一下
6:23.180–6:23.740
继续
6:23.740–6:25.460
加一下这个命令
6:25.460–6:29.800
继续
6:29.800–6:32.040
这个是所有的这个对话啊
6:32.040–6:34.240
一个是当前目录的
6:34.240–6:35.760
这个是当前目录的
6:35.760–6:37.740
这个是所有目录的啊
6:37.740–6:39.420
就历史我聊过的
6:39.420–6:41.140
都会出现在这个里面去
6:41.140–6:43.860
所以这个是我之前聊过的所谓记录
6:43.860–6:46.360
然后会话ID的话
6:46.360–6:49.260
看一下怎么来查看这个会话ID
6:49.260–6:51.600
last
6:51.600–6:56.200
这个直接是跳转到上次对话
6:56.200–7:02.920
看一下last会话ID
7:02.920–7:04.920
会话ID status
7:04.920–7:07.860
那比如说我现在要切到那个
7:07.860–7:09.200
我首先切到
7:09.200–7:13.860
比如说我现在resume
7:13.860–7:15.960
我切换到这个
7:15.960–7:17.700
然后这个status
7:17.700–7:23.200
然后这里大家看啊
7:23.200–7:24.460
它的会话ID
7:24.460–7:26.160
我看这里有没有啊
7:26.160–7:28.040
会话ID
7:28.040–7:33.220
这里好像没有会话ID
7:33.220–7:33.800
这个啊
7:33.800–7:34.900
这个就是会话ID啊
7:34.900–7:37.720
就是我们输入这个status命令
7:37.720–7:40.480
就这里可以看到一个sessionID啊
7:40.480–7:42.320
然后大家把这个东西复制一下
7:42.320–7:43.680
然后我们退出去
7:43.680–7:46.560
然后再说一个resume
7:46.560–7:47.060
是吧
7:47.060–7:48.440
codex resume
7:48.440–7:51.080
然后加session id
7:51.080–7:53.360
也能切回来
7:53.360–7:54.780
我觉得这几种方式
7:54.780–7:57.104
基本上就够用了
7:57.104–7:57.955
然后我们退出去。
7:57.955–7:59.444
然后我再说一个resume。
7:59.444–8:00.721
codex resume
8:00.721–8:02.104
然后加sessionID。
8:02.104–8:02.742
也能切回来。
8:02.742–8:04.444
我觉得这几种方式基本上就够用了。
8:04.444–8:06.040
然后非交互式命令的方式也可以。
8:06.040–8:07.530
比如说我们带上这个exec。
8:07.530–8:10.295
非交互式命令就我直接想把每一次的会话结果给它说出来。
8:10.295–8:10.615
是吧?
8:10.615–8:12.104
那我们就把这个ID给它拉上。
8:12.104–8:15.344
那就它直接会给我一个结果
8:15.344–8:18.244
Resume
8:18.244–8:19.044
8:19.044–8:21.264
NoGram
8:21.264–8:27.644
NoPro
8:27.644–8:31.864
诶它这里不是那个ID是吧
8:31.864–8:32.884
看一下
8:32.884–8:42.104
Codex.exec.resume
8:42.104–8:52.804
我看一下这个命令是不是哪里错了
8:52.804–8:56.544
大家遇到这种命令错误的情况下
8:56.544–8:58.044
你可以这么来解决
8:58.044–9:00.944
你就直接把这个错误丢给他
9:00.944–9:03.604
帮我分析一下
9:03.604–9:04.684
这个
9:04.684–9:10.444
是什么错误
9:10.444–9:15.084
然后输出修正的指令
9:15.084–9:18.884
你就让Codex帮你去修复就完了
9:18.884–9:25.204
但是某个参数写的有问题
9:25.204–9:28.184
他会给你一个修正的命令
9:28.184–9:33.904
这里还要加一个提示词是吧
9:33.904–9:36.384
还要加一个这么一个提示词
9:36.384–9:37.524
但是他这里又
9:37.524–9:39.264
后面写了
9:39.264–9:40.884
他需要加加这个提示词
9:40.884–9:42.024
我说少了一个参数
9:42.024–9:43.544
那我就加一下呗
9:43.544–9:45.904
还要加一个参数
9:45.904–9:49.624
要跳过这个有一个report的一个检查
9:49.624–9:57.744
他就是以一个定时任务啊
9:57.744–10:00.524
就是一个提示词的方式去执行一个命令
10:00.524–10:02.404
然后这个命令会把之前的那个
10:02.404–10:05.144
在之前的会话基础之上再加一个提示词
10:05.144–10:06.064
继续做一个对话
10:06.064–10:08.084
听起来给结果给你说出来
10:08.084–10:09.924
这个就是非交互式的运行
10:09.924–10:11.244
也就是说我相当于
10:11.244–10:13.804
我在之前对话的一个基础之上
10:13.804–10:15.644
再去让他执行一个
10:15.644–10:19.344
这个给他做一个对话
10:19.344–10:19.664
是吧
10:19.664–10:20.404
做一个对话之后
10:20.404–10:23.044
把这个结果再以命令的方式返回回来
10:23.044–10:25.144
但是我不要进入到那个对话页面
10:25.144–10:26.864
这个是交互的方式
10:26.864–10:29.564
所以这个场景可能再也用的不多
10:29.564–10:30.384
但是要知道
10:30.384–10:32.724
如果你想以命令的方式去跑的话
10:32.724–10:34.244
你就按照规范去写就完了
10:34.244–10:38.324
然后是模型跟推理
10:38.324–10:39.824
最开始我们给他讲了
10:39.824–10:41.764
这个切换模型这里面就是
10:41.764–10:44.184
这里面我给他提的一个建议
10:44.184–10:47.304
就是如果说你要做一些对话
10:47.304–10:47.744
是吧
10:47.744–10:48.764
做一个推理
10:48.764–10:50.324
然后做一些研究
10:50.324–10:53.024
存交流的话
10:53.024–10:55.084
那你就用GBT5.5就完了
10:55.084–10:57.164
最新的模型肯定没什么问题
10:57.164–10:59.984
然后当然他也可以写淡网
10:59.984–11:03.344
但是如果说你要专门写淡网的话
11:03.344–11:05.844
你就用5.3的那个Codex版本
11:05.844–11:07.464
这是我给大家一个建议
11:07.464–11:08.964
这是专门用了写代码的一个版本
11:08.964–11:09.884
做个调优的
11:09.884–11:11.624
所以它的效果肯定是好一些
11:11.624–11:15.204
这个是模型跟推理这一块的一个权衡
11:15.204–11:19.384
这个5.5这个模型擅长做任务规划
11:19.384–11:21.504
你拿写文档你可以用5.5去做
11:21.504–11:22.884
它的效果会更好
11:22.884–11:25.464
然后包括一个图片输入
11:25.464–11:27.264
就是你可以在Codex里面
11:27.264–11:30.224
你可以去把一个截图
11:30.224–11:32.724
就是去做一个什么呢
11:32.724–11:33.684
11:33.684–11:35.724
就给大家去生成出来
11:35.724–11:37.164
比如说我们现在啊
11:37.164–11:39.424
我们现在这个项目下面
11:39.424–11:42.284
呃有一个这个图片是吧
11:42.284–11:42.824
有一个图片
11:42.824–11:45.764
我现在要分析一下这个图片内容是什么
11:45.764–11:48.464
比如说我们加上这个
11:48.464–11:49.464
codex-r
11:49.464–12:01.104
把这个图片名
12:01.104–12:02.804
文件名改一下
12:02.804–12:04.264
文件名是
12:04.264–12:06.424
它就是一个贪吃蛇的测试截图嘛
12:06.424–12:09.264
然后你就这么说一下
12:09.264–12:16.464
分析一下这张图片
12:16.464–12:19.424
所以大家你直接让他分析就完了
12:19.424–12:21.124
他会进入到这个对话里面
12:21.124–12:22.364
然后去分析那个图片
12:22.364–12:26.704
这张图是一个网页端的贪吃蛇游戏界面
12:26.704–12:27.784
然后偏科技风
12:27.784–12:29.444
你看他分析没什么问题吧
12:29.444–12:31.804
所以说这个场景一般用的什么地方呢
12:31.804–12:33.784
就是我们现在项目里面有一些报错
12:33.784–12:36.044
大家不好用语言去表达的时候
12:36.044–12:38.284
你直接截个图有一个错误在里面
12:38.284–12:38.644
是吧
12:38.644–12:40.344
你直接把图丢给AI就行了
12:40.344–12:43.824
那么Codex他也能帮你去把这个图片给识别出来
12:43.824–12:45.324
然后去解决这个问题
12:45.324–12:46.684
并且你有多张图的话
12:46.684–12:47.784
你可以使用image
12:47.784–12:49.284
把这个是吧
12:49.284–12:50.944
多张图指定一下就可以了
12:50.944–12:52.364
他目前支持PNG
12:52.364–12:54.504
这些一些常见格式
12:54.504–12:56.604
除了输入图以外
12:56.604–12:57.944
他还可以生成图
12:57.944–12:58.884
生成图的话
12:58.884–13:00.464
有几种方式
13:00.464–13:03.764
就是他可以调用一些API生成图
13:03.764–13:04.084
是吧
13:04.084–13:05.904
还有的话就是他可以通过
13:05.904–13:08.144
OpenAI官方的一些模型
13:08.144–13:09.984
比如说像 GPT-4 模型
13:09.984–13:12.184
比如说像 DALL-E 3 模型
13:12.184–13:14.144
比如说你就直接跟他说
13:14.144–13:19.584
帮我生成一张猫的图片
13:19.584–13:21.504
你就直接这么跟他说
13:21.504–13:24.104
那么他就会想尽一些办法
13:24.104–13:24.884
帮你去生成图
13:24.884–13:28.024
他会可能比如说调用一些 skill
13:28.024–13:28.524
是吧
13:28.524–13:29.824
他内置的一些 skill
13:29.824–13:32.924
去调用一些模型帮你去生成图
13:32.924–13:34.924
或者说他调用一些公共的API
13:34.924–13:35.904
去生成一张图
13:35.904–13:36.624
都有可能
13:36.624–13:38.344
所以看大家一个需求
13:38.344–13:39.784
比如说你想了他就是用
13:39.784–13:41.884
GPT 的这个 DALL-E 去生成
13:41.884–13:43.104
那你就提示词里面
13:43.104–13:44.304
提提醒一下
13:44.304–13:46.284
你要用这个模型去生成就完了
13:46.284–13:47.904
这个就生成图片
13:47.904–13:49.404
这个也很好理解
13:49.404–13:53.104
你看现在已经生成了一个猫的图片了
13:53.104–13:55.604
你看就是他生成的是吧
13:55.604–13:57.624
这个就猫的一个图片
13:57.624–13:59.424
所以说
13:59.424–14:01.064
这个里面的话
14:01.064–14:03.444
就是这个效果就是看大家
14:03.444–14:06.004
你具体你要让他用什么模型去做
14:06.004–14:08.044
但这个功能他都是支持的
14:08.044–14:11.424
然后是语法的这个
14:11.424–14:13.264
高亮与主题
14:13.264–14:15.164
这个是什么意思呢
14:15.164–14:15.764
就是比如说
14:15.764–14:17.704
大家你看这个页面是吧
14:17.704–14:18.824
你看的不爽
14:18.824–14:20.784
那我现在要改个主题
14:20.784–14:24.064
就是我进入到这个Codex
14:24.064–14:27.204
输入这个Theme
14:27.204–14:28.584
就大家看
14:28.584–14:30.564
你可以改这个是吧
14:30.564–14:31.264
可以改这个
14:31.264–14:33.744
就是我们什么亮色暗色
14:33.744–14:35.264
各种终端的这个图
14:35.264–14:35.584
是吧
14:35.584–14:37.264
比如说我现在想改成这个效果
14:37.264–14:38.264
然后就看一下
14:38.264–14:39.844
帮我生成一个
14:39.844–14:50.704
无子棋游戏
14:50.704–14:54.684
基于html
14:54.684–14:57.444
实现
14:57.444–15:01.284
然后大家就可以看到他的这个代码主题
15:01.284–15:05.364
我们就可以看到他就有一些变化
15:05.364–15:09.984
就他生成代码的时候
15:09.984–15:11.964
这个里面就有一些逻辑
15:11.964–15:19.004
就是相当于这个就是改语法
15:19.004–15:21.144
就是我们改这个一些
15:21.144–15:22.964
Diff高亮的
15:22.964–15:24.144
这个很好理解
15:24.144–15:28.004
然后是这个比较一个实用的功能
15:28.004–15:29.824
叫做运行本地代码评审
15:29.824–15:32.444
这个是用来干嘛
15:32.444–15:34.884
大家看这个效果是不是就变了
15:34.884–15:35.364
是吧
15:35.364–15:38.024
就是这个改了一个这个效果嘛
15:38.024–15:38.964
是吧
15:38.964–15:40.564
15:40.564–15:42.124
这个review啊
15:42.124–15:43.584
就是运行本地代码评审
15:43.584–15:44.284
这个比较
15:44.284–15:46.344
这个功能比较好用啊
15:46.344–15:46.904
什么意思呢
15:46.904–15:48.044
就是大家可以在
15:48.044–15:51.404
这个codex里面去输入这个什么呢
15:51.404–15:52.384
叫做review
15:52.384–16:07.030
review
16:07.030–16:08.990
还有一个就是大家啊
16:08.990–16:10.730
你已经提交了一些PR了
16:10.730–16:11.950
那你可以用
16:11.950–16:13.950
把一个PR的链接给他
16:13.950–16:15.490
让他去check也是可以的
16:15.490–16:16.810
但是你要把一些
16:16.810–16:18.690
比如说GitHub的一个权限给他配合
16:18.690–16:20.450
让他能够拉到那个PR
16:20.450–16:22.350
但是如果是公共仓库就不用管了
16:22.350–16:23.490
公共仓库都有权限
16:23.490–16:26.370
但是最好还是配一个token去访问
16:26.370–16:27.730
这样就不会被限制
16:27.730–16:29.370
所以这个里面的话
16:29.370–16:30.750
这个review的话
16:30.750–16:32.770
主要就是我们可以做代码评审
16:32.770–16:34.710
比如说我现在
16:34.710–16:35.950
我刚刚那个
16:35.950–16:39.170
贪吃蛇游戏是吧
16:39.170–16:41.950
那你就把这个代码告诉他
16:41.950–16:45.610
比如说我们现在要review
16:45.610–16:51.210
at这个文件是吧
16:51.210–16:52.990
帮我
16:52.990–16:59.670
执行一下代码
16:59.670–17:01.770
评审
17:01.770–17:05.710
就我们来看一下这个生成代码有什么问题
17:05.710–17:07.050
那就分析一下
17:07.050–17:07.470
对吧
17:07.470–17:10.190
那么他这个里面的话
17:10.190–17:11.290
就会去执行一些
17:11.290–17:12.450
Git的一些命令啊
17:12.450–17:13.530
因为有时候
17:13.530–17:15.350
他要分析有没有提交嘛
17:15.350–17:16.610
所以他用到用到Git
17:16.610–17:17.610
但是我们这个
17:17.610–17:19.030
他不是一个Git项目嘛
17:19.030–17:21.010
那他直接就可以分析内容了
17:21.010–17:23.230
那我这里面还有一个项目啊
17:23.230–17:24.870
是我之前找的一个
17:24.870–17:25.910
开源的一个项目啊
17:25.910–17:27.150
一个洛伊的项目
17:27.150–17:28.310
那么这个项目的话
17:28.310–17:30.470
是我改了一些代码的啊
17:30.470–17:31.770
我等一下拉下拉分析一下
17:31.770–17:32.930
我改的这个代码里面
17:32.930–17:34.170
有没有什么问题啊
17:34.170–17:37.070
所以我这里开开两个给大家来看一下这个效果
17:37.070–17:43.170
那这里面我们还是要用终端管理员啊
17:43.170–17:48.610
切换到 local
17:48.610–17:51.210
然后这个里面
17:51.210–17:54.170
你这里一样的啊
17:54.170–17:55.410
Codex
17:55.410–17:57.630
review
17:57.630–18:00.750
然后我们就直接review
18:00.750–18:03.230
然后这里面大家看会有一个提示啊
18:03.230–18:04.630
第一个的话就是pr
18:04.630–18:07.690
就是我们现在基于这个分支去check
18:07.690–18:10.490
然后第二个就是我们没有提交的一些change
18:10.490–18:12.490
就我现在有一些代码没提交嘛
18:12.490–18:13.350
刚刚那些代码
18:13.350–18:14.530
我们去check一下
18:14.530–18:16.390
然后是已经已提交的
18:16.390–18:20.290
基本上就是这个是自定义的这种审查
18:20.290–18:23.230
我们现在这个场景选择第二个
18:23.230–18:27.050
那去扫描执行一些 git 命令
18:27.050–18:28.830
看一下我提的代码也没问题
18:28.830–18:29.350
是吧
18:29.350–18:32.270
你看但是他现在
18:32.270–18:34.870
给我的结果是英文的是吧
18:34.870–18:38.030
那么大家可以这里加一下
18:38.030–18:43.310
你就使用中文输出结果
18:43.310–18:46.910
这里给大家提示一下就可以了
18:46.910–18:51.670
然后这里面我们其实也可以加一下
18:51.670–18:54.430
Codex
18:54.430–19:00.630
review
19:00.630–19:01.390
这里还改不了
19:01.390–19:02.850
那我们就直接让它输出吧
19:02.850–19:03.830
等一下
19:03.830–19:05.270
它的出来的结果
19:05.270–19:07.890
我们可以让它再翻一下就可以了
19:07.890–19:11.550
这个就是两种
19:11.550–19:13.230
一种是 Git 有项目的
19:13.230–19:14.370
就有提交记录的
19:14.370–19:15.590
这种是没有提交记录
19:15.590–19:16.870
指定单文件的审查
19:16.870–19:18.030
这个都是OK的
19:18.030–19:19.190
看大家具体
19:19.190–19:21.190
你是什么一个场景
19:21.190–19:22.650
都是OK的
19:22.650–19:25.270
然后就是比如说
19:25.270–19:28.750
我们还可以去自定义一些评审命令
19:28.750–19:30.890
比如说你想这个
19:30.890–19:32.650
重点关注某一个
19:32.650–19:33.550
是吧
19:33.550–19:35.850
你要自己定义一套机制
19:35.850–19:38.650
然后去做一些这个审查
19:38.650–19:39.490
是吧
19:39.490–19:41.930
那么他都可以去做一个处理啊
19:41.930–19:43.630
这个是你要自定一些评审命令
19:43.630–19:46.010
基本上我们用不到那么麻烦
19:46.010–19:47.250
你直接就让他去
19:47.250–19:49.230
check你有没有提交了
19:49.230–19:52.330
因为这个尽量是自己提交上去代码
19:52.330–19:52.830
没什么问题
19:52.830–19:53.850
自己先check一下
19:53.850–19:56.210
所以大部分你用这个场景就可以了
19:56.210–19:57.350
或者是已经提交的
19:57.350–19:59.990
让专门的审查人员看你的PR就可以了
19:59.990–20:01.810
这也是OK的
20:01.810–20:07.290
你看这个就是我们分析的这个结果
20:07.290–20:09.210
就是刚刚分析那个贪吃蛇
20:09.210–20:10.110
那个游戏是吧
20:10.110–20:11.670
写的代码有没有问题
20:11.670–20:12.490
我们去看一下
20:12.490–20:14.550
然后这里面你看是不是就分析出来了
20:14.550–20:17.510
空格暂停被双肩停抵消
20:17.510–20:18.790
然后什么什么规则
20:18.790–20:20.490
什么反转是吧
20:20.490–20:22.070
然后什么误判呀
20:22.070–20:26.430
就是他给你提了三个问题是吧
20:26.430–20:27.770
P1 P2 P3
20:27.770–20:28.650
三个问题
20:28.650–20:31.290
这是他给的一些反馈啊
20:31.290–20:33.130
这个结果还是
20:33.130–20:35.490
比较准确的
20:35.490–20:36.530
那这个里面描述
20:36.530–20:38.230
这个你看损坏的
20:38.230–20:39.850
这个就是字符集的问题
20:39.850–20:41.890
然后你比如说根据这个审查结果
20:41.890–20:42.610
你就可以来提到
20:42.610–20:44.630
参考上述
20:44.630–20:47.550
审查结果
20:47.550–20:49.750
帮我修复
20:49.750–20:52.370
代码
20:52.370–20:53.910
就是审查完之后
20:53.910–20:54.630
这些个东西
20:54.630–20:56.450
你就可以让它自动修复了
20:56.450–20:57.630
这么就是
20:57.630–20:59.550
是不是就全自动了是吧
20:59.550–21:01.370
就你让它这个完
21:01.370–21:02.710
让它自己修复
21:02.710–21:04.730
你再去看一下有没有问题
21:04.730–21:07.110
这就是做一个循环啊
21:07.110–21:09.550
让它不断的去修正完善是吧
21:09.550–21:13.590
然后这个里面它也是这个英文的
21:13.590–21:14.790
你就这么来说
21:14.790–21:21.570
上面输出的结果
21:21.570–21:25.850
帮我翻译为中文输出
21:25.850–21:27.990
就夹夹一个这样就可以
21:27.990–21:31.790
他就会给你把那个这个里面你看
21:31.790–21:34.090
是吧
21:34.090–21:36.250
这个是我之前的改了一些这个代码
21:36.250–21:36.490
是吧
21:36.490–21:37.330
改了一些脚本
21:37.330–21:39.650
然后包括一些这个style啊
21:39.650–21:40.250
一些CSS啊
21:40.250–21:41.090
然后做一些调整
21:41.090–21:42.930
他都帮我分析出来了啊
21:42.930–21:44.330
这个就是评审的一些细节
21:44.330–21:47.250
然后你看已经审查修复了啊
21:47.250–21:47.770
修复完之后
21:47.770–21:49.030
你还可以让他去测试一下
21:49.030–21:49.350
是吧
21:49.350–21:51.610
然后你就比如说你再去这个指令
21:51.610–22:00.970
再执行一次代码审查
22:00.970–22:11.330
看一下
22:11.330–22:19.730
之前那些之前审查
22:19.730–22:28.370
问题有没有修复
22:28.370–22:35.690
输出一个对照表格
22:35.690–22:43.190
比如说原问题
22:43.190–22:49.970
问题修复
22:49.970–22:54.010
关键点
22:54.010–22:56.870
然后修复
22:56.870–23:02.670
代码文件
23:02.670–23:04.090
修复代码
23:04.090–23:04.910
代码好吗
23:04.910–23:05.750
因为就一个文件
23:05.750–23:06.130
是吧
23:06.130–23:07.950
就是他修完之后
23:07.950–23:10.090
我怎么知道他有没有修呢
23:10.090–23:11.550
我们让他说出一个对照
23:11.550–23:12.470
是吧
23:12.470–23:14.110
让他做一个总结嘛
23:14.110–23:16.430
不然你也不知道他改了成功没有
23:16.430–23:18.290
然后你也不知道到底代码
23:18.290–23:18.930
动了哪些
23:18.930–23:19.770
虽然上面有
23:19.770–23:22.070
但是我还是希望看到一个表格
23:22.070–23:22.970
是吧
23:22.970–23:24.650
这是我们看的更加清晰一些
23:24.650–23:28.510
所以大家就可以通过这些个提示词
23:28.510–23:30.290
不断的让他就优化
23:30.290–23:31.010
调整
23:31.010–23:32.850
做一些归纳
23:32.850–23:35.910
这样的话你这个效率是不是就提升了
23:35.910–23:38.170
而且你还做了一把check
23:38.170–23:40.270
它的准确性也会高很多
23:40.270–23:45.090
所以这些个细节问题啊
23:45.090–23:46.670
就是大家你可以去
23:46.670–23:50.110
适当的把这个东西给它用起来啊
23:50.110–23:51.710
这样的话我们整个效率的话
23:51.710–23:56.190
就会得到一个提升
23:56.190–24:09.190
然后,请用中文再输出上面的结果。
24:09.190–24:19.450
他没有帮我把之前的那个结果列出来是吧
24:19.450–24:22.330
他现在又帮我啊
24:22.330–24:23.890
我执行的是review是吧
24:23.890–24:25.810
那我还不能加那个review了
24:25.810–24:29.590
那我是不能加那个review的
24:29.590–24:31.410
我加了review之后
24:31.410–24:34.650
他既又又直接的那个是吧
24:34.650–24:35.210
那我就
24:35.210–24:38.990
那我就不能不能加review了
24:38.990–24:39.850
加review之后
24:39.850–24:42.110
他还是在帮我做代码审查的
24:42.110–24:44.790
我就直接这么来
24:44.790–24:46.990
直接说一个提示词
24:46.990–24:48.410
就不要加入review了
24:48.410–24:50.290
就不要再做代码审查
24:50.290–24:52.450
直接让他给我结果就行了
24:52.450–24:58.650
所以review他根本的这个点的话
24:58.650–25:00.310
还是要去做什么呢
25:00.310–25:01.510
去做review的
25:01.510–25:08.990
他不会帮你去做其他的一个操作的
25:08.990–25:12.250
你看他是不是这里就修复了
25:12.250–25:12.710
是吧
25:12.710–25:17.510
看一下
25:17.510–25:19.210
这是不是有一个表格
25:19.210–25:20.870
以修复
25:20.870–25:22.390
你看原问题是什么
25:22.390–25:24.090
修复关键点是什么
25:24.090–25:24.470
是吧
25:24.470–25:26.750
然后修复代码行
25:26.750–25:27.670
以修复
25:27.670–25:29.870
这个是不是就比较清晰了
25:29.870–25:32.250
然后最后又代码审查出来一个未修复
25:32.250–25:34.330
那你就继续在他
25:34.330–25:35.330
再修复
25:35.330–25:36.170
再去check
25:36.170–25:37.410
再不断的
25:37.410–25:38.630
直到把所有的问题修完
25:38.630–25:40.370
这个问题是不是就解决了
25:40.370–25:41.510
这个就是一个思路
25:41.510–25:42.090
OK
25:42.090–25:44.030
25:44.030–25:45.370
然后是Web搜索
25:45.370–25:46.730
那这个的话
25:46.730–25:48.390
就是我们可以用一些
25:48.390–25:49.870
这个检索工具
25:49.870–25:51.030
比如说抓取一些新闻
25:51.030–25:52.330
或者检索一些信息
25:52.330–25:54.430
那这个的话
25:54.430–25:55.930
我们可以用 YOLO 模式
25:55.930–25:58.450
就是因为整个对话的话
25:58.450–26:00.270
因为它要反复的给你去
26:00.270–26:01.970
有一些问题
26:01.970–26:02.550
你确认
26:02.550–26:03.910
比如说能不能调用API
26:03.910–26:04.990
能不能调用一些工具
26:04.990–26:07.210
这个大家可以加一个 YOLO
26:07.210–26:08.350
加一个 YOLO
26:08.350–26:11.390
然后包括我们还加一个search
26:11.390–26:12.990
就是我们可以去检索
26:12.990–26:14.850
就是你把这个参数带进去
26:14.850–26:18.150
他在默认的时候就会去达到这个search
26:18.150–26:21.450
这么一个目的
26:21.450–26:23.350
比如说我们退出去
26:23.350–26:26.250
codex
26:26.250–26:27.550
形容这个 YOLO 模式
26:27.550–26:35.350
然后再加上这个search
26:35.350–26:37.350
加一个search
26:37.350–26:55.790
比如说帮我抓取最最热门的十条AI资讯
26:55.790–26:58.110
那我现在就要search了是吧
26:58.110–26:58.910
要抓取嘛
26:58.910–27:00.790
你看现在是不是就在search
27:00.790–27:03.490
就你明确的加上这个search命令之后的话
27:03.490–27:07.350
那么他接下来要工作的一个逻辑就是
27:07.350–27:13.030
要优先从这个web这个search里面去拿那个结果
27:13.030–27:13.330
是吧
27:13.330–27:18.230
当然这个search结果是OpenAI自己维护的一个网页结果检索
27:18.230–27:21.830
所以你看到的可能是这个缓存是吧
27:21.830–27:24.290
但是也不一定是最新的抓取页面
27:24.290–27:25.290
这个看情况
27:25.290–27:27.430
得看他具体search的时候
27:27.430–27:30.610
是不是调用了一些实时的API去search的
27:30.610–27:32.250
他有可能会命中缓存啊
27:32.250–27:34.750
所以大家看到结果不一定是对的
27:34.750–27:36.470
所以这个最保险的话
27:36.470–27:38.430
你就是还是要去指令一个API
27:38.430–27:41.490
比如说使用这个 Tavily 那个 search
27:41.490–27:43.050
使用Beamsearch
27:43.050–27:45.190
这个指定的这个工具去search
27:45.190–27:46.770
这样的话效果会更好一些
27:46.770–27:51.050
你看这个结果
27:51.050–27:52.250
5月31号
27:52.250–27:56.390
结果还是看着好像是没什么问题的
27:56.390–27:58.190
但是没抓到最新的是吧
27:58.190–28:00.110
只抓到5月28号的
28:00.110–28:02.030
所以这个里面还是会有一些缓存的
28:02.030–28:04.290
它没有最新的嘛
28:04.290–28:06.990
说明可能命中缓存了
28:06.990–28:10.670
所以大家还可以去装一些插件啊
28:10.670–28:13.970
比如说用 Tavily Research 的这种方式去检索啊
28:13.970–28:15.530
那么还有一些场景
28:15.530–28:17.030
比如说我这个对话
28:17.030–28:18.790
我不需要参考Web Search
28:18.790–28:21.450
我永远以内部的一些文档为准
28:21.450–28:24.050
那你就要把这个Web Search给disable掉
28:24.050–28:24.670
关闭
28:24.670–28:26.210
不然的话有时候去Search
28:26.210–28:28.250
这个结果反而是不准的
28:28.250–28:30.610
然后的话
28:30.610–28:32.850
这个大家也可以去结合这个Codex
28:32.850–28:35.110
这个非终端的这种方式
28:35.110–28:35.390
是吧
28:35.390–28:37.710
非交互式的去执行
28:37.710–28:39.070
就你只要给结果啊
28:39.070–28:41.750
我也不关心什么控制台聊天什么的
28:41.750–28:43.630
就不需要关注这个点了
28:43.630–28:50.790
然后是我们可以直接用输入提示词去运行
28:50.790–28:53.430
就是我们前面给他讲
28:53.430–28:54.190
这个Codex
28:54.190–28:56.930
他的一个这个EXEC是吧
28:56.930–28:59.290
这个交互式的
28:59.290–29:01.450
就是各种交互式的话
29:01.450–29:04.390
他都可以跳过这个交互式UI
29:04.390–29:06.190
直接给结果
29:06.190–29:06.850
并且的话
29:06.850–29:08.750
你还可以加一些pass的参数
29:08.750–29:11.450
然后去指定目录去做处理
29:11.450–29:15.250
比如说我现在想切换到D盘
29:15.250–29:17.950
比如我们加一个codex
29:17.950–29:21.610
codex
29:21.610–29:27.930
比如说我们想换一个
29:27.930–29:30.750
分析一下
29:30.750–29:32.550
这个项目
29:32.550–29:35.350
然后
29:35.350–29:38.690
path
29:38.690–29:43.290
D盘
29:43.290–29:45.090
codex
29:45.090–29:47.130
然后我让他分析这个
29:47.130–29:47.910
路徑吧
29:47.910–29:58.910
分析这个项目
29:58.910–30:00.750
这里输错了
30:00.750–30:10.750
exec
30:10.750–30:14.750
path
30:14.750–30:16.750
notFound
30:16.750–30:30.750
要加到前面去
30:30.750–30:40.750
分析一下这个项目
30:40.750–30:45.750
去path一个value
30:45.750–30:48.750
这里直接这样试一下
30:48.750–30:52.750
那我就
30:52.750–30:54.750
没事我就让那个来修正
30:54.750–30:56.750
让Codex帮我修正吧
30:56.750–31:00.750
我们也不知道哪个地方有问题是吧
31:00.750–31:08.950
帮我修正下这个命令输出
31:08.950–31:10.550
这我们遇到问题
31:10.550–31:12.250
直接让Codex帮我们修正就完了
31:12.250–31:14.930
他会自己去查帮助文档
31:14.930–31:16.670
帮我们去优化这个命令呢
31:16.670–31:19.430
所以有问题也没关系
31:19.430–31:21.710
直接让他输出就可以了
31:21.710–31:25.850
然后用-c
31:25.850–31:30.210
不在 git 仓库里面加 -c
31:30.210–31:32.310
在 git 仓库里面
31:32.310–31:33.670
那我们就用c吧
31:33.670–31:35.510
它不是pass啊
31:35.510–31:35.730
31:35.730–31:36.670
我推出去
31:36.670–31:40.890
好可以了
31:40.890–31:42.170
要用-c啊
31:42.170–31:44.090
就不是pass了
31:44.090–31:47.570
那现在是不是就可以了
31:47.570–31:47.890
是吧
31:47.890–31:51.110
他会帮我们把这个整个目录给他分析一下啊
31:51.110–31:54.025
这个就是
31:54.025–31:59.025
这个就是我们可以用非交互式的方式去用一些。
31:59.025–32:01.025
然后是审批模式。
32:01.025–32:05.025
那这个审批模式的话,这里面是什么意思呢?
32:05.025–32:07.025
比如说大家,
32:07.025–32:09.525
你现在习惯到Codex
32:09.525–32:12.105
你让他执行一些命令是吧
32:12.105–32:14.065
那有些情况下
32:14.065–32:15.745
执行一些命令是需要授权的
32:15.745–32:18.365
这里面他有几种授权模式啊
32:18.365–32:19.165
叫 Permissions
32:19.165–32:23.405
默认的话是这个需要授权啊
32:23.405–32:24.825
比如说你跑一些编辑文件
32:24.825–32:25.905
一些敏感命令的时候
32:25.905–32:26.905
他是需要授权的
32:26.905–32:30.565
或者是你只分析一些文档
32:30.565–32:30.865
是吧
32:30.865–32:31.945
你不想编辑的话
32:31.945–32:32.725
你就用 ReadOnly
32:32.725–32:34.425
他不能改
32:34.425–32:36.065
你就用只读模式
32:36.065–32:39.485
这个是非管理员的这个沙箱模式
32:39.485–32:40.745
这是推荐的啊
32:40.745–32:42.745
运行一些敏感命令是需要授权的
32:42.745–32:45.765
特别是访问一些网络编辑一些文件的时候需要授权
32:45.765–32:48.485
然后第三个的话是自动的review
32:48.485–32:50.345
他会根据实际的一些情况
32:50.345–32:52.925
是针对性的去做一些审查
32:52.925–32:55.565
但是在某些情况下还是需要授权的
32:55.565–32:57.425
全访问就是yolo模式
32:57.425–33:01.765
就是我们现在是不需要任何授权了
33:01.765–33:03.105
直接什么命令都可以执行
33:03.105–33:04.805
然后在这个APP里面
33:04.805–33:06.145
这边有也有一个啊
33:06.145–33:09.905
左下角你看默认权限自动审查啊
33:09.905–33:11.525
如果大家做项目开发的话
33:11.525–33:14.405
你如果不想有很多交互性的东西出来的话
33:14.405–33:17.285
你就选最后一个完全开放权限就完事了啊
33:17.285–33:18.345
这个很好理解
33:18.345–33:20.385
就是把所有的权限都给codex
33:20.385–33:21.425
让他去干活
33:21.425–33:24.405
不需要给你反复确认啊
33:24.405–33:27.905
因为这个反复要你确认的话也挺烦的啊
33:27.905–33:28.625
耽误时间
33:28.625–33:34.785
然后是脚本化的这个方式去执行这个codex
33:34.785–33:37.405
那这个的话就是我们
33:37.405–33:40.305
比如说现在想用
33:40.305–33:42.405
这个exec的子命令
33:42.405–33:44.845
然后去接入自动化的一些工作
33:44.845–33:47.405
包括我们想接入传统的一些 Shell 脚本
33:47.405–33:49.345
大家就可以把这个codex
33:49.345–33:52.225
exec这个命令给它整合成一个脚本
33:52.225–33:53.105
是吧
33:53.105–33:55.225
比如说我们现在
33:55.225–33:58.145
应该也可以结合 grep
33:58.145–33:59.665
grep 那个命令
33:59.665–34:02.665
比如说我们现在来分析一下
34:02.665–34:07.125
可以怎么来用呢
34:07.125–34:07.965
比如说我现在
34:07.965–34:09.665
你看这个目录下面
34:09.665–34:11.185
现在有很多目录文件是吧
34:11.185–34:13.125
那我们想让它分析一下
34:13.125–34:19.225
比如说分析一下
34:19.225–34:23.085
当前有哪些目录
34:23.085–34:24.645
然后这里面
34:24.645–34:27.445
我看这里面用这个 grep
34:27.445–34:32.665
然后这个用这个 grep 给它过滤一下
34:32.665–34:34.825
看这样行不行
34:34.825–34:37.965
我们把这个复制一下
34:37.965–34:39.505
这个命令是错的
34:39.505–34:42.065
那我们就用Codex来输出一下
34:42.065–34:46.545
帮我修正一下这个命令
34:46.545–34:53.485
就我想让他理解一下
34:53.485–34:56.745
我们想要整合这个grep的一些命令
34:56.745–34:59.625
那他可能啊
34:59.625–35:01.065
这个windows下面没有grep
35:01.065–35:03.225
所以他会推荐其他的这个命令
35:03.225–35:05.325
所以你装了rg
35:05.325–35:06.325
你可以用这个命令
35:06.325–35:09.145
如果说你没有那个rg的话
35:09.145–35:10.185
你就可以用这个命令
35:10.185–35:26.185
这个还要加一个
35:26.185–35:26.585
Trust
35:26.585–35:34.385
看一下
35:34.385–35:37.925
看是不是还少了什么
35:37.925–35:45.965
帮我修正下命令
35:45.965–35:49.925
没事哪里有问题啊
35:49.925–35:52.545
参数放错了
35:52.545–35:54.925
应该先要放前面啊
35:54.925–35:56.585
好,执行一下
35:56.585–36:07.305
这个什么意思呢
36:07.305–36:10.385
就是我们可以把这个子命令
36:10.385–36:14.005
exec这个子命令和shell脚本组合起来
36:14.005–36:15.345
但是windows下面没有shell
36:15.345–36:16.345
它是powershell
36:16.345–36:18.725
它不是linux上面那个bash shell
36:18.725–36:21.985
那它也可以结合那个powershell的一些命令
36:21.985–36:22.985
给它做一些组合
36:22.985–36:26.285
比如说我们想用这个Codex
36:26.285–36:27.545
给你做完分析之后
36:27.545–36:29.005
再用PowerShell的一些命令
36:29.005–36:29.925
给它做些处理
36:29.925–36:31.025
那这样的话
36:31.025–36:32.945
也能拿到我们想要的一个结果
36:32.945–36:34.605
你看这个里面
36:34.605–36:35.725
它分析完之后
36:35.725–36:37.405
给你把log1的这个结果
36:37.405–36:38.145
给你输出了
36:38.145–36:38.465
是吧
36:38.465–36:39.605
三级目
36:39.605–36:41.505
然后单独给你分析出来了
36:41.505–36:44.025
这个就是它用了一些
36:44.025–36:45.345
search的这种方式
36:45.345–36:49.585
就是我们加了一些特殊的这个处理
36:49.585–36:49.945
是吧
36:49.945–36:50.945
做一些过滤
36:50.945–36:52.505
就是你
36:52.505–36:53.885
在Linux上面
36:53.885–36:55.425
你就可以用grep的命令
36:55.425–36:56.705
给它做一些处理
36:56.705–36:59.905
这个就是脚本化的方式去执行
36:59.905–37:01.585
然后的话
37:01.585–37:02.985
就是我们还可以用@
37:02.985–37:04.685
这个其实刚刚也给它演示
37:04.685–37:06.325
我们可以@一些文件
37:06.325–37:08.465
@指定的一些目录
37:08.465–37:09.805
去做一些分析
37:09.805–37:11.925
比如说我们现在
37:11.925–37:14.685
看一下面有这个box
37:14.685–37:15.225
是吧
37:15.225–37:18.225
有一个box的一个目录
37:18.225–37:21.285
那你就可以切进去
37:21.285–37:25.885
比如说cd到目录Codex
37:25.885–37:33.285
帮我分析一下目录的作用
37:33.285–37:48.285
@box
37:48.285–37:49.285
你就直接@
37:49.285–37:51.045
@指定的一个文件
37:51.045–37:53.125
比如说让他review或者怎么样的
37:53.125–37:55.865
刚刚就是用一个review的命令
37:55.865–37:58.185
给他演示了一下整个的一个逻辑
37:58.185–37:58.545
是吧
37:58.545–38:02.905
在这个里面他就可以去做一个分析
38:02.905–38:08.825
然后我们还可以去加一些目录
38:08.825–38:09.205
是吧
38:09.205–38:10.845
然后在这个里面
38:10.845–38:11.765
比如说cp
38:11.765–38:14.585
这个加很多一些关联的一些目录
38:14.585–38:15.945
all目录
38:15.945–38:18.105
因为有时候我们这个项目
38:18.105–38:19.485
就是有多个模块
38:19.485–38:21.425
就在大家打开一个工程
38:21.425–38:22.785
你下面发现有多个目录
38:22.785–38:24.258
你都要编
38:24.258–38:27.258
有前端的,有后端的。
38:27.258–38:32.258
比如说像洛伊这个,大家看,它外面都是后端的。
38:32.258–38:36.258
只有这个目录是前端的,这个是前端的页面,这个后端。
38:36.258–38:39.478
有时候你可能需要暴露一些
38:39.478–38:40.898
可以写的根目录
38:40.898–38:42.118
因为他当前操作
38:42.118–38:43.738
只在当前会话嘛
38:43.738–38:44.938
比如说跨目录了
38:44.938–38:45.318
是吧
38:45.318–38:46.498
有些在D盘
38:46.498–38:47.098
有些在E盘
38:47.098–38:47.838
有些在F盘
38:47.838–38:48.818
这几个目录
38:48.818–38:51.018
你都要跨目录操作的时候
38:51.018–38:52.558
那你就要把权限配置一下
38:52.558–38:54.578
让他可以暴露更多的根目录
38:54.578–38:56.578
因为他默认只能操作当前会话的
38:56.578–38:57.058
是吧
38:57.058–38:57.958
所以这个里面
38:57.958–38:59.878
大家可以去指定更多的目录
38:59.878–39:01.238
然后去做一个处理
39:01.238–39:04.458
你看这个
39:04.458–39:05.618
他们帮分析出来的
39:05.618–39:07.438
Dock下面的一些目录是吧
39:07.438–39:08.118
这个是我们
39:08.118–39:09.018
at
39:09.018–39:10.958
at那个Dock之后的一个结果
39:10.958–39:14.318
所以大家可以多用一下这个at功能
39:14.318–39:15.758
然后在这个里面
39:15.758–39:17.598
可以去执行一下
39:17.598–39:19.258
一些不同的这个结果
39:19.258–39:23.158
然后我们还可以去执行一些这个命令
39:23.158–39:24.478
加一些CD
39:24.478–39:27.438
就是你可以在命令里面
39:27.438–39:29.798
单独去指定一些参数
39:29.798–39:30.878
要么加目录
39:30.878–39:32.518
要么加一些指定
39:32.518–39:32.938
是吧
39:32.938–39:34.558
这个都是OK的
39:34.558–39:37.838
然后最好我们就是在启动的时候
39:37.838–39:38.878
把环境就准备好了
39:38.878–39:40.698
这样子不会去浪费token
39:40.698–39:41.538
还要去记这个什么
39:41.538–39:44.438
因为你一开始没把这些环境准备好的话
39:44.438–39:45.698
你跟他提问
39:45.698–39:47.498
他又要产生各种各样的对话
39:47.498–39:50.138
然后再来说让你去加一些权限
39:50.138–39:52.018
就白白就浪费token了
39:52.018–39:52.978
因为他就探测
39:52.978–39:54.838
这个里面会带来一些
39:54.838–39:56.638
不必要的一些token消耗
39:56.638–39:59.418
所以大家首先你要把一些
39:59.418–40:00.818
python的什么虚拟环境
40:00.818–40:02.758
或者其他的一些语言环境
40:02.758–40:04.398
比如说你 conda
40:04.398–40:05.758
一些python
40:05.758–40:06.818
这些个环境
40:06.818–40:07.678
你现在给它激活
40:07.678–40:08.958
激活完之后
40:08.958–40:10.258
相当于codex在
40:10.258–40:11.858
直接命令的时候
40:11.858–40:12.898
你跟它对话的时候
40:12.898–40:14.478
这些个环境的话
40:14.478–40:15.858
已经都整合好了
40:15.858–40:17.258
都已经准备好了
40:17.258–40:19.178
只有大家直接用就可以了
40:19.178–40:21.478
所以说我们一开始的话
40:21.478–40:23.158
你得把一些这个环境
40:23.158–40:24.598
都准备好
40:24.598–40:25.918
包括一些目录的话
40:25.918–40:27.098
你得提前规划好
40:27.098–40:29.638
在一些初始化命令的时候
40:29.638–40:31.318
就是大家比如说
40:31.318–40:34.258
你想把Codex整合到公司的一些
40:34.258–40:36.638
传统的事要脚本里面去
40:36.638–40:37.378
把它做一个命令
40:37.378–40:38.178
做一个执行的话
40:38.178–40:40.058
你得先给它把环境配好
40:40.058–40:41.418
配好完了之后的话
40:41.418–40:45.218
然后当我们执行Codex命令的时候
40:45.218–40:46.958
这些上下文都已经准备好了
40:46.958–40:49.898
比如说一些运维扫描的一些目录
40:49.898–40:50.458
是吧
40:50.458–40:51.678
一些监控的目录在哪里
40:51.678–40:52.938
一些日志目录在哪里
40:52.938–40:54.638
你把这些目录都给它
40:54.638–40:55.738
它准备好了
40:55.738–40:57.498
那你对话的时候
40:57.498–40:58.778
你就直接跟它提问你就完了
40:58.778–41:00.558
比如说帮我把日志目录
41:00.558–41:01.798
下面的文件清理一下
41:01.798–41:05.338
帮我把那些个这个数据抓取一下
41:05.338–41:07.558
你就直接这样去说就可以了
41:07.558–41:08.918
因为他已经有了上下文
41:08.918–41:10.298
这些目录他都知道了
41:10.298–41:13.078
所以说就不会浪费token了
41:13.078–41:15.298
这个就是提示与快捷方式
41:15.298–41:16.218
这个就是
41:16.218–41:20.178
我们要给他讲的一些内容
0:00.000–0:09.600
zh然后就是Codex里面一些CLI的一些命令,如何高效的去使用。
然后就是Codex里面一些CLI的一些命令,如何高效的去使用。
0:09.600–0:11.400
zh然后它的规范是怎么样的。
然后它的规范是怎么样的。
0:11.400–0:24.400
zh那大家掌握了这个CLI的一个高效的交互方式之后,你就会知道你的整个效率就可以得到快速的提升。
那大家掌握了这个CLI的一个高效的交互方式之后,你就会知道你的整个效率就可以得到快速的提升。
0:24.400–0:31.020
zh首先的话就是我们最开始通过Codex命令
首先的话就是我们最开始通过Codex命令
0:31.020–0:31.340
zh是吧
是吧
0:31.340–0:33.460
zh那我们可以看到一些什么命令
那我们可以看到一些什么命令
0:33.460–0:34.780
zh就是这个里面
就是这个里面
0:34.780–0:37.400
zh我们在这个Cli里面
我们在这个Cli里面
0:37.400–0:40.400
zh首先啊
首先啊
0:40.400–0:43.780
zh这个里面
这个里面
0:43.780–0:46.520
zh大家首先会看到各种各样的一些命令
大家首先会看到各种各样的一些命令
0:46.520–0:46.840
zh是吧
是吧
0:46.840–0:48.560
zh那你可以用一个help
那你可以用一个help
0:48.560–0:54.400
zh这个里面还没有help
这个里面还没有help
0:54.400–0:59.620
zh我们在外面看一下
我们在外面看一下
0:59.620–1:00.800
enCodex
Codex
1:00.800–1:04.020
zh来给大家看
来给大家看
1:04.020–1:05.720
zh就是你可以看到
就是你可以看到
1:05.720–1:07.020
zh你在这个通过这种方式
你在这个通过这种方式
1:07.020–1:07.920
zh你可以查询一下
你可以查询一下
1:07.920–1:09.620
zh它目前有哪一些命令
它目前有哪一些命令
1:09.620–1:12.460
zh如果大家看不懂的话
如果大家看不懂的话
1:12.460–1:13.380
zh你可以这样来
你可以这样来
1:13.380–1:15.900
zh因为它是全是英文的
因为它是全是英文的
1:15.900–1:16.760
zh你可以正好
你可以正好
1:16.760–1:18.640
zh比如说你Codex进去
比如说你Codex进去
1:18.640–1:22.640
zh帮我执行下Codex
帮我执行下Codex
1:22.640–1:24.440
enhelp
help
1:24.440–1:36.840
zh然后将帮助输出为中文表达
然后将帮助输出为中文表达
1:36.840–1:42.140
zh他会先执行这个啊
他会先执行这个啊
1:42.140–1:44.120
zh然后把内容给我们翻译一下
然后把内容给我们翻译一下
1:44.120–1:48.280
zh就这个是教大家怎么样去学习
就这个是教大家怎么样去学习
1:48.280–1:51.340
zh他的一个命令行的一个使用啊
他的一个命令行的一个使用啊
1:51.340–1:53.740
zh因为英文大家可能看不太明白
因为英文大家可能看不太明白
1:53.740–1:55.020
zh用这种Cli的话
用这种Cli的话
1:55.020–1:57.140
zh你就能看得更加清晰一些
你就能看得更加清晰一些
1:57.140–2:00.340
zh来大家可以看到他有哪些Cli呢
来大家可以看到他有哪些Cli呢
2:00.340–2:02.260
zh首先是执行是吧
首先是执行是吧
2:02.260–2:05.900
zh这个叫以非交互式的方式去执行
这个叫以非交互式的方式去执行
2:05.900–2:10.060
zh我们这里来对照来给大家讲啊
我们这里来对照来给大家讲啊
2:10.060–2:13.700
zh我再开一个这个终端
我再开一个这个终端
2:13.700–2:18.300
zh一定要以终端管理员啊
一定要以终端管理员啊
2:18.300–2:21.340
zh然后切换到地盘
然后切换到地盘
2:21.340–2:22.540
encodex mode
codex mode
2:22.540–2:26.620
zh切换到myproject
切换到myproject
2:26.620–2:29.580
zh
2:29.580–2:31.520
zh然后首先的话就是
然后首先的话就是
2:31.520–2:33.680
zh比如说这个里面
比如说这个里面
2:33.680–2:37.000
zh我们就可以以这个命令的方式去分析一下
我们就可以以这个命令的方式去分析一下
2:37.000–2:40.660
zh就你可以在外面去执行这个codex命令
就你可以在外面去执行这个codex命令
2:40.660–2:43.260
zh然后这个是什么意思呢
然后这个是什么意思呢
2:43.260–2:45.600
zh你在外面起了一个问题是吧
你在外面起了一个问题是吧
2:45.600–2:47.940
zh然后它会切换到这个窗口里面去
然后它会切换到这个窗口里面去
2:47.940–2:48.820
zh然后执行这个
然后执行这个
2:48.820–2:50.720
zh然后执行完之后的话
然后执行完之后的话
2:50.720–2:54.120
zh他会给你一个结果的一个输出
他会给你一个结果的一个输出
2:54.120–2:56.700
zh就是这么一个效果
就是这么一个效果
2:56.700–2:58.980
zh就是你可以直接用一个命令的方式进去
就是你可以直接用一个命令的方式进去
2:58.980–3:01.000
zh或者你直接用Codex的方式进去
或者你直接用Codex的方式进去
3:01.000–3:01.840
zh都是OK的
都是OK的
3:01.840–3:05.380
zh你看他现在是帮你去分析整个的一个目录结构
你看他现在是帮你去分析整个的一个目录结构
3:05.380–3:06.080
zh是吧
是吧
3:06.080–3:11.600
zh就是我们可以以一个Codex命令
就是我们可以以一个Codex命令
3:11.600–3:14.780
zh加上一个提示词的方式进入到这个Codex页面
加上一个提示词的方式进入到这个Codex页面
3:14.780–3:16.080
zh然后他就执行任务
然后他就执行任务
3:16.080–3:17.540
zh那有些东西说
那有些东西说
3:17.540–3:19.800
zh比如说我现在不想进入到那个命令行
比如说我现在不想进入到那个命令行
3:19.800–3:21.600
zh我现在只想拿一个结果怎么办呢
我现在只想拿一个结果怎么办呢
3:21.600–3:23.160
zh就大家可以这种方式
就大家可以这种方式
3:23.160–3:25.400
zh叫做exec
叫做exec
3:25.400–3:28.000
zh就要以非交互式的方式
就要以非交互式的方式
3:28.000–3:30.700
zh非交互式就是我不想去对话了
非交互式就是我不想去对话了
3:30.700–3:31.900
zh直接给我结果就完了
直接给我结果就完了
3:31.900–3:33.300
enexec
exec
3:33.300–3:34.260
zh然后
然后
3:34.260–3:37.560
zh你说帮我分析一下
你说帮我分析一下
3:37.560–3:40.620
zh当前项目结构
当前项目结构
3:40.620–3:44.100
zh跳过vip
跳过vip
3:44.100–3:47.060
zh他说要把我们把这个命令给他加上
他说要把我们把这个命令给他加上
3:47.060–3:49.800
zh那我就加一下
那我就加一下
3:49.800–3:52.260
zh来大家看
来大家看
3:52.260–3:53.080
zh接下来就是
接下来就是
3:53.080–3:56.300
zh他会以命令行的方式去跑啊
他会以命令行的方式去跑啊
3:56.300–3:59.000
zh就是我们纯粹就是跑一个命令行
就是我们纯粹就是跑一个命令行
3:59.000–4:00.820
zh也没有什么交互页面了
也没有什么交互页面了
4:00.820–4:02.540
zh直接就给你结果了
直接就给你结果了
4:02.540–4:04.960
zh大家看就没有进入到那个对话页面了
大家看就没有进入到那个对话页面了
4:04.960–4:07.120
zh这里面应该大家能理解啊
这里面应该大家能理解啊
4:07.120–4:09.660
zh就是我现在整个就是以
就是我现在整个就是以
4:09.660–4:11.600
zh执行命令的方式去给结果
执行命令的方式去给结果
4:11.600–4:13.980
zh然后我就不要进入到那个交互了啊
然后我就不要进入到那个交互了啊
4:13.980–4:15.680
zh这个就叫做非交互式的方式
这个就叫做非交互式的方式
4:15.680–4:16.440
zh去运行codex
去运行codex
4:16.440–4:17.900
zh这好处是什么呢
这好处是什么呢
4:17.900–4:19.360
zh好处就在于比如说
好处就在于比如说
4:19.360–4:22.360
zh我现在有一些传统的运维方式
我现在有一些传统的运维方式
4:22.360–4:24.640
zh是以命令的方式去运行的
是以命令的方式去运行的
4:24.640–4:25.960
zh它不需要交互界面
它不需要交互界面
4:25.960–4:27.840
zh我现在就相当于调用一个
我现在就相当于调用一个
4:27.840–4:29.500
zh是以命令的方式去使用Codex
是以命令的方式去使用Codex
4:29.500–4:33.260
zh那你就要以加一个exec的这个参数
那你就要以加一个exec的这个参数
4:33.260–4:34.760
zh然后就做一个调用
然后就做一个调用
4:34.760–4:37.580
zh那现在是不是我们给它分析出来了
那现在是不是我们给它分析出来了
4:37.580–4:38.680
zh结果是吧
结果是吧
4:38.680–4:39.400
zh完了之后
完了之后
4:39.400–4:41.780
zh它就会退回到这个继续终端页面
它就会退回到这个继续终端页面
4:41.780–4:44.100
zh所以整个就是
所以整个就是
4:44.100–4:46.180
zh它就是把Codex当做一个命令来跑
它就是把Codex当做一个命令来跑
4:46.180–4:47.880
zh这个就是exec
这个就是exec
4:47.880–4:52.420
zh然后就是包括还有一些这个clean是吧
然后就是包括还有一些这个clean是吧
4:52.420–4:54.620
zh那我们可以在这个对话里面
那我们可以在这个对话里面
4:54.620–4:57.740
zh大家直接去使用这个clean啊
大家直接去使用这个clean啊
4:57.740–4:59.860
zh就直接给它清理上下文了啊
就直接给它清理上下文了啊
4:59.860–5:01.840
zh包括使用copy的一些命令
包括使用copy的一些命令
5:01.840–5:02.980
zh这个是斜杠命令啊
这个是斜杠命令啊
5:02.980–5:04.160
zh这个我们等一下专门来说
这个我们等一下专门来说
5:04.160–5:07.840
zh然后还有一些比较好的一些使用的命令
然后还有一些比较好的一些使用的命令
5:07.840–5:09.960
zh叫做恢复对话啊
叫做恢复对话啊
5:09.960–5:12.680
zh这个恢复对话的话是用来干嘛的呢
这个恢复对话的话是用来干嘛的呢
5:12.680–5:14.520
zh就是比如说啊
就是比如说啊
5:14.520–5:16.200
zh比如说大家现在在
比如说大家现在在
5:16.200–5:20.820
zh我们刚刚问了一个问题是这个帮助是吧
我们刚刚问了一个问题是这个帮助是吧
5:20.820–5:22.980
zh我现在不小心退出去了
我现在不小心退出去了
5:22.980–5:25.020
zh我现在退出去了怎么办呢
我现在退出去了怎么办呢
5:25.020–5:26.560
zh退出去之后的话
退出去之后的话
5:26.560–5:29.200
zh你大家就执行这个什么叫resume
你大家就执行这个什么叫resume
5:29.200–5:32.580
zh就它会恢复到最近的一个会话
就它会恢复到最近的一个会话
5:32.580–5:35.260
zh比如说我们现在把它执行一下
比如说我们现在把它执行一下
5:35.260–5:36.980
zh然后在这个里面
然后在这个里面
5:36.980–5:39.280
zh来大家看这里它就会选
来大家看这里它就会选
5:39.280–5:42.300
zh就是我之前聊过多少次
就是我之前聊过多少次
5:42.300–5:44.620
zh那我现在要切回去怎么办呢
那我现在要切回去怎么办呢
5:44.620–5:46.220
zh那比如说选最近的
那比如说选最近的
5:46.220–5:47.920
zh他这里会有一个时间啊
他这里会有一个时间啊
5:47.920–5:48.880
zh两分钟之前
两分钟之前
5:48.880–5:51.220
zh然后这边是之前的一个列表
然后这边是之前的一个列表
5:51.220–5:51.520
zh是吧
是吧
5:51.520–5:54.320
zh然后我来切回去
然后我来切回去
5:54.320–5:56.420
zh然后大家看是不是就我就切回来了
然后大家看是不是就我就切回来了
5:56.420–5:57.280
zh是吧
是吧
5:57.280–5:59.620
zh但是这个切的不是我刚刚那个
但是这个切的不是我刚刚那个
5:59.620–6:01.720
zh所以我还得再切一下
所以我还得再切一下
6:01.720–6:03.220
zh刚刚那个应该是这个
刚刚那个应该是这个
6:03.220–6:04.820
zh来大家看是不是切过去了
来大家看是不是切过去了
6:04.820–6:07.320
zh就我可以快速的去恢复一个对话
就我可以快速的去恢复一个对话
6:07.320–6:07.860
zh
6:07.860–6:11.020
zh然后我还可以去指定某个会话 id
然后我还可以去指定某个会话 id
6:11.020–6:11.620
zh
6:11.620–6:12.860
zh这个会话 id 的话啊
这个会话 id 的话啊
6:12.860–6:14.620
zh这就是在哪个地方呢
这就是在哪个地方呢
6:14.620–6:17.360
zh
6:17.360–6:18.320
zh继续
继续
6:18.320–6:19.520
zh继续
继续
6:19.520–6:20.180
zh会话ID
会话ID
6:20.180–6:21.740
zh这里还看不到
这里还看不到
6:21.740–6:23.180
zh看一下
看一下
6:23.180–6:23.740
zh继续
继续
6:23.740–6:25.460
zh加一下这个命令
加一下这个命令
6:25.460–6:29.800
zh继续
继续
6:29.800–6:32.040
zh这个是所有的这个对话啊
这个是所有的这个对话啊
6:32.040–6:34.240
zh一个是当前目录的
一个是当前目录的
6:34.240–6:35.760
zh这个是当前目录的
这个是当前目录的
6:35.760–6:37.740
zh这个是所有目录的啊
这个是所有目录的啊
6:37.740–6:39.420
zh就历史我聊过的
就历史我聊过的
6:39.420–6:41.140
zh都会出现在这个里面去
都会出现在这个里面去
6:41.140–6:43.860
zh所以这个是我之前聊过的所谓记录
所以这个是我之前聊过的所谓记录
6:43.860–6:46.360
zh然后会话ID的话
然后会话ID的话
6:46.360–6:49.260
zh看一下怎么来查看这个会话ID
看一下怎么来查看这个会话ID
6:49.260–6:51.600
enlast
last
6:51.600–6:56.200
zh这个直接是跳转到上次对话
这个直接是跳转到上次对话
6:56.200–7:02.920
zh看一下last会话ID
看一下last会话ID
7:02.920–7:04.920
zh会话ID status
会话ID status
7:04.920–7:07.860
zh那比如说我现在要切到那个
那比如说我现在要切到那个
7:07.860–7:09.200
zh我首先切到
我首先切到
7:09.200–7:13.860
zh比如说我现在resume
比如说我现在resume
7:13.860–7:15.960
zh我切换到这个
我切换到这个
7:15.960–7:17.700
zh然后这个status
然后这个status
7:17.700–7:23.200
zh然后这里大家看啊
然后这里大家看啊
7:23.200–7:24.460
zh它的会话ID
它的会话ID
7:24.460–7:26.160
zh我看这里有没有啊
我看这里有没有啊
7:26.160–7:28.040
zh会话ID
会话ID
7:28.040–7:33.220
zh这里好像没有会话ID
这里好像没有会话ID
7:33.220–7:33.800
zh这个啊
这个啊
7:33.800–7:34.900
zh这个就是会话ID啊
这个就是会话ID啊
7:34.900–7:37.720
zh就是我们输入这个status命令
就是我们输入这个status命令
7:37.720–7:40.480
zh就这里可以看到一个sessionID啊
就这里可以看到一个sessionID啊
7:40.480–7:42.320
zh然后大家把这个东西复制一下
然后大家把这个东西复制一下
7:42.320–7:43.680
zh然后我们退出去
然后我们退出去
7:43.680–7:46.560
zh然后再说一个resume
然后再说一个resume
7:46.560–7:47.060
zh是吧
是吧
7:47.060–7:48.440
encodex resume
codex resume
7:48.440–7:51.080
zh然后加session id
然后加session id
7:51.080–7:53.360
zh也能切回来
也能切回来
7:53.360–7:54.780
zh我觉得这几种方式
我觉得这几种方式
7:54.780–7:57.104
zh基本上就够用了
基本上就够用了
7:57.104–7:57.955
zh然后我们退出去。
然后我们退出去。
7:57.955–7:59.444
zh然后我再说一个resume。
然后我再说一个resume。
7:59.444–8:00.721
encodex resume
codex resume
8:00.721–8:02.104
zh然后加sessionID。
然后加sessionID。
8:02.104–8:02.742
zh也能切回来。
也能切回来。
8:02.742–8:04.444
zh我觉得这几种方式基本上就够用了。
我觉得这几种方式基本上就够用了。
8:04.444–8:06.040
zh然后非交互式命令的方式也可以。
然后非交互式命令的方式也可以。
8:06.040–8:07.530
zh比如说我们带上这个exec。
比如说我们带上这个exec。
8:07.530–8:10.295
zh非交互式命令就我直接想把每一次的会话结果给它说出来。
非交互式命令就我直接想把每一次的会话结果给它说出来。
8:10.295–8:10.615
zh是吧?
是吧?
8:10.615–8:12.104
zh那我们就把这个ID给它拉上。
那我们就把这个ID给它拉上。
8:12.104–8:15.344
zh那就它直接会给我一个结果
那就它直接会给我一个结果
8:15.344–8:18.244
enResume
Resume
8:18.244–8:19.044
zh
8:19.044–8:21.264
enNoGram
NoGram
8:21.264–8:27.644
enNoPro
NoPro
8:27.644–8:31.864
zh诶它这里不是那个ID是吧
诶它这里不是那个ID是吧
8:31.864–8:32.884
zh看一下
看一下
8:32.884–8:42.104
enCodex.exec.resume
Codex.exec.resume
8:42.104–8:52.804
zh我看一下这个命令是不是哪里错了
我看一下这个命令是不是哪里错了
8:52.804–8:56.544
zh大家遇到这种命令错误的情况下
大家遇到这种命令错误的情况下
8:56.544–8:58.044
zh你可以这么来解决
你可以这么来解决
8:58.044–9:00.944
zh你就直接把这个错误丢给他
你就直接把这个错误丢给他
9:00.944–9:03.604
zh帮我分析一下
帮我分析一下
9:03.604–9:04.684
zh这个
这个
9:04.684–9:10.444
zh是什么错误
是什么错误
9:10.444–9:15.084
zh然后输出修正的指令
然后输出修正的指令
9:15.084–9:18.884
zh你就让Codex帮你去修复就完了
你就让Codex帮你去修复就完了
9:18.884–9:25.204
zh但是某个参数写的有问题
但是某个参数写的有问题
9:25.204–9:28.184
zh他会给你一个修正的命令
他会给你一个修正的命令
9:28.184–9:33.904
zh这里还要加一个提示词是吧
这里还要加一个提示词是吧
9:33.904–9:36.384
zh还要加一个这么一个提示词
还要加一个这么一个提示词
9:36.384–9:37.524
zh但是他这里又
但是他这里又
9:37.524–9:39.264
zh后面写了
后面写了
9:39.264–9:40.884
zh他需要加加这个提示词
他需要加加这个提示词
9:40.884–9:42.024
zh我说少了一个参数
我说少了一个参数
9:42.024–9:43.544
zh那我就加一下呗
那我就加一下呗
9:43.544–9:45.904
zh还要加一个参数
还要加一个参数
9:45.904–9:49.624
zh要跳过这个有一个report的一个检查
要跳过这个有一个report的一个检查
9:49.624–9:57.744
zh他就是以一个定时任务啊
他就是以一个定时任务啊
9:57.744–10:00.524
zh就是一个提示词的方式去执行一个命令
就是一个提示词的方式去执行一个命令
10:00.524–10:02.404
zh然后这个命令会把之前的那个
然后这个命令会把之前的那个
10:02.404–10:05.144
zh在之前的会话基础之上再加一个提示词
在之前的会话基础之上再加一个提示词
10:05.144–10:06.064
zh继续做一个对话
继续做一个对话
10:06.064–10:08.084
zh听起来给结果给你说出来
听起来给结果给你说出来
10:08.084–10:09.924
zh这个就是非交互式的运行
这个就是非交互式的运行
10:09.924–10:11.244
zh也就是说我相当于
也就是说我相当于
10:11.244–10:13.804
zh我在之前对话的一个基础之上
我在之前对话的一个基础之上
10:13.804–10:15.644
zh再去让他执行一个
再去让他执行一个
10:15.644–10:19.344
zh这个给他做一个对话
这个给他做一个对话
10:19.344–10:19.664
zh是吧
是吧
10:19.664–10:20.404
zh做一个对话之后
做一个对话之后
10:20.404–10:23.044
zh把这个结果再以命令的方式返回回来
把这个结果再以命令的方式返回回来
10:23.044–10:25.144
zh但是我不要进入到那个对话页面
但是我不要进入到那个对话页面
10:25.144–10:26.864
zh这个是交互的方式
这个是交互的方式
10:26.864–10:29.564
zh所以这个场景可能再也用的不多
所以这个场景可能再也用的不多
10:29.564–10:30.384
zh但是要知道
但是要知道
10:30.384–10:32.724
zh如果你想以命令的方式去跑的话
如果你想以命令的方式去跑的话
10:32.724–10:34.244
zh你就按照规范去写就完了
你就按照规范去写就完了
10:34.244–10:38.324
zh然后是模型跟推理
然后是模型跟推理
10:38.324–10:39.824
zh最开始我们给他讲了
最开始我们给他讲了
10:39.824–10:41.764
zh这个切换模型这里面就是
这个切换模型这里面就是
10:41.764–10:44.184
zh这里面我给他提的一个建议
这里面我给他提的一个建议
10:44.184–10:47.304
zh就是如果说你要做一些对话
就是如果说你要做一些对话
10:47.304–10:47.744
zh是吧
是吧
10:47.744–10:48.764
zh做一个推理
做一个推理
10:48.764–10:50.324
zh然后做一些研究
然后做一些研究
10:50.324–10:53.024
zh存交流的话
存交流的话
10:53.024–10:55.084
zh那你就用GBT5.5就完了
那你就用GBT5.5就完了
10:55.084–10:57.164
zh最新的模型肯定没什么问题
最新的模型肯定没什么问题
10:57.164–10:59.984
zh然后当然他也可以写淡网
然后当然他也可以写淡网
10:59.984–11:03.344
zh但是如果说你要专门写淡网的话
但是如果说你要专门写淡网的话
11:03.344–11:05.844
zh你就用5.3的那个Codex版本
你就用5.3的那个Codex版本
11:05.844–11:07.464
zh这是我给大家一个建议
这是我给大家一个建议
11:07.464–11:08.964
zh这是专门用了写代码的一个版本
这是专门用了写代码的一个版本
11:08.964–11:09.884
zh做个调优的
做个调优的
11:09.884–11:11.624
zh所以它的效果肯定是好一些
所以它的效果肯定是好一些
11:11.624–11:15.204
zh这个是模型跟推理这一块的一个权衡
这个是模型跟推理这一块的一个权衡
11:15.204–11:19.384
zh这个5.5这个模型擅长做任务规划
这个5.5这个模型擅长做任务规划
11:19.384–11:21.504
zh你拿写文档你可以用5.5去做
你拿写文档你可以用5.5去做
11:21.504–11:22.884
zh它的效果会更好
它的效果会更好
11:22.884–11:25.464
zh然后包括一个图片输入
然后包括一个图片输入
11:25.464–11:27.264
zh就是你可以在Codex里面
就是你可以在Codex里面
11:27.264–11:30.224
zh你可以去把一个截图
你可以去把一个截图
11:30.224–11:32.724
zh就是去做一个什么呢
就是去做一个什么呢
11:32.724–11:33.684
zh
11:33.684–11:35.724
zh就给大家去生成出来
就给大家去生成出来
11:35.724–11:37.164
zh比如说我们现在啊
比如说我们现在啊
11:37.164–11:39.424
zh我们现在这个项目下面
我们现在这个项目下面
11:39.424–11:42.284
zh呃有一个这个图片是吧
呃有一个这个图片是吧
11:42.284–11:42.824
zh有一个图片
有一个图片
11:42.824–11:45.764
zh我现在要分析一下这个图片内容是什么
我现在要分析一下这个图片内容是什么
11:45.764–11:48.464
zh比如说我们加上这个
比如说我们加上这个
11:48.464–11:49.464
encodex-r
codex-r
11:49.464–12:01.104
zh把这个图片名
把这个图片名
12:01.104–12:02.804
zh文件名改一下
文件名改一下
12:02.804–12:04.264
zh文件名是
文件名是
12:04.264–12:06.424
zh它就是一个贪吃蛇的测试截图嘛
它就是一个贪吃蛇的测试截图嘛
12:06.424–12:09.264
zh然后你就这么说一下
然后你就这么说一下
12:09.264–12:16.464
zh分析一下这张图片
分析一下这张图片
12:16.464–12:19.424
zh所以大家你直接让他分析就完了
所以大家你直接让他分析就完了
12:19.424–12:21.124
zh他会进入到这个对话里面
他会进入到这个对话里面
12:21.124–12:22.364
zh然后去分析那个图片
然后去分析那个图片
12:22.364–12:26.704
zh这张图是一个网页端的贪吃蛇游戏界面
这张图是一个网页端的贪吃蛇游戏界面
12:26.704–12:27.784
zh然后偏科技风
然后偏科技风
12:27.784–12:29.444
zh你看他分析没什么问题吧
你看他分析没什么问题吧
12:29.444–12:31.804
zh所以说这个场景一般用的什么地方呢
所以说这个场景一般用的什么地方呢
12:31.804–12:33.784
zh就是我们现在项目里面有一些报错
就是我们现在项目里面有一些报错
12:33.784–12:36.044
zh大家不好用语言去表达的时候
大家不好用语言去表达的时候
12:36.044–12:38.284
zh你直接截个图有一个错误在里面
你直接截个图有一个错误在里面
12:38.284–12:38.644
zh是吧
是吧
12:38.644–12:40.344
zh你直接把图丢给AI就行了
你直接把图丢给AI就行了
12:40.344–12:43.824
zh那么Codex他也能帮你去把这个图片给识别出来
那么Codex他也能帮你去把这个图片给识别出来
12:43.824–12:45.324
zh然后去解决这个问题
然后去解决这个问题
12:45.324–12:46.684
zh并且你有多张图的话
并且你有多张图的话
12:46.684–12:47.784
zh你可以使用image
你可以使用image
12:47.784–12:49.284
zh把这个是吧
把这个是吧
12:49.284–12:50.944
zh多张图指定一下就可以了
多张图指定一下就可以了
12:50.944–12:52.364
zh他目前支持PNG
他目前支持PNG
12:52.364–12:54.504
zh这些一些常见格式
这些一些常见格式
12:54.504–12:56.604
zh除了输入图以外
除了输入图以外
12:56.604–12:57.944
zh他还可以生成图
他还可以生成图
12:57.944–12:58.884
zh生成图的话
生成图的话
12:58.884–13:00.464
zh有几种方式
有几种方式
13:00.464–13:03.764
zh就是他可以调用一些API生成图
就是他可以调用一些API生成图
13:03.764–13:04.084
zh是吧
是吧
13:04.084–13:05.904
zh还有的话就是他可以通过
还有的话就是他可以通过
13:05.904–13:08.144
zhOpenAI官方的一些模型
OpenAI官方的一些模型
13:08.144–13:09.984
zh比如说像 GPT-4 模型
比如说像 GPT-4 模型
13:09.984–13:12.184
zh比如说像 DALL-E 3 模型
比如说像 DALL-E 3 模型
13:12.184–13:14.144
zh比如说你就直接跟他说
比如说你就直接跟他说
13:14.144–13:19.584
zh帮我生成一张猫的图片
帮我生成一张猫的图片
13:19.584–13:21.504
zh你就直接这么跟他说
你就直接这么跟他说
13:21.504–13:24.104
zh那么他就会想尽一些办法
那么他就会想尽一些办法
13:24.104–13:24.884
zh帮你去生成图
帮你去生成图
13:24.884–13:28.024
zh他会可能比如说调用一些 skill
他会可能比如说调用一些 skill
13:28.024–13:28.524
zh是吧
是吧
13:28.524–13:29.824
zh他内置的一些 skill
他内置的一些 skill
13:29.824–13:32.924
zh去调用一些模型帮你去生成图
去调用一些模型帮你去生成图
13:32.924–13:34.924
zh或者说他调用一些公共的API
或者说他调用一些公共的API
13:34.924–13:35.904
zh去生成一张图
去生成一张图
13:35.904–13:36.624
zh都有可能
都有可能
13:36.624–13:38.344
zh所以看大家一个需求
所以看大家一个需求
13:38.344–13:39.784
zh比如说你想了他就是用
比如说你想了他就是用
13:39.784–13:41.884
zhGPT 的这个 DALL-E 去生成
GPT 的这个 DALL-E 去生成
13:41.884–13:43.104
zh那你就提示词里面
那你就提示词里面
13:43.104–13:44.304
zh提提醒一下
提提醒一下
13:44.304–13:46.284
zh你要用这个模型去生成就完了
你要用这个模型去生成就完了
13:46.284–13:47.904
zh这个就生成图片
这个就生成图片
13:47.904–13:49.404
zh这个也很好理解
这个也很好理解
13:49.404–13:53.104
zh你看现在已经生成了一个猫的图片了
你看现在已经生成了一个猫的图片了
13:53.104–13:55.604
zh你看就是他生成的是吧
你看就是他生成的是吧
13:55.604–13:57.624
zh这个就猫的一个图片
这个就猫的一个图片
13:57.624–13:59.424
zh所以说
所以说
13:59.424–14:01.064
zh这个里面的话
这个里面的话
14:01.064–14:03.444
zh就是这个效果就是看大家
就是这个效果就是看大家
14:03.444–14:06.004
zh你具体你要让他用什么模型去做
你具体你要让他用什么模型去做
14:06.004–14:08.044
zh但这个功能他都是支持的
但这个功能他都是支持的
14:08.044–14:11.424
zh然后是语法的这个
然后是语法的这个
14:11.424–14:13.264
zh高亮与主题
高亮与主题
14:13.264–14:15.164
zh这个是什么意思呢
这个是什么意思呢
14:15.164–14:15.764
zh就是比如说
就是比如说
14:15.764–14:17.704
zh大家你看这个页面是吧
大家你看这个页面是吧
14:17.704–14:18.824
zh你看的不爽
你看的不爽
14:18.824–14:20.784
zh那我现在要改个主题
那我现在要改个主题
14:20.784–14:24.064
zh就是我进入到这个Codex
就是我进入到这个Codex
14:24.064–14:27.204
zh输入这个Theme
输入这个Theme
14:27.204–14:28.584
zh就大家看
就大家看
14:28.584–14:30.564
zh你可以改这个是吧
你可以改这个是吧
14:30.564–14:31.264
zh可以改这个
可以改这个
14:31.264–14:33.744
zh就是我们什么亮色暗色
就是我们什么亮色暗色
14:33.744–14:35.264
zh各种终端的这个图
各种终端的这个图
14:35.264–14:35.584
zh是吧
是吧
14:35.584–14:37.264
zh比如说我现在想改成这个效果
比如说我现在想改成这个效果
14:37.264–14:38.264
zh然后就看一下
然后就看一下
14:38.264–14:39.844
zh帮我生成一个
帮我生成一个
14:39.844–14:50.704
zh无子棋游戏
无子棋游戏
14:50.704–14:54.684
zh基于html
基于html
14:54.684–14:57.444
zh实现
实现
14:57.444–15:01.284
zh然后大家就可以看到他的这个代码主题
然后大家就可以看到他的这个代码主题
15:01.284–15:05.364
zh我们就可以看到他就有一些变化
我们就可以看到他就有一些变化
15:05.364–15:09.984
zh就他生成代码的时候
就他生成代码的时候
15:09.984–15:11.964
zh这个里面就有一些逻辑
这个里面就有一些逻辑
15:11.964–15:19.004
zh就是相当于这个就是改语法
就是相当于这个就是改语法
15:19.004–15:21.144
zh就是我们改这个一些
就是我们改这个一些
15:21.144–15:22.964
zhDiff高亮的
Diff高亮的
15:22.964–15:24.144
zh这个很好理解
这个很好理解
15:24.144–15:28.004
zh然后是这个比较一个实用的功能
然后是这个比较一个实用的功能
15:28.004–15:29.824
zh叫做运行本地代码评审
叫做运行本地代码评审
15:29.824–15:32.444
zh这个是用来干嘛
这个是用来干嘛
15:32.444–15:34.884
zh大家看这个效果是不是就变了
大家看这个效果是不是就变了
15:34.884–15:35.364
zh是吧
是吧
15:35.364–15:38.024
zh就是这个改了一个这个效果嘛
就是这个改了一个这个效果嘛
15:38.024–15:38.964
zh是吧
是吧
15:38.964–15:40.564
zh
15:40.564–15:42.124
zh这个review啊
这个review啊
15:42.124–15:43.584
zh就是运行本地代码评审
就是运行本地代码评审
15:43.584–15:44.284
zh这个比较
这个比较
15:44.284–15:46.344
zh这个功能比较好用啊
这个功能比较好用啊
15:46.344–15:46.904
zh什么意思呢
什么意思呢
15:46.904–15:48.044
zh就是大家可以在
就是大家可以在
15:48.044–15:51.404
zh这个codex里面去输入这个什么呢
这个codex里面去输入这个什么呢
15:51.404–15:52.384
zh叫做review
叫做review
15:52.384–16:07.030
enreview
review
16:07.030–16:08.990
zh还有一个就是大家啊
还有一个就是大家啊
16:08.990–16:10.730
zh你已经提交了一些PR了
你已经提交了一些PR了
16:10.730–16:11.950
zh那你可以用
那你可以用
16:11.950–16:13.950
zh把一个PR的链接给他
把一个PR的链接给他
16:13.950–16:15.490
zh让他去check也是可以的
让他去check也是可以的
16:15.490–16:16.810
zh但是你要把一些
但是你要把一些
16:16.810–16:18.690
zh比如说GitHub的一个权限给他配合
比如说GitHub的一个权限给他配合
16:18.690–16:20.450
zh让他能够拉到那个PR
让他能够拉到那个PR
16:20.450–16:22.350
zh但是如果是公共仓库就不用管了
但是如果是公共仓库就不用管了
16:22.350–16:23.490
zh公共仓库都有权限
公共仓库都有权限
16:23.490–16:26.370
zh但是最好还是配一个token去访问
但是最好还是配一个token去访问
16:26.370–16:27.730
zh这样就不会被限制
这样就不会被限制
16:27.730–16:29.370
zh所以这个里面的话
所以这个里面的话
16:29.370–16:30.750
zh这个review的话
这个review的话
16:30.750–16:32.770
zh主要就是我们可以做代码评审
主要就是我们可以做代码评审
16:32.770–16:34.710
zh比如说我现在
比如说我现在
16:34.710–16:35.950
zh我刚刚那个
我刚刚那个
16:35.950–16:39.170
zh贪吃蛇游戏是吧
贪吃蛇游戏是吧
16:39.170–16:41.950
zh那你就把这个代码告诉他
那你就把这个代码告诉他
16:41.950–16:45.610
zh比如说我们现在要review
比如说我们现在要review
16:45.610–16:51.210
zhat这个文件是吧
at这个文件是吧
16:51.210–16:52.990
zh帮我
帮我
16:52.990–16:59.670
zh执行一下代码
执行一下代码
16:59.670–17:01.770
zh评审
评审
17:01.770–17:05.710
zh就我们来看一下这个生成代码有什么问题
就我们来看一下这个生成代码有什么问题
17:05.710–17:07.050
zh那就分析一下
那就分析一下
17:07.050–17:07.470
zh对吧
对吧
17:07.470–17:10.190
zh那么他这个里面的话
那么他这个里面的话
17:10.190–17:11.290
zh就会去执行一些
就会去执行一些
17:11.290–17:12.450
zhGit的一些命令啊
Git的一些命令啊
17:12.450–17:13.530
zh因为有时候
因为有时候
17:13.530–17:15.350
zh他要分析有没有提交嘛
他要分析有没有提交嘛
17:15.350–17:16.610
zh所以他用到用到Git
所以他用到用到Git
17:16.610–17:17.610
zh但是我们这个
但是我们这个
17:17.610–17:19.030
zh他不是一个Git项目嘛
他不是一个Git项目嘛
17:19.030–17:21.010
zh那他直接就可以分析内容了
那他直接就可以分析内容了
17:21.010–17:23.230
zh那我这里面还有一个项目啊
那我这里面还有一个项目啊
17:23.230–17:24.870
zh是我之前找的一个
是我之前找的一个
17:24.870–17:25.910
zh开源的一个项目啊
开源的一个项目啊
17:25.910–17:27.150
zh一个洛伊的项目
一个洛伊的项目
17:27.150–17:28.310
zh那么这个项目的话
那么这个项目的话
17:28.310–17:30.470
zh是我改了一些代码的啊
是我改了一些代码的啊
17:30.470–17:31.770
zh我等一下拉下拉分析一下
我等一下拉下拉分析一下
17:31.770–17:32.930
zh我改的这个代码里面
我改的这个代码里面
17:32.930–17:34.170
zh有没有什么问题啊
有没有什么问题啊
17:34.170–17:37.070
zh所以我这里开开两个给大家来看一下这个效果
所以我这里开开两个给大家来看一下这个效果
17:37.070–17:43.170
zh那这里面我们还是要用终端管理员啊
那这里面我们还是要用终端管理员啊
17:43.170–17:48.610
zh切换到 local
切换到 local
17:48.610–17:51.210
zh然后这个里面
然后这个里面
17:51.210–17:54.170
zh你这里一样的啊
你这里一样的啊
17:54.170–17:55.410
enCodex
Codex
17:55.410–17:57.630
enreview
review
17:57.630–18:00.750
zh然后我们就直接review
然后我们就直接review
18:00.750–18:03.230
zh然后这里面大家看会有一个提示啊
然后这里面大家看会有一个提示啊
18:03.230–18:04.630
zh第一个的话就是pr
第一个的话就是pr
18:04.630–18:07.690
zh就是我们现在基于这个分支去check
就是我们现在基于这个分支去check
18:07.690–18:10.490
zh然后第二个就是我们没有提交的一些change
然后第二个就是我们没有提交的一些change
18:10.490–18:12.490
zh就我现在有一些代码没提交嘛
就我现在有一些代码没提交嘛
18:12.490–18:13.350
zh刚刚那些代码
刚刚那些代码
18:13.350–18:14.530
zh我们去check一下
我们去check一下
18:14.530–18:16.390
zh然后是已经已提交的
然后是已经已提交的
18:16.390–18:20.290
zh基本上就是这个是自定义的这种审查
基本上就是这个是自定义的这种审查
18:20.290–18:23.230
zh我们现在这个场景选择第二个
我们现在这个场景选择第二个
18:23.230–18:27.050
zh那去扫描执行一些 git 命令
那去扫描执行一些 git 命令
18:27.050–18:28.830
zh看一下我提的代码也没问题
看一下我提的代码也没问题
18:28.830–18:29.350
zh是吧
是吧
18:29.350–18:32.270
zh你看但是他现在
你看但是他现在
18:32.270–18:34.870
zh给我的结果是英文的是吧
给我的结果是英文的是吧
18:34.870–18:38.030
zh那么大家可以这里加一下
那么大家可以这里加一下
18:38.030–18:43.310
zh你就使用中文输出结果
你就使用中文输出结果
18:43.310–18:46.910
zh这里给大家提示一下就可以了
这里给大家提示一下就可以了
18:46.910–18:51.670
zh然后这里面我们其实也可以加一下
然后这里面我们其实也可以加一下
18:51.670–18:54.430
enCodex
Codex
18:54.430–19:00.630
enreview
review
19:00.630–19:01.390
zh这里还改不了
这里还改不了
19:01.390–19:02.850
zh那我们就直接让它输出吧
那我们就直接让它输出吧
19:02.850–19:03.830
zh等一下
等一下
19:03.830–19:05.270
zh它的出来的结果
它的出来的结果
19:05.270–19:07.890
zh我们可以让它再翻一下就可以了
我们可以让它再翻一下就可以了
19:07.890–19:11.550
zh这个就是两种
这个就是两种
19:11.550–19:13.230
zh一种是 Git 有项目的
一种是 Git 有项目的
19:13.230–19:14.370
zh就有提交记录的
就有提交记录的
19:14.370–19:15.590
zh这种是没有提交记录
这种是没有提交记录
19:15.590–19:16.870
zh指定单文件的审查
指定单文件的审查
19:16.870–19:18.030
zh这个都是OK的
这个都是OK的
19:18.030–19:19.190
zh看大家具体
看大家具体
19:19.190–19:21.190
zh你是什么一个场景
你是什么一个场景
19:21.190–19:22.650
zh都是OK的
都是OK的
19:22.650–19:25.270
zh然后就是比如说
然后就是比如说
19:25.270–19:28.750
zh我们还可以去自定义一些评审命令
我们还可以去自定义一些评审命令
19:28.750–19:30.890
zh比如说你想这个
比如说你想这个
19:30.890–19:32.650
zh重点关注某一个
重点关注某一个
19:32.650–19:33.550
zh是吧
是吧
19:33.550–19:35.850
zh你要自己定义一套机制
你要自己定义一套机制
19:35.850–19:38.650
zh然后去做一些这个审查
然后去做一些这个审查
19:38.650–19:39.490
zh是吧
是吧
19:39.490–19:41.930
zh那么他都可以去做一个处理啊
那么他都可以去做一个处理啊
19:41.930–19:43.630
zh这个是你要自定一些评审命令
这个是你要自定一些评审命令
19:43.630–19:46.010
zh基本上我们用不到那么麻烦
基本上我们用不到那么麻烦
19:46.010–19:47.250
zh你直接就让他去
你直接就让他去
19:47.250–19:49.230
zhcheck你有没有提交了
check你有没有提交了
19:49.230–19:52.330
zh因为这个尽量是自己提交上去代码
因为这个尽量是自己提交上去代码
19:52.330–19:52.830
zh没什么问题
没什么问题
19:52.830–19:53.850
zh自己先check一下
自己先check一下
19:53.850–19:56.210
zh所以大部分你用这个场景就可以了
所以大部分你用这个场景就可以了
19:56.210–19:57.350
zh或者是已经提交的
或者是已经提交的
19:57.350–19:59.990
zh让专门的审查人员看你的PR就可以了
让专门的审查人员看你的PR就可以了
19:59.990–20:01.810
zh这也是OK的
这也是OK的
20:01.810–20:07.290
zh你看这个就是我们分析的这个结果
你看这个就是我们分析的这个结果
20:07.290–20:09.210
zh就是刚刚分析那个贪吃蛇
就是刚刚分析那个贪吃蛇
20:09.210–20:10.110
zh那个游戏是吧
那个游戏是吧
20:10.110–20:11.670
zh写的代码有没有问题
写的代码有没有问题
20:11.670–20:12.490
zh我们去看一下
我们去看一下
20:12.490–20:14.550
zh然后这里面你看是不是就分析出来了
然后这里面你看是不是就分析出来了
20:14.550–20:17.510
zh空格暂停被双肩停抵消
空格暂停被双肩停抵消
20:17.510–20:18.790
zh然后什么什么规则
然后什么什么规则
20:18.790–20:20.490
zh什么反转是吧
什么反转是吧
20:20.490–20:22.070
zh然后什么误判呀
然后什么误判呀
20:22.070–20:26.430
zh就是他给你提了三个问题是吧
就是他给你提了三个问题是吧
20:26.430–20:27.770
enP1 P2 P3
P1 P2 P3
20:27.770–20:28.650
zh三个问题
三个问题
20:28.650–20:31.290
zh这是他给的一些反馈啊
这是他给的一些反馈啊
20:31.290–20:33.130
zh这个结果还是
这个结果还是
20:33.130–20:35.490
zh比较准确的
比较准确的
20:35.490–20:36.530
zh那这个里面描述
那这个里面描述
20:36.530–20:38.230
zh这个你看损坏的
这个你看损坏的
20:38.230–20:39.850
zh这个就是字符集的问题
这个就是字符集的问题
20:39.850–20:41.890
zh然后你比如说根据这个审查结果
然后你比如说根据这个审查结果
20:41.890–20:42.610
zh你就可以来提到
你就可以来提到
20:42.610–20:44.630
zh参考上述
参考上述
20:44.630–20:47.550
zh审查结果
审查结果
20:47.550–20:49.750
zh帮我修复
帮我修复
20:49.750–20:52.370
zh代码
代码
20:52.370–20:53.910
zh就是审查完之后
就是审查完之后
20:53.910–20:54.630
zh这些个东西
这些个东西
20:54.630–20:56.450
zh你就可以让它自动修复了
你就可以让它自动修复了
20:56.450–20:57.630
zh这么就是
这么就是
20:57.630–20:59.550
zh是不是就全自动了是吧
是不是就全自动了是吧
20:59.550–21:01.370
zh就你让它这个完
就你让它这个完
21:01.370–21:02.710
zh让它自己修复
让它自己修复
21:02.710–21:04.730
zh你再去看一下有没有问题
你再去看一下有没有问题
21:04.730–21:07.110
zh这就是做一个循环啊
这就是做一个循环啊
21:07.110–21:09.550
zh让它不断的去修正完善是吧
让它不断的去修正完善是吧
21:09.550–21:13.590
zh然后这个里面它也是这个英文的
然后这个里面它也是这个英文的
21:13.590–21:14.790
zh你就这么来说
你就这么来说
21:14.790–21:21.570
zh上面输出的结果
上面输出的结果
21:21.570–21:25.850
zh帮我翻译为中文输出
帮我翻译为中文输出
21:25.850–21:27.990
zh就夹夹一个这样就可以
就夹夹一个这样就可以
21:27.990–21:31.790
zh他就会给你把那个这个里面你看
他就会给你把那个这个里面你看
21:31.790–21:34.090
zh是吧
是吧
21:34.090–21:36.250
zh这个是我之前的改了一些这个代码
这个是我之前的改了一些这个代码
21:36.250–21:36.490
zh是吧
是吧
21:36.490–21:37.330
zh改了一些脚本
改了一些脚本
21:37.330–21:39.650
zh然后包括一些这个style啊
然后包括一些这个style啊
21:39.650–21:40.250
zh一些CSS啊
一些CSS啊
21:40.250–21:41.090
zh然后做一些调整
然后做一些调整
21:41.090–21:42.930
zh他都帮我分析出来了啊
他都帮我分析出来了啊
21:42.930–21:44.330
zh这个就是评审的一些细节
这个就是评审的一些细节
21:44.330–21:47.250
zh然后你看已经审查修复了啊
然后你看已经审查修复了啊
21:47.250–21:47.770
zh修复完之后
修复完之后
21:47.770–21:49.030
zh你还可以让他去测试一下
你还可以让他去测试一下
21:49.030–21:49.350
zh是吧
是吧
21:49.350–21:51.610
zh然后你就比如说你再去这个指令
然后你就比如说你再去这个指令
21:51.610–22:00.970
zh再执行一次代码审查
再执行一次代码审查
22:00.970–22:11.330
zh看一下
看一下
22:11.330–22:19.730
zh之前那些之前审查
之前那些之前审查
22:19.730–22:28.370
zh问题有没有修复
问题有没有修复
22:28.370–22:35.690
zh输出一个对照表格
输出一个对照表格
22:35.690–22:43.190
zh比如说原问题
比如说原问题
22:43.190–22:49.970
zh问题修复
问题修复
22:49.970–22:54.010
zh关键点
关键点
22:54.010–22:56.870
zh然后修复
然后修复
22:56.870–23:02.670
zh代码文件
代码文件
23:02.670–23:04.090
zh修复代码
修复代码
23:04.090–23:04.910
zh代码好吗
代码好吗
23:04.910–23:05.750
zh因为就一个文件
因为就一个文件
23:05.750–23:06.130
zh是吧
是吧
23:06.130–23:07.950
zh就是他修完之后
就是他修完之后
23:07.950–23:10.090
zh我怎么知道他有没有修呢
我怎么知道他有没有修呢
23:10.090–23:11.550
zh我们让他说出一个对照
我们让他说出一个对照
23:11.550–23:12.470
zh是吧
是吧
23:12.470–23:14.110
zh让他做一个总结嘛
让他做一个总结嘛
23:14.110–23:16.430
zh不然你也不知道他改了成功没有
不然你也不知道他改了成功没有
23:16.430–23:18.290
zh然后你也不知道到底代码
然后你也不知道到底代码
23:18.290–23:18.930
zh动了哪些
动了哪些
23:18.930–23:19.770
zh虽然上面有
虽然上面有
23:19.770–23:22.070
zh但是我还是希望看到一个表格
但是我还是希望看到一个表格
23:22.070–23:22.970
zh是吧
是吧
23:22.970–23:24.650
zh这是我们看的更加清晰一些
这是我们看的更加清晰一些
23:24.650–23:28.510
zh所以大家就可以通过这些个提示词
所以大家就可以通过这些个提示词
23:28.510–23:30.290
zh不断的让他就优化
不断的让他就优化
23:30.290–23:31.010
zh调整
调整
23:31.010–23:32.850
zh做一些归纳
做一些归纳
23:32.850–23:35.910
zh这样的话你这个效率是不是就提升了
这样的话你这个效率是不是就提升了
23:35.910–23:38.170
zh而且你还做了一把check
而且你还做了一把check
23:38.170–23:40.270
zh它的准确性也会高很多
它的准确性也会高很多
23:40.270–23:45.090
zh所以这些个细节问题啊
所以这些个细节问题啊
23:45.090–23:46.670
zh就是大家你可以去
就是大家你可以去
23:46.670–23:50.110
zh适当的把这个东西给它用起来啊
适当的把这个东西给它用起来啊
23:50.110–23:51.710
zh这样的话我们整个效率的话
这样的话我们整个效率的话
23:51.710–23:56.190
zh就会得到一个提升
就会得到一个提升
23:56.190–24:09.190
zh然后,请用中文再输出上面的结果。
然后,请用中文再输出上面的结果。
24:09.190–24:19.450
zh他没有帮我把之前的那个结果列出来是吧
他没有帮我把之前的那个结果列出来是吧
24:19.450–24:22.330
zh他现在又帮我啊
他现在又帮我啊
24:22.330–24:23.890
zh我执行的是review是吧
我执行的是review是吧
24:23.890–24:25.810
zh那我还不能加那个review了
那我还不能加那个review了
24:25.810–24:29.590
zh那我是不能加那个review的
那我是不能加那个review的
24:29.590–24:31.410
zh我加了review之后
我加了review之后
24:31.410–24:34.650
zh他既又又直接的那个是吧
他既又又直接的那个是吧
24:34.650–24:35.210
zh那我就
那我就
24:35.210–24:38.990
zh那我就不能不能加review了
那我就不能不能加review了
24:38.990–24:39.850
zh加review之后
加review之后
24:39.850–24:42.110
zh他还是在帮我做代码审查的
他还是在帮我做代码审查的
24:42.110–24:44.790
zh我就直接这么来
我就直接这么来
24:44.790–24:46.990
zh直接说一个提示词
直接说一个提示词
24:46.990–24:48.410
zh就不要加入review了
就不要加入review了
24:48.410–24:50.290
zh就不要再做代码审查
就不要再做代码审查
24:50.290–24:52.450
zh直接让他给我结果就行了
直接让他给我结果就行了
24:52.450–24:58.650
zh所以review他根本的这个点的话
所以review他根本的这个点的话
24:58.650–25:00.310
zh还是要去做什么呢
还是要去做什么呢
25:00.310–25:01.510
zh去做review的
去做review的
25:01.510–25:08.990
zh他不会帮你去做其他的一个操作的
他不会帮你去做其他的一个操作的
25:08.990–25:12.250
zh你看他是不是这里就修复了
你看他是不是这里就修复了
25:12.250–25:12.710
zh是吧
是吧
25:12.710–25:17.510
zh看一下
看一下
25:17.510–25:19.210
zh这是不是有一个表格
这是不是有一个表格
25:19.210–25:20.870
zh以修复
以修复
25:20.870–25:22.390
zh你看原问题是什么
你看原问题是什么
25:22.390–25:24.090
zh修复关键点是什么
修复关键点是什么
25:24.090–25:24.470
zh是吧
是吧
25:24.470–25:26.750
zh然后修复代码行
然后修复代码行
25:26.750–25:27.670
zh以修复
以修复
25:27.670–25:29.870
zh这个是不是就比较清晰了
这个是不是就比较清晰了
25:29.870–25:32.250
zh然后最后又代码审查出来一个未修复
然后最后又代码审查出来一个未修复
25:32.250–25:34.330
zh那你就继续在他
那你就继续在他
25:34.330–25:35.330
zh再修复
再修复
25:35.330–25:36.170
zh再去check
再去check
25:36.170–25:37.410
zh再不断的
再不断的
25:37.410–25:38.630
zh直到把所有的问题修完
直到把所有的问题修完
25:38.630–25:40.370
zh这个问题是不是就解决了
这个问题是不是就解决了
25:40.370–25:41.510
zh这个就是一个思路
这个就是一个思路
25:41.510–25:42.090
enOK
OK
25:42.090–25:44.030
zh
25:44.030–25:45.370
zh然后是Web搜索
然后是Web搜索
25:45.370–25:46.730
zh那这个的话
那这个的话
25:46.730–25:48.390
zh就是我们可以用一些
就是我们可以用一些
25:48.390–25:49.870
zh这个检索工具
这个检索工具
25:49.870–25:51.030
zh比如说抓取一些新闻
比如说抓取一些新闻
25:51.030–25:52.330
zh或者检索一些信息
或者检索一些信息
25:52.330–25:54.430
zh那这个的话
那这个的话
25:54.430–25:55.930
zh我们可以用 YOLO 模式
我们可以用 YOLO 模式
25:55.930–25:58.450
zh就是因为整个对话的话
就是因为整个对话的话
25:58.450–26:00.270
zh因为它要反复的给你去
因为它要反复的给你去
26:00.270–26:01.970
zh有一些问题
有一些问题
26:01.970–26:02.550
zh你确认
你确认
26:02.550–26:03.910
zh比如说能不能调用API
比如说能不能调用API
26:03.910–26:04.990
zh能不能调用一些工具
能不能调用一些工具
26:04.990–26:07.210
zh这个大家可以加一个 YOLO
这个大家可以加一个 YOLO
26:07.210–26:08.350
zh加一个 YOLO
加一个 YOLO
26:08.350–26:11.390
zh然后包括我们还加一个search
然后包括我们还加一个search
26:11.390–26:12.990
zh就是我们可以去检索
就是我们可以去检索
26:12.990–26:14.850
zh就是你把这个参数带进去
就是你把这个参数带进去
26:14.850–26:18.150
zh他在默认的时候就会去达到这个search
他在默认的时候就会去达到这个search
26:18.150–26:21.450
zh这么一个目的
这么一个目的
26:21.450–26:23.350
zh比如说我们退出去
比如说我们退出去
26:23.350–26:26.250
encodex
codex
26:26.250–26:27.550
zh形容这个 YOLO 模式
形容这个 YOLO 模式
26:27.550–26:35.350
zh然后再加上这个search
然后再加上这个search
26:35.350–26:37.350
zh加一个search
加一个search
26:37.350–26:55.790
zh比如说帮我抓取最最热门的十条AI资讯
比如说帮我抓取最最热门的十条AI资讯
26:55.790–26:58.110
zh那我现在就要search了是吧
那我现在就要search了是吧
26:58.110–26:58.910
zh要抓取嘛
要抓取嘛
26:58.910–27:00.790
zh你看现在是不是就在search
你看现在是不是就在search
27:00.790–27:03.490
zh就你明确的加上这个search命令之后的话
就你明确的加上这个search命令之后的话
27:03.490–27:07.350
zh那么他接下来要工作的一个逻辑就是
那么他接下来要工作的一个逻辑就是
27:07.350–27:13.030
zh要优先从这个web这个search里面去拿那个结果
要优先从这个web这个search里面去拿那个结果
27:13.030–27:13.330
zh是吧
是吧
27:13.330–27:18.230
zh当然这个search结果是OpenAI自己维护的一个网页结果检索
当然这个search结果是OpenAI自己维护的一个网页结果检索
27:18.230–27:21.830
zh所以你看到的可能是这个缓存是吧
所以你看到的可能是这个缓存是吧
27:21.830–27:24.290
zh但是也不一定是最新的抓取页面
但是也不一定是最新的抓取页面
27:24.290–27:25.290
zh这个看情况
这个看情况
27:25.290–27:27.430
zh得看他具体search的时候
得看他具体search的时候
27:27.430–27:30.610
zh是不是调用了一些实时的API去search的
是不是调用了一些实时的API去search的
27:30.610–27:32.250
zh他有可能会命中缓存啊
他有可能会命中缓存啊
27:32.250–27:34.750
zh所以大家看到结果不一定是对的
所以大家看到结果不一定是对的
27:34.750–27:36.470
zh所以这个最保险的话
所以这个最保险的话
27:36.470–27:38.430
zh你就是还是要去指令一个API
你就是还是要去指令一个API
27:38.430–27:41.490
zh比如说使用这个 Tavily 那个 search
比如说使用这个 Tavily 那个 search
27:41.490–27:43.050
zh使用Beamsearch
使用Beamsearch
27:43.050–27:45.190
zh这个指定的这个工具去search
这个指定的这个工具去search
27:45.190–27:46.770
zh这样的话效果会更好一些
这样的话效果会更好一些
27:46.770–27:51.050
zh你看这个结果
你看这个结果
27:51.050–27:52.250
zh5月31号
5月31号
27:52.250–27:56.390
zh结果还是看着好像是没什么问题的
结果还是看着好像是没什么问题的
27:56.390–27:58.190
zh但是没抓到最新的是吧
但是没抓到最新的是吧
27:58.190–28:00.110
zh只抓到5月28号的
只抓到5月28号的
28:00.110–28:02.030
zh所以这个里面还是会有一些缓存的
所以这个里面还是会有一些缓存的
28:02.030–28:04.290
zh它没有最新的嘛
它没有最新的嘛
28:04.290–28:06.990
zh说明可能命中缓存了
说明可能命中缓存了
28:06.990–28:10.670
zh所以大家还可以去装一些插件啊
所以大家还可以去装一些插件啊
28:10.670–28:13.970
zh比如说用 Tavily Research 的这种方式去检索啊
比如说用 Tavily Research 的这种方式去检索啊
28:13.970–28:15.530
zh那么还有一些场景
那么还有一些场景
28:15.530–28:17.030
zh比如说我这个对话
比如说我这个对话
28:17.030–28:18.790
zh我不需要参考Web Search
我不需要参考Web Search
28:18.790–28:21.450
zh我永远以内部的一些文档为准
我永远以内部的一些文档为准
28:21.450–28:24.050
zh那你就要把这个Web Search给disable掉
那你就要把这个Web Search给disable掉
28:24.050–28:24.670
zh关闭
关闭
28:24.670–28:26.210
zh不然的话有时候去Search
不然的话有时候去Search
28:26.210–28:28.250
zh这个结果反而是不准的
这个结果反而是不准的
28:28.250–28:30.610
zh然后的话
然后的话
28:30.610–28:32.850
zh这个大家也可以去结合这个Codex
这个大家也可以去结合这个Codex
28:32.850–28:35.110
zh这个非终端的这种方式
这个非终端的这种方式
28:35.110–28:35.390
zh是吧
是吧
28:35.390–28:37.710
zh非交互式的去执行
非交互式的去执行
28:37.710–28:39.070
zh就你只要给结果啊
就你只要给结果啊
28:39.070–28:41.750
zh我也不关心什么控制台聊天什么的
我也不关心什么控制台聊天什么的
28:41.750–28:43.630
zh就不需要关注这个点了
就不需要关注这个点了
28:43.630–28:50.790
zh然后是我们可以直接用输入提示词去运行
然后是我们可以直接用输入提示词去运行
28:50.790–28:53.430
zh就是我们前面给他讲
就是我们前面给他讲
28:53.430–28:54.190
zh这个Codex
这个Codex
28:54.190–28:56.930
zh他的一个这个EXEC是吧
他的一个这个EXEC是吧
28:56.930–28:59.290
zh这个交互式的
这个交互式的
28:59.290–29:01.450
zh就是各种交互式的话
就是各种交互式的话
29:01.450–29:04.390
zh他都可以跳过这个交互式UI
他都可以跳过这个交互式UI
29:04.390–29:06.190
zh直接给结果
直接给结果
29:06.190–29:06.850
zh并且的话
并且的话
29:06.850–29:08.750
zh你还可以加一些pass的参数
你还可以加一些pass的参数
29:08.750–29:11.450
zh然后去指定目录去做处理
然后去指定目录去做处理
29:11.450–29:15.250
zh比如说我现在想切换到D盘
比如说我现在想切换到D盘
29:15.250–29:17.950
zh比如我们加一个codex
比如我们加一个codex
29:17.950–29:21.610
encodex
codex
29:21.610–29:27.930
zh比如说我们想换一个
比如说我们想换一个
29:27.930–29:30.750
zh分析一下
分析一下
29:30.750–29:32.550
zh这个项目
这个项目
29:32.550–29:35.350
zh然后
然后
29:35.350–29:38.690
enpath
path
29:38.690–29:43.290
zhD盘
D盘
29:43.290–29:45.090
encodex
codex
29:45.090–29:47.130
zh然后我让他分析这个
然后我让他分析这个
29:47.130–29:47.910
zh路徑吧
路徑吧
29:47.910–29:58.910
zh分析这个项目
分析这个项目
29:58.910–30:00.750
zh这里输错了
这里输错了
30:00.750–30:10.750
enexec
exec
30:10.750–30:14.750
enpath
path
30:14.750–30:16.750
ennotFound
notFound
30:16.750–30:30.750
zh要加到前面去
要加到前面去
30:30.750–30:40.750
zh分析一下这个项目
分析一下这个项目
30:40.750–30:45.750
zh去path一个value
去path一个value
30:45.750–30:48.750
zh这里直接这样试一下
这里直接这样试一下
30:48.750–30:52.750
zh那我就
那我就
30:52.750–30:54.750
zh没事我就让那个来修正
没事我就让那个来修正
30:54.750–30:56.750
zh让Codex帮我修正吧
让Codex帮我修正吧
30:56.750–31:00.750
zh我们也不知道哪个地方有问题是吧
我们也不知道哪个地方有问题是吧
31:00.750–31:08.950
zh帮我修正下这个命令输出
帮我修正下这个命令输出
31:08.950–31:10.550
zh这我们遇到问题
这我们遇到问题
31:10.550–31:12.250
zh直接让Codex帮我们修正就完了
直接让Codex帮我们修正就完了
31:12.250–31:14.930
zh他会自己去查帮助文档
他会自己去查帮助文档
31:14.930–31:16.670
zh帮我们去优化这个命令呢
帮我们去优化这个命令呢
31:16.670–31:19.430
zh所以有问题也没关系
所以有问题也没关系
31:19.430–31:21.710
zh直接让他输出就可以了
直接让他输出就可以了
31:21.710–31:25.850
zh然后用-c
然后用-c
31:25.850–31:30.210
zh不在 git 仓库里面加 -c
不在 git 仓库里面加 -c
31:30.210–31:32.310
zh在 git 仓库里面
在 git 仓库里面
31:32.310–31:33.670
zh那我们就用c吧
那我们就用c吧
31:33.670–31:35.510
zh它不是pass啊
它不是pass啊
31:35.510–31:35.730
zh
31:35.730–31:36.670
zh我推出去
我推出去
31:36.670–31:40.890
zh好可以了
好可以了
31:40.890–31:42.170
zh要用-c啊
要用-c啊
31:42.170–31:44.090
zh就不是pass了
就不是pass了
31:44.090–31:47.570
zh那现在是不是就可以了
那现在是不是就可以了
31:47.570–31:47.890
zh是吧
是吧
31:47.890–31:51.110
zh他会帮我们把这个整个目录给他分析一下啊
他会帮我们把这个整个目录给他分析一下啊
31:51.110–31:54.025
zh这个就是
这个就是
31:54.025–31:59.025
zh这个就是我们可以用非交互式的方式去用一些。
这个就是我们可以用非交互式的方式去用一些。
31:59.025–32:01.025
zh然后是审批模式。
然后是审批模式。
32:01.025–32:05.025
zh那这个审批模式的话,这里面是什么意思呢?
那这个审批模式的话,这里面是什么意思呢?
32:05.025–32:07.025
zh比如说大家,
比如说大家,
32:07.025–32:09.525
zh你现在习惯到Codex
你现在习惯到Codex
32:09.525–32:12.105
zh你让他执行一些命令是吧
你让他执行一些命令是吧
32:12.105–32:14.065
zh那有些情况下
那有些情况下
32:14.065–32:15.745
zh执行一些命令是需要授权的
执行一些命令是需要授权的
32:15.745–32:18.365
zh这里面他有几种授权模式啊
这里面他有几种授权模式啊
32:18.365–32:19.165
zh叫 Permissions
叫 Permissions
32:19.165–32:23.405
zh默认的话是这个需要授权啊
默认的话是这个需要授权啊
32:23.405–32:24.825
zh比如说你跑一些编辑文件
比如说你跑一些编辑文件
32:24.825–32:25.905
zh一些敏感命令的时候
一些敏感命令的时候
32:25.905–32:26.905
zh他是需要授权的
他是需要授权的
32:26.905–32:30.565
zh或者是你只分析一些文档
或者是你只分析一些文档
32:30.565–32:30.865
zh是吧
是吧
32:30.865–32:31.945
zh你不想编辑的话
你不想编辑的话
32:31.945–32:32.725
zh你就用 ReadOnly
你就用 ReadOnly
32:32.725–32:34.425
zh他不能改
他不能改
32:34.425–32:36.065
zh你就用只读模式
你就用只读模式
32:36.065–32:39.485
zh这个是非管理员的这个沙箱模式
这个是非管理员的这个沙箱模式
32:39.485–32:40.745
zh这是推荐的啊
这是推荐的啊
32:40.745–32:42.745
zh运行一些敏感命令是需要授权的
运行一些敏感命令是需要授权的
32:42.745–32:45.765
zh特别是访问一些网络编辑一些文件的时候需要授权
特别是访问一些网络编辑一些文件的时候需要授权
32:45.765–32:48.485
zh然后第三个的话是自动的review
然后第三个的话是自动的review
32:48.485–32:50.345
zh他会根据实际的一些情况
他会根据实际的一些情况
32:50.345–32:52.925
zh是针对性的去做一些审查
是针对性的去做一些审查
32:52.925–32:55.565
zh但是在某些情况下还是需要授权的
但是在某些情况下还是需要授权的
32:55.565–32:57.425
zh全访问就是yolo模式
全访问就是yolo模式
32:57.425–33:01.765
zh就是我们现在是不需要任何授权了
就是我们现在是不需要任何授权了
33:01.765–33:03.105
zh直接什么命令都可以执行
直接什么命令都可以执行
33:03.105–33:04.805
zh然后在这个APP里面
然后在这个APP里面
33:04.805–33:06.145
zh这边有也有一个啊
这边有也有一个啊
33:06.145–33:09.905
zh左下角你看默认权限自动审查啊
左下角你看默认权限自动审查啊
33:09.905–33:11.525
zh如果大家做项目开发的话
如果大家做项目开发的话
33:11.525–33:14.405
zh你如果不想有很多交互性的东西出来的话
你如果不想有很多交互性的东西出来的话
33:14.405–33:17.285
zh你就选最后一个完全开放权限就完事了啊
你就选最后一个完全开放权限就完事了啊
33:17.285–33:18.345
zh这个很好理解
这个很好理解
33:18.345–33:20.385
zh就是把所有的权限都给codex
就是把所有的权限都给codex
33:20.385–33:21.425
zh让他去干活
让他去干活
33:21.425–33:24.405
zh不需要给你反复确认啊
不需要给你反复确认啊
33:24.405–33:27.905
zh因为这个反复要你确认的话也挺烦的啊
因为这个反复要你确认的话也挺烦的啊
33:27.905–33:28.625
zh耽误时间
耽误时间
33:28.625–33:34.785
zh然后是脚本化的这个方式去执行这个codex
然后是脚本化的这个方式去执行这个codex
33:34.785–33:37.405
zh那这个的话就是我们
那这个的话就是我们
33:37.405–33:40.305
zh比如说现在想用
比如说现在想用
33:40.305–33:42.405
zh这个exec的子命令
这个exec的子命令
33:42.405–33:44.845
zh然后去接入自动化的一些工作
然后去接入自动化的一些工作
33:44.845–33:47.405
zh包括我们想接入传统的一些 Shell 脚本
包括我们想接入传统的一些 Shell 脚本
33:47.405–33:49.345
zh大家就可以把这个codex
大家就可以把这个codex
33:49.345–33:52.225
zhexec这个命令给它整合成一个脚本
exec这个命令给它整合成一个脚本
33:52.225–33:53.105
zh是吧
是吧
33:53.105–33:55.225
zh比如说我们现在
比如说我们现在
33:55.225–33:58.145
zh应该也可以结合 grep
应该也可以结合 grep
33:58.145–33:59.665
zhgrep 那个命令
grep 那个命令
33:59.665–34:02.665
zh比如说我们现在来分析一下
比如说我们现在来分析一下
34:02.665–34:07.125
zh可以怎么来用呢
可以怎么来用呢
34:07.125–34:07.965
zh比如说我现在
比如说我现在
34:07.965–34:09.665
zh你看这个目录下面
你看这个目录下面
34:09.665–34:11.185
zh现在有很多目录文件是吧
现在有很多目录文件是吧
34:11.185–34:13.125
zh那我们想让它分析一下
那我们想让它分析一下
34:13.125–34:19.225
zh比如说分析一下
比如说分析一下
34:19.225–34:23.085
zh当前有哪些目录
当前有哪些目录
34:23.085–34:24.645
zh然后这里面
然后这里面
34:24.645–34:27.445
zh我看这里面用这个 grep
我看这里面用这个 grep
34:27.445–34:32.665
zh然后这个用这个 grep 给它过滤一下
然后这个用这个 grep 给它过滤一下
34:32.665–34:34.825
zh看这样行不行
看这样行不行
34:34.825–34:37.965
zh我们把这个复制一下
我们把这个复制一下
34:37.965–34:39.505
zh这个命令是错的
这个命令是错的
34:39.505–34:42.065
zh那我们就用Codex来输出一下
那我们就用Codex来输出一下
34:42.065–34:46.545
zh帮我修正一下这个命令
帮我修正一下这个命令
34:46.545–34:53.485
zh就我想让他理解一下
就我想让他理解一下
34:53.485–34:56.745
zh我们想要整合这个grep的一些命令
我们想要整合这个grep的一些命令
34:56.745–34:59.625
zh那他可能啊
那他可能啊
34:59.625–35:01.065
zh这个windows下面没有grep
这个windows下面没有grep
35:01.065–35:03.225
zh所以他会推荐其他的这个命令
所以他会推荐其他的这个命令
35:03.225–35:05.325
zh所以你装了rg
所以你装了rg
35:05.325–35:06.325
zh你可以用这个命令
你可以用这个命令
35:06.325–35:09.145
zh如果说你没有那个rg的话
如果说你没有那个rg的话
35:09.145–35:10.185
zh你就可以用这个命令
你就可以用这个命令
35:10.185–35:26.185
zh这个还要加一个
这个还要加一个
35:26.185–35:26.585
enTrust
Trust
35:26.585–35:34.385
zh看一下
看一下
35:34.385–35:37.925
zh看是不是还少了什么
看是不是还少了什么
35:37.925–35:45.965
zh帮我修正下命令
帮我修正下命令
35:45.965–35:49.925
zh没事哪里有问题啊
没事哪里有问题啊
35:49.925–35:52.545
zh参数放错了
参数放错了
35:52.545–35:54.925
zh应该先要放前面啊
应该先要放前面啊
35:54.925–35:56.585
zh好,执行一下
好,执行一下
35:56.585–36:07.305
zh这个什么意思呢
这个什么意思呢
36:07.305–36:10.385
zh就是我们可以把这个子命令
就是我们可以把这个子命令
36:10.385–36:14.005
zhexec这个子命令和shell脚本组合起来
exec这个子命令和shell脚本组合起来
36:14.005–36:15.345
zh但是windows下面没有shell
但是windows下面没有shell
36:15.345–36:16.345
zh它是powershell
它是powershell
36:16.345–36:18.725
zh它不是linux上面那个bash shell
它不是linux上面那个bash shell
36:18.725–36:21.985
zh那它也可以结合那个powershell的一些命令
那它也可以结合那个powershell的一些命令
36:21.985–36:22.985
zh给它做一些组合
给它做一些组合
36:22.985–36:26.285
zh比如说我们想用这个Codex
比如说我们想用这个Codex
36:26.285–36:27.545
zh给你做完分析之后
给你做完分析之后
36:27.545–36:29.005
zh再用PowerShell的一些命令
再用PowerShell的一些命令
36:29.005–36:29.925
zh给它做些处理
给它做些处理
36:29.925–36:31.025
zh那这样的话
那这样的话
36:31.025–36:32.945
zh也能拿到我们想要的一个结果
也能拿到我们想要的一个结果
36:32.945–36:34.605
zh你看这个里面
你看这个里面
36:34.605–36:35.725
zh它分析完之后
它分析完之后
36:35.725–36:37.405
zh给你把log1的这个结果
给你把log1的这个结果
36:37.405–36:38.145
zh给你输出了
给你输出了
36:38.145–36:38.465
zh是吧
是吧
36:38.465–36:39.605
zh三级目
三级目
36:39.605–36:41.505
zh然后单独给你分析出来了
然后单独给你分析出来了
36:41.505–36:44.025
zh这个就是它用了一些
这个就是它用了一些
36:44.025–36:45.345
zhsearch的这种方式
search的这种方式
36:45.345–36:49.585
zh就是我们加了一些特殊的这个处理
就是我们加了一些特殊的这个处理
36:49.585–36:49.945
zh是吧
是吧
36:49.945–36:50.945
zh做一些过滤
做一些过滤
36:50.945–36:52.505
zh就是你
就是你
36:52.505–36:53.885
zh在Linux上面
在Linux上面
36:53.885–36:55.425
zh你就可以用grep的命令
你就可以用grep的命令
36:55.425–36:56.705
zh给它做一些处理
给它做一些处理
36:56.705–36:59.905
zh这个就是脚本化的方式去执行
这个就是脚本化的方式去执行
36:59.905–37:01.585
zh然后的话
然后的话
37:01.585–37:02.985
zh就是我们还可以用@
就是我们还可以用@
37:02.985–37:04.685
zh这个其实刚刚也给它演示
这个其实刚刚也给它演示
37:04.685–37:06.325
zh我们可以@一些文件
我们可以@一些文件
37:06.325–37:08.465
zh@指定的一些目录
@指定的一些目录
37:08.465–37:09.805
zh去做一些分析
去做一些分析
37:09.805–37:11.925
zh比如说我们现在
比如说我们现在
37:11.925–37:14.685
zh看一下面有这个box
看一下面有这个box
37:14.685–37:15.225
zh是吧
是吧
37:15.225–37:18.225
zh有一个box的一个目录
有一个box的一个目录
37:18.225–37:21.285
zh那你就可以切进去
那你就可以切进去
37:21.285–37:25.885
zh比如说cd到目录Codex
比如说cd到目录Codex
37:25.885–37:33.285
zh帮我分析一下目录的作用
帮我分析一下目录的作用
37:33.285–37:48.285
en@box
@box
37:48.285–37:49.285
zh你就直接@
你就直接@
37:49.285–37:51.045
zh@指定的一个文件
@指定的一个文件
37:51.045–37:53.125
zh比如说让他review或者怎么样的
比如说让他review或者怎么样的
37:53.125–37:55.865
zh刚刚就是用一个review的命令
刚刚就是用一个review的命令
37:55.865–37:58.185
zh给他演示了一下整个的一个逻辑
给他演示了一下整个的一个逻辑
37:58.185–37:58.545
zh是吧
是吧
37:58.545–38:02.905
zh在这个里面他就可以去做一个分析
在这个里面他就可以去做一个分析
38:02.905–38:08.825
zh然后我们还可以去加一些目录
然后我们还可以去加一些目录
38:08.825–38:09.205
zh是吧
是吧
38:09.205–38:10.845
zh然后在这个里面
然后在这个里面
38:10.845–38:11.765
zh比如说cp
比如说cp
38:11.765–38:14.585
zh这个加很多一些关联的一些目录
这个加很多一些关联的一些目录
38:14.585–38:15.945
zhall目录
all目录
38:15.945–38:18.105
zh因为有时候我们这个项目
因为有时候我们这个项目
38:18.105–38:19.485
zh就是有多个模块
就是有多个模块
38:19.485–38:21.425
zh就在大家打开一个工程
就在大家打开一个工程
38:21.425–38:22.785
zh你下面发现有多个目录
你下面发现有多个目录
38:22.785–38:24.258
zh你都要编
你都要编
38:24.258–38:27.258
zh有前端的,有后端的。
有前端的,有后端的。
38:27.258–38:32.258
zh比如说像洛伊这个,大家看,它外面都是后端的。
比如说像洛伊这个,大家看,它外面都是后端的。
38:32.258–38:36.258
zh只有这个目录是前端的,这个是前端的页面,这个后端。
只有这个目录是前端的,这个是前端的页面,这个后端。
38:36.258–38:39.478
zh有时候你可能需要暴露一些
有时候你可能需要暴露一些
38:39.478–38:40.898
zh可以写的根目录
可以写的根目录
38:40.898–38:42.118
zh因为他当前操作
因为他当前操作
38:42.118–38:43.738
zh只在当前会话嘛
只在当前会话嘛
38:43.738–38:44.938
zh比如说跨目录了
比如说跨目录了
38:44.938–38:45.318
zh是吧
是吧
38:45.318–38:46.498
zh有些在D盘
有些在D盘
38:46.498–38:47.098
zh有些在E盘
有些在E盘
38:47.098–38:47.838
zh有些在F盘
有些在F盘
38:47.838–38:48.818
zh这几个目录
这几个目录
38:48.818–38:51.018
zh你都要跨目录操作的时候
你都要跨目录操作的时候
38:51.018–38:52.558
zh那你就要把权限配置一下
那你就要把权限配置一下
38:52.558–38:54.578
zh让他可以暴露更多的根目录
让他可以暴露更多的根目录
38:54.578–38:56.578
zh因为他默认只能操作当前会话的
因为他默认只能操作当前会话的
38:56.578–38:57.058
zh是吧
是吧
38:57.058–38:57.958
zh所以这个里面
所以这个里面
38:57.958–38:59.878
zh大家可以去指定更多的目录
大家可以去指定更多的目录
38:59.878–39:01.238
zh然后去做一个处理
然后去做一个处理
39:01.238–39:04.458
zh你看这个
你看这个
39:04.458–39:05.618
zh他们帮分析出来的
他们帮分析出来的
39:05.618–39:07.438
zhDock下面的一些目录是吧
Dock下面的一些目录是吧
39:07.438–39:08.118
zh这个是我们
这个是我们
39:08.118–39:09.018
enat
at
39:09.018–39:10.958
zhat那个Dock之后的一个结果
at那个Dock之后的一个结果
39:10.958–39:14.318
zh所以大家可以多用一下这个at功能
所以大家可以多用一下这个at功能
39:14.318–39:15.758
zh然后在这个里面
然后在这个里面
39:15.758–39:17.598
zh可以去执行一下
可以去执行一下
39:17.598–39:19.258
zh一些不同的这个结果
一些不同的这个结果
39:19.258–39:23.158
zh然后我们还可以去执行一些这个命令
然后我们还可以去执行一些这个命令
39:23.158–39:24.478
zh加一些CD
加一些CD
39:24.478–39:27.438
zh就是你可以在命令里面
就是你可以在命令里面
39:27.438–39:29.798
zh单独去指定一些参数
单独去指定一些参数
39:29.798–39:30.878
zh要么加目录
要么加目录
39:30.878–39:32.518
zh要么加一些指定
要么加一些指定
39:32.518–39:32.938
zh是吧
是吧
39:32.938–39:34.558
zh这个都是OK的
这个都是OK的
39:34.558–39:37.838
zh然后最好我们就是在启动的时候
然后最好我们就是在启动的时候
39:37.838–39:38.878
zh把环境就准备好了
把环境就准备好了
39:38.878–39:40.698
zh这样子不会去浪费token
这样子不会去浪费token
39:40.698–39:41.538
zh还要去记这个什么
还要去记这个什么
39:41.538–39:44.438
zh因为你一开始没把这些环境准备好的话
因为你一开始没把这些环境准备好的话
39:44.438–39:45.698
zh你跟他提问
你跟他提问
39:45.698–39:47.498
zh他又要产生各种各样的对话
他又要产生各种各样的对话
39:47.498–39:50.138
zh然后再来说让你去加一些权限
然后再来说让你去加一些权限
39:50.138–39:52.018
zh就白白就浪费token了
就白白就浪费token了
39:52.018–39:52.978
zh因为他就探测
因为他就探测
39:52.978–39:54.838
zh这个里面会带来一些
这个里面会带来一些
39:54.838–39:56.638
zh不必要的一些token消耗
不必要的一些token消耗
39:56.638–39:59.418
zh所以大家首先你要把一些
所以大家首先你要把一些
39:59.418–40:00.818
zhpython的什么虚拟环境
python的什么虚拟环境
40:00.818–40:02.758
zh或者其他的一些语言环境
或者其他的一些语言环境
40:02.758–40:04.398
zh比如说你 conda
比如说你 conda
40:04.398–40:05.758
zh一些python
一些python
40:05.758–40:06.818
zh这些个环境
这些个环境
40:06.818–40:07.678
zh你现在给它激活
你现在给它激活
40:07.678–40:08.958
zh激活完之后
激活完之后
40:08.958–40:10.258
zh相当于codex在
相当于codex在
40:10.258–40:11.858
zh直接命令的时候
直接命令的时候
40:11.858–40:12.898
zh你跟它对话的时候
你跟它对话的时候
40:12.898–40:14.478
zh这些个环境的话
这些个环境的话
40:14.478–40:15.858
zh已经都整合好了
已经都整合好了
40:15.858–40:17.258
zh都已经准备好了
都已经准备好了
40:17.258–40:19.178
zh只有大家直接用就可以了
只有大家直接用就可以了
40:19.178–40:21.478
zh所以说我们一开始的话
所以说我们一开始的话
40:21.478–40:23.158
zh你得把一些这个环境
你得把一些这个环境
40:23.158–40:24.598
zh都准备好
都准备好
40:24.598–40:25.918
zh包括一些目录的话
包括一些目录的话
40:25.918–40:27.098
zh你得提前规划好
你得提前规划好
40:27.098–40:29.638
zh在一些初始化命令的时候
在一些初始化命令的时候
40:29.638–40:31.318
zh就是大家比如说
就是大家比如说
40:31.318–40:34.258
zh你想把Codex整合到公司的一些
你想把Codex整合到公司的一些
40:34.258–40:36.638
zh传统的事要脚本里面去
传统的事要脚本里面去
40:36.638–40:37.378
zh把它做一个命令
把它做一个命令
40:37.378–40:38.178
zh做一个执行的话
做一个执行的话
40:38.178–40:40.058
zh你得先给它把环境配好
你得先给它把环境配好
40:40.058–40:41.418
zh配好完了之后的话
配好完了之后的话
40:41.418–40:45.218
zh然后当我们执行Codex命令的时候
然后当我们执行Codex命令的时候
40:45.218–40:46.958
zh这些上下文都已经准备好了
这些上下文都已经准备好了
40:46.958–40:49.898
zh比如说一些运维扫描的一些目录
比如说一些运维扫描的一些目录
40:49.898–40:50.458
zh是吧
是吧
40:50.458–40:51.678
zh一些监控的目录在哪里
一些监控的目录在哪里
40:51.678–40:52.938
zh一些日志目录在哪里
一些日志目录在哪里
40:52.938–40:54.638
zh你把这些目录都给它
你把这些目录都给它
40:54.638–40:55.738
zh它准备好了
它准备好了
40:55.738–40:57.498
zh那你对话的时候
那你对话的时候
40:57.498–40:58.778
zh你就直接跟它提问你就完了
你就直接跟它提问你就完了
40:58.778–41:00.558
zh比如说帮我把日志目录
比如说帮我把日志目录
41:00.558–41:01.798
zh下面的文件清理一下
下面的文件清理一下
41:01.798–41:05.338
zh帮我把那些个这个数据抓取一下
帮我把那些个这个数据抓取一下
41:05.338–41:07.558
zh你就直接这样去说就可以了
你就直接这样去说就可以了
41:07.558–41:08.918
zh因为他已经有了上下文
因为他已经有了上下文
41:08.918–41:10.298
zh这些目录他都知道了
这些目录他都知道了
41:10.298–41:13.078
zh所以说就不会浪费token了
所以说就不会浪费token了
41:13.078–41:15.298
zh这个就是提示与快捷方式
这个就是提示与快捷方式
41:15.298–41:16.218
zh这个就是
这个就是
41:16.218–41:20.178
zh我们要给他讲的一些内容
我们要给他讲的一些内容

影片筆記:2026版AI+Codex零基础全套视频课程,Codex从入门到大神AI编程开发,涵盖安装配置、代码分析、Bug修复及完整项目实战 p05 4、 CLI 高效交互指南与规范拆解

一句話總結

本節課程詳細講解了 Codex CLI 的高效使用指南,涵蓋從基礎命令查詢、非交互式執行、會話恢復,到進階的代碼審查、圖片處理、Web 搜尋及權限管理等功能,並強調將 Codex 整合進傳統運維腳本或自動化流程中的實踐方法。

核心重點

  • CLI 基礎與執行模式:區分交互式與非交互式(exec)執行,後者適合自動化腳本,直接返回結果而不進入對話頁面。
  • 會話管理:利用 resumesessionID 恢復或切換歷史對話,並可使用 clean 清理上下文。
  • 進階功能應用
  • 代碼審查:支援本地文件、PR 審查,可生成對照表格追蹤修復進度。
  • 圖片處理:支援輸入圖片分析(如截圖)及生成圖片(調用 API 或 OpenAI 模型)。
  • Web 搜尋:支援默認搜尋及指定外部搜尋工具,可根據需求啟用或禁用。
  • 權限管理:提供多種權限模式(默認、只讀、自動審查、完全訪問/YOLO),建議開發項目使用完全訪問權限以節省時間。
  • 腳本整合與環境初始化:強調在啟動 Codex 前初始化環境(如激活虛擬環境、設置目錄權限),以避免浪費 Token,並可結合系統命令(如 grep、PowerShell)進行自動化處理。

詳細大綱

一、 基礎命令與查詢

  • 查詢幫助
  • 使用 Codex help 查看所有可用命令。
  • 若介面為英文,可執行 Codex help 並要求輸出為中文,以輔助理解。
  • 命令列表
  • 包含執行、清理上下文、恢復對話等命令。

二、 執行模式:交互式 vs 非交互式

  • 交互式執行
  • 直接輸入 CodexCodex <提示詞> 進入對話視窗。
  • 適合需要反覆確認或對話的場景。
  • 非交互式執行 (exec)
  • 使用 Codex exec <提示詞>
  • 特點:不進入對話頁面,直接執行命令並返回結果,適合傳統運維或自動化腳本。
  • 應用場景:調用 Codex 作為命令運行,獲取分析結果後退回終端。

三、 會話管理與恢復

  • 恢復對話 (resume)
  • 使用 Codex resume 恢復最近的一次對話。
  • 系統會列出歷史對話列表及時間戳,用戶可選擇恢復特定對話。
  • 指定會話 ID (sessionID)
  • 使用 Codex status 查看當前或歷史對話的 sessionID
  • 使用 Codex resume <sessionID> 精確切換到指定會話。
  • 清理上下文
  • 使用 clean 命令清理當前對話上下文。

四、 錯誤處理與修正

  • 命令錯誤修復
  • 若命令執行報錯,可直接將錯誤信息丟給 Codex。
  • 提示詞範例:「幫我分析這個是什麼錯誤,然後輸出修正的指令」。
  • Codex 會自動查閱幫助文檔並提供修正後的命令。

五、 模型選擇與推理建議

  • 模型推薦
  • GPT-5.5:推薦用於對話、推理、研究及任務規劃(如寫文檔)。
  • Codex 5.3:推薦專門用於寫代碼,經過調優,效果較好。
  • 權衡建議:根據任務類型選擇合適模型,最新模型通常無問題,但特定場景有專用版本。

六、 圖片處理功能

  • 圖片輸入與分析
  • 支持輸入圖片(如截圖)進行分析。
  • 範例:分析「貪吃蛇」遊戲截圖,識別界面風格與內容。
  • 適用場景:當錯誤難以用語言描述時,直接發送截圖給 AI。
  • 支持格式:PNG、JPEG 等常見格式。
  • 多張圖片可使用 image 參數指定。
  • 圖片生成
  • 支持生成圖片,可調用 API 或 OpenAI 官方模型(如 DALL-E 3, GPT-4 Image 等,講者口誤提及 L1E3, GBT image2)。
  • 範例:提示「幫我生成一張貓的圖片」。
  • 實現方式:可能調用內置 Scale 或公共 API。

七、 界面設置與代碼審查

  • 語法高亮與主題
  • 使用 Theme 命令更改終端主題(亮色/暗色)。
  • 可調整代碼生成的語法高亮風格。
  • 本地代碼審查 (review)
  • 功能:對本地文件或 PR 進行代碼審查。
  • PR 審查:需配置 GitHub Token 以獲取權限,公共倉庫可能無需 Token。
  • 本地審查
  • 針對未提交的更改(Changes)。
  • 針對已提交的代碼。
  • 針對單個文件。
  • 工作流程
  1. 執行 Codex review
  2. 審查結果可能為英文,可要求翻譯為中文。
  3. 根據審查反饋(P1, P2, P3 問題),提示 Codex 修復代碼。
  4. 要求輸出「對照表格」(原問題、修復關鍵點、修復代碼行、是否已修復)。
  5. 循環檢查直到所有問題修復。

八、 Web 搜尋功能

  • 搜尋模式 (search)
  • 使用 Codex <提示詞> search 啟用 Web 搜尋。
  • 默認使用 OpenAI 維護的網頁檢索結果,可能存在緩存,不一定為最新實時數據。
  • YOLO 模式
  • 使用 YOLO 參數可減少反覆確認,直接執行。
  • 替代方案
  • 若需更準確結果,建議指定外部搜尋工具(如講者提及的 Telry 或 Beamsearch,疑點:具體名稱需查證)。
  • 可安裝插件(如講者提及的 Tile Research,疑點:具體名稱需查證)進行檢索。
  • 禁用搜尋
  • 若對話僅依賴內部文檔,應禁用 Web Search 以避免不準確結果。

九、 權限管理 (Permissions)

  • 權限模式
  • 默認/授權模式:執行編輯文件或敏感命令時需要用戶授權。
  • 只讀模式 (Read-Only):僅分析文檔,不允許編輯,推薦用於非管理員場景。
  • 自動審查 (Auto-Review):根據情況進行審查,部分敏感操作仍需授權。
  • 完全訪問 (Full Access/YOLO):無需任何授權,直接執行所有命令,適合不想被反覆確認打斷的開發場景。
  • APP 設置:可在左下角設置默認權限,推薦開發項目使用完全訪問權限以節省時間。

十、 腳本化與環境初始化

  • 腳本整合
  • Codex exec 子命令整合進自動化工作流或傳統腳本。
  • Linux 環境:可結合 grep 等命令進行過濾處理。
  • Windows 環境:無 grep,可使用 rg (Ripgrep) 或 PowerShell 命令組合。
  • 範例:結合 Codex exec 與系統命令分析目錄結構。
  • 環境初始化 (重要)
  • 目的:避免在對話中浪費 Token 來詢問環境配置。
  • 操作:在啟動 Codex 前,提前激活虛擬環境(如 Python)、設置目錄權限、暴露根目錄。
  • 好處:Codex 啟動時已具備完整上下文,可直接進行提問或執行清理、抓取等任務,提升效率。
  • 目錄與路徑指定
  • 使用 -c 參數指定 Git 倉庫。
  • 使用 at 指定特定文件或目錄進行分析或審查。
  • 跨目錄操作時,需配置權限暴露更多根目錄,因為默認僅操作當前會話目錄。

工具 / 模型 / 名詞整理

  • Codex:主要討論的 AI 編程助手/CLI 工具。
  • GPT-5.5:講者推薦用於對話、推理、任務規劃的模型。
  • Codex 5.3:講者推薦專門用於寫代碼的版本。
  • L1E3:講者提及的生成圖片模型(疑點:可能為 DALL-E 3 的聽寫錯誤)。
  • GBT image2:講者提及的生成圖片模型(疑點:可能為 GPT-4 Image 或類似名稱的聽寫錯誤)。
  • Scale:講者提及的內置模型調用方式。
  • OpenAI:提及的官方模型提供方。
  • GitHub:提及的代碼託管平台,涉及 PR 審查與 Token 配置。
  • YOLO:講者提及的減少確認的模式。
  • Telry:講者提及的搜尋工具(疑點:需查證,可能為特定搜尋 API 名稱)。
  • Beamsearch:講者提及的搜尋工具(疑點:需查證,可能為特定搜尋 API 名稱)。
  • Tile Research:講者提及的檢索插件(疑點:需查證,可能為特定插件名稱)。
  • DALL-E 3:講者口誤提及的生成圖片模型(聽似 L1E3)。
  • Grep:Linux 下的文本搜索命令。
  • Ripgrep (RG):講者推薦的替代 Grep 的工具。
  • PowerShell:Windows 下的腳本環境。
  • Python:提及的虛擬環境語言。

操作流程整理

  1. 初始化環境
  • 在啟動 Codex 前,激活虛擬環境(如 Python)。
  • 設置目錄權限,暴露根目錄。
  • 使用 -c 參數指定 Git 倉庫,或使用 at 指定特定文件/目錄。
  1. 選擇執行模式
  • 一般對話:直接輸入 Codex <提示詞>
  • 自動化腳本:使用 Codex exec <提示詞>
  1. 會話管理
  • 查看歷史:Codex status 獲取 sessionID
  • 恢復對話:Codex resume <sessionID>Codex resume
  • 清理上下文:clean
  1. 執行代碼審查
  • 執行 Codex review
  • 若結果為英文,要求翻譯為中文。
  • 根據反饋(P1, P2, P3)提示 Codex 修復。
  • 要求輸出「對照表格」並循環檢查直至修復。
  1. 整合系統命令
  • Linux:結合 grep 過濾。
  • Windows:結合 rg (Ripgrep) 或 PowerShell。
  1. 配置權限
  • 在 APP 左下角設置默認權限,開發項目建議設置為「完全訪問 (Full Access/YOLO)」。

值得注意的限制或風險

  • Web 搜尋緩存:默認 Web 搜尋使用 OpenAI 維護的網頁檢索結果,可能存在緩存,不一定為最新實時數據。
  • 權限限制
  • PR 審查需配置 GitHub Token,公共倉庫可能無需 Token。
  • 默認權限模式下,編輯文件或敏感命令需要用戶授權。
  • 跨目錄操作時,需配置權限暴露更多根目錄,因為默認僅操作當前會話目錄。
  • Token 消耗:若未在啟動前初始化環境,Codex 可能會在對話中浪費 Token 來詢問環境配置。
  • 模型口誤風險:講者提及的部分模型名稱(如 L1E3, GBT image2)可能存在聽寫錯誤,需謹慎確認實際調用的模型。

逐字稿辨識疑點

  • L1E3:講者口述為生成圖片的模型,疑似為 DALL-E 3 的聽寫錯誤。
  • GBT image2:講者口述為生成圖片的模型,疑似為 GPT-4 ImageGPT-4o 相關功能的聽寫錯誤。
  • Telry:講者提及的搜尋工具,需查證具體名稱,可能為 Tavily 或其他搜尋 API。
  • Beamsearch:講者提及的搜尋工具,需查證具體名稱,可能為特定搜尋服務。
  • Tile Research:講者提及的檢索插件,需查證具體名稱,可能為 Tavily Research 或其他插件。
  • 諾一 / 洛伊:講者多次提及一個項目名稱,聽似「諾一」或「洛伊」,需查證具體項目名稱。
  • 攤志舌 / 貪吃蛇:講者口述遊戲名稱,聽似「攤志舌」,實際應為「貪吃蛇」,但依規則標為疑點。
  • 殺箱模式:講者口述權限模式,聽似「殺箱」,需查證是否為特定術語或聽寫錯誤。
  • 審數:講者口述命令參數,聽似「審數」,需查證是否為特定參數。
  • 記忽:講者口述「記忽什麼」,疑似為「忽略」或「記住」的聽寫錯誤。
  • 出手法好了:講者口述「上下文都出手法好了」,疑似為「上下文都準備好了」的聽寫錯誤。

可延伸追問

  • 如何具體配置 GitHub Token 以進行 PR 審查?
  • 「Telry」、「Beamsearch」及「Tile Research」具體是指哪些第三方搜尋工具或插件?
  • 在非交互式執行 (exec) 中,如何處理需要多輪對話的複雜任務?
  • 對於「完全訪問 (Full Access/YOLO)」模式,有哪些潛在的安全風險需要警惕?
  • 如何編寫腳本來自動調用 Codex exec 並處理其輸出結果?

尚未產生學習筆記

請在 Telegram 指令最後加上「學習」,例如:videonote 網址 英文 雙語 學習