start	end	text
0	6200	接下来我们来讲一下CodexAgence.md配置与架构设计。
7140	17160	那这个Agence.md的话其实是Codex在这个规范化编程这一块做的一些整个架构的一个设计。
18080	29380	它系统这个里面定义了一个规范,我们可以在这个Agence.md里面可以把项目的一些实际的一些开发规范,包括我们整个项目的一些结构,
29380	31160	放到这个文件里面
31160	33640	那么在Codex加载的时候
33640	36140	我们去分析整个项目结构的时候
36140	40740	他会优先去读取这个agents.md文件
40740	41700	这样的话
41700	46040	他就相当于了解了我们项目的全局的一些
46040	47380	这个大致的一些情况
47380	51440	所以说这个agents.md的话
51440	54440	其实就是作为一个规范
54440	56320	这个驱动开发的一种方式
56320	59020	通过整个全局的一个说明
59020	61760	包括我们整个目录层级
61760	65140	它的一些关键的一些文件在哪里
65140	66280	比如说像一些文档
66280	68280	我们整个项目的一个架构文档
68280	69900	设计文档 API文档
69900	72740	通过这个agents.md文件
72740	76480	把我们相当于这个代码地图描述了非常清楚
76480	79980	那这个AI就可以快速了解到
79980	82440	我们项目里面的一些重点信息
82440	83340	这样的话
83340	85580	那你让它去生成代码的时候
85580	87500	相当于它已经把你整个项目
87500	89180	大致做了一个了解了
89180	91100	这样他去找文件的时候
91100	92780	他的一个效率就会非常高
92780	93800	速度也非常快
93800	97900	那么Codex他是如何发现
97900	99720	这些个文件的呢
99720	100820	首先的话
100820	102640	他会启动的时候
102640	104820	他会整理出一条本次运行
104820	106340	需要使用的一个指令链
106340	110060	那么他首先会做一个检查
110060	111340	他这个检查的话
111340	113340	是有一个顺序层级的
113340	115820	首先第一层的话叫做全局层
115820	117580	那这个的话
117580	120060	就是在我们的这个Codex主目录里面
120060	122060	有个叫点Codex目录
122060	124560	就是在当前登录用户的这个目录里面
124560	126820	有一个叫点Codex的一个目录
126820	129500	当然我们也可以在环境面量里面
129500	132060	去指定这个Codex Home
132060	135300	通过这个环境面量去指定指定的一个目录
135300	137580	那我们指定之后的话
137580	139240	Codex在运行的时候
139240	142180	它就会把它的一些文件
142180	144560	就是系统的一些文件
144560	146660	默认的会去存放到这个目录里面去
146660	148440	如果大家没有设定的话
148440	151180	它就是在当前登录用户的这个
151180	153540	一个目录下面
153540	155580	有一个叫.codex这么一个目录
155580	158180	那么在这个目录下面的话
158180	160460	我们可以去指定一个叫
160460	163000	agents.overload.md
163000	164480	那么这个的话
164480	168100	就是一个全局的一个agents.md
168100	170120	那么在这个里面的话
170120	172160	我们写的内容
172160	173620	它会优先去读取
173620	175080	要是没有的话
175080	178460	他再会去读取这个agency.md文件
178460	181380	所以说他这个里面就是一个规范啊
181380	184020	首先从最外层去开始去找找这个文件
184020	186080	如果能找到的话就优先使用它
186080	189900	找不到的话再往下一层级去找agency.md
189900	193080	好然后第二个层级叫项目级
193080	194260	比如说啊
194260	196080	我们这个项目里面
196080	199920	我们在项目里面也可以去写这个agency.md
199920	201820	比如说我们整个项目啊
201820	203720	它是什么一个结构
203720	205040	规范是怎么样的
205040	206780	包括它的一些后代命令
206780	208020	有哪些数据库配置
208020	209040	有哪些等等的
209040	209860	这些个内容
209860	210820	我们都可以写到
210820	212100	agents.md里面去
212100	213620	然后的话就是
213620	215480	我们如果在项目层
215480	216900	写了agents.md
216900	217920	但是呢
217920	219200	全局层又没有写的话
219200	220880	它会优先使用
220880	222920	项目层里面的agents.md
222920	225560	去做一个读取
225560	226360	那这里面
226360	227740	它也会去优先去找
227740	229980	agents.overload.md
229980	230980	如果找不到的话
230980	231860	他就会找这个
231860	234380	所以说我们在项目里面写agentsmd
234380	236980	如果又没有配置其他的这个md文件的话
236980	238880	他的优先级这个就是最高
238880	241440	所以这个就是项目层
241440	244280	全局层的话就是比如说啊
244280	247320	大家在本地我开发多个项目啊
247320	248740	我有python的这个项目
248740	249800	有java的项目
249800	252400	如果说你需要所有的这个规范啊
252400	253340	做一个对齐的话
253340	256480	那这里面大家就可以去全局层里面
256480	259040	去把这个agentsmd做一个定义啊
259040	261800	比如说我是作为一个个人开发者
261800	264460	然后他的一个规范是怎么样的
264460	266980	就是所有的项目都是按这个规范来的
266980	268560	按照我个人的一个编码风格来
268560	270200	不管你是什么语言的项目
270200	271640	都得按我这个风格来
271640	273280	这个就比较适合放全局
273280	274920	放项目的话
274920	277580	就是每个项目的一些特定的一些配置
277580	279340	比如说后端项目
279340	281280	那后端项目肯定有一些接口啊
281280	282360	架构设计啊
282360	284660	包括一些数据库脚本啊等等的
284660	286980	那如果是你是个前端项目的话啊
286980	288120	那比如说有这个
288120	289840	npm 包的一个设置
289840	290140	是吧
290140	291500	有 package 点 json
291500	293020	还有一些这个像
293020	294220	vio 的一些酷啊
294220	295660	react 的一些酷啊
295660	295920	是吧
295920	299380	这个就是前端的一些这个层级
299380	301340	包括一些路由配置啊等等啊
301340	302300	那每个项目的话
302300	304440	它的规范也不一样啊
304440	305620	我们用前端跟后端
305620	307740	所以这个项目层里面
307740	309900	肯定是要区分这个agents.md的
309900	312100	这个就比较适用于放到这一层
312100	313100	呃
313100	313760	然后的话
313760	314660	最后啊
314660	316280	如果两个都写了怎么办呢
316280	317160	都写的话
317160	319180	都是他就是都会去读取
319180	323380	然后越靠近当前目录的文件越靠后
323380	327980	所以说他会覆盖前面更通用的一些说明
327980	330260	他就是按照这么一个层形去做覆盖
330260	332880	那空文件的话就会被跳过
332880	336380	合并总大小一旦达到他设定的一个上限的话
336380	340000	这个Codex就不会加入更多的一些文件了
340000	342620	所以说他是有一个上限的
342620	344300	当然这个参数也可以去调
344300	348080	也就是我们整个文档
348080	349300	你也不能放太大了
349300	350920	因为这个的话是Codex
350920	354920	它工作的时候默认会加载的一个文档
354920	357040	如果大家把这个文档做的很大
357040	358300	比如说做一兆是吧
358300	358740	非常大
358740	360440	直接就超过这个上下文了
360440	362760	那这个显然是不太合适的
362760	364880	就是对于首先成本消耗
364880	366240	包括上下文窗口的话
366240	367560	一下子可能就超出去了
367560	370840	所以agents.md里面要写的内容
370840	373540	比如说你是项目层的这个agents.md
373540	376200	一定要写跟项目相关的一些
376200	378340	比如说这个命令啊
378340	378620	是吧
378620	380440	然后工程规范啊
380440	381720	项目结构啊
381720	384260	这是一些非常核心的内容
384260	386140	那么我们就写到这个里面
386140	388500	基本上大概就是100行左右啊
388500	389200	不能太多
389200	391840	太多的话就很容易超过这个上下文线
391840	394320	所以这个是一个细节点啊
394320	397240	那么大家就可以在这个
397240	398640	按照上面我们
398640	401560	就是确认好的一个这个层级啊
401560	403200	你可以在全局层里面啊
403200	404900	就在这个里面去加agency.md
404900	406200	那我们这里的话
406200	408740	主要是带大家在项目里面去讲啊
408740	410420	在项目里我们用了最多的方案
410420	413260	还是在项目里面去加agency.md
413260	416100	所以最外层的这个用户目录下
416100	417220	那个agency.md的话
417220	418920	我们一般来说不会去改
418920	422380	因为我们一般是按项目来去做一个驱动啊
422380	423960	这是实际啊
423960	424960	实践的这个场景
424960	427460	就是在项目里面加agency.md比较多啊
427460	429080	当然大家如果确实有需要的话
429080	430540	你可以去那个里面改啊
430540	433780	那我们盖完之后的话
433780	434680	就是在这个里面
434680	435820	我们会写哪些东西呢
435820	438340	比如说你是做一个前端项目
438340	440460	那你肯定要去写一些这个
440460	442480	NPM的一些命令啊
442480	443440	一些描述是吧
443440	445640	那整个这个项目
445640	448040	他就是去比如说添加一些依赖的时候
448040	449100	需要做一个确认
449100	453100	那这个就是我们针对前端这种项目啊
453100	454720	可以写的一个agency MD
454720	456280	但肯定不会这么简单
456280	457920	我们还可以可以写很多内容
457920	460180	所以说啊
460540	461740	这个里面啊
461740	464700	就大家首先要搞清楚这么一个场景啊
464700	468560	如果说你确实要去写一些全局的这个agents.md的话
468560	470300	那你就写到用户目里面去
470300	475700	如果说你只是做一个这个项目的一个场景的话
475700	478360	你就放到项目的这个agents.md里面去
478851	482151	那么这个agents.md的话
482151	484691	它这个里面的话
484691	487311	我们可以首先在根目录里面去加
487311	488331	然后的话
488331	491091	比如说你还需要做这个覆盖
491091	491451	是吧
491451	492411	你要做覆盖的话
492411	494551	你就可以去创建agents.md
494551	498211	那它就会去覆盖当前的agents.md
498211	500811	那这个就比较适用于
500811	504251	那比如说根目录啊
504251	506371	我加了这个agents.md了
506371	507191	但是呢
507191	509211	在某一些模块下啊
509211	509891	不同因为我们
509891	511891	我们就做项目开发的
511891	513571	大家知道是分模块开发的是吧
513571	516151	那有的模块它是别的小组
516151	518631	那人家别的小组有自己的一套规范
518631	521451	他不想说跟着你规范一起调了
521451	522911	我们有自己的一套规范
522911	524051	所以的话
524051	526571	我们可能在某个模块下面
526571	528691	加一个agency.md.org
528691	529711	这样的话
529711	532051	我们就直接可以去覆盖之前的一个配置
532051	536371	所以这个是比较适合于做一些覆盖的一场景
536371	538931	就当于每一个团队都有自己的一个特色
538931	540551	那并且的话
540551	543471	我们也可以在某个模块去启用这个Codex
543471	544911	然后去做一个执行
544911	545791	OK
545791	549091	这个就是我们可以在不同的模块下面啊
549091	550631	去加这个Agence.md
550631	551931	好
551931	553511	然后的话
553511	555451	就是这里面一个逻辑就是Codex
555451	557831	首先会去报告全局文件
557831	560071	然后再去报告仓库的根目录
560071	561511	最后再去报告
561511	562891	某个模块
562891	564411	比如说像这个支付模块
564411	565691	下面的一些覆盖文件
565691	566231	是吧
566231	568491	那么Codex在搜索的时候
568491	571331	会达到这个当前目录的话
571331	572091	就会停止
572091	574371	所以说尽量应该把覆盖文件
574371	575631	靠在专门
575631	578231	就是按照规范去做一个存储
578231	579971	所以说我们
579971	582231	加了这个模块之后
582231	583311	你就在这个模块下面
583311	585491	直接就放这个MD文件就可以了
585491	587551	所以它是相当于
587551	589451	我们可以在不同的模块下面
589451	591191	就不只是根目录可以讲
591191	593171	不同的服务下面都可以去讲
593171	595111	然后并且的话
595111	597471	我们还可以去自定一些备用文件名
597471	602211	比如说像仓库里面已经在使用其他名字
602211	602491	是吧
602491	605831	那你可以把它加入到这个备用列表里面去
605831	607911	让Codex把它当作说明
607911	609411	什么意思呢
609411	610051	就比如说
610051	614131	你现在有一个团队的这个手册是吧
614131	617191	就是我们所有的项目都按这个手册来操作的
617191	620371	那这个就比较适合于付放全局的这么一个
620371	622351	叫做config.tom文件
622351	623671	这个是Codex
623671	628251	它整个应用的一个配置文件
628251	630451	这个配置文件下是全局的
630451	631691	也就是说你在这个里面
631691	632711	加这个规范之后
632711	633831	整个团队啊
633831	635851	都是按照这个规范去执行
635851	637751	所以这个是一个全局的
637751	638591	一个配置文件
638591	640331	我们可以把它加到这个里面去
640331	644151	也就是大家除了这个agents.md以外
644151	644471	是吧
644471	645611	那你比如说
645611	647451	我不想用agents.md这个文件
647451	648611	这个名称
648611	649611	我想换一个
649611	651171	比如说叫teamgather
651171	653751	那我就放到这个里面去
653751	655471	这个也是OK的
655471	659131	所以说整个一个文件命名的话
659131	661091	就是大家可以很个性化
661091	663491	但只是说你要去做一个配置
663491	665531	多余的做一个配置
665531	667271	你如果不想配置的话
667271	669831	你就用agents.md会方便很多
669831	674631	所以说大家有备用的一些文件需要加载
674631	678011	还是说你就用agents.md里面加载
678011	679271	它都是支持的
679271	680511	它都有这么一个规范
680511	684291	然后如果说你不希望使用不同的配置档的话
684291	687591	比如说某个项目专用的这个自动化账号
687591	690551	可以设置这个codex.home环境变量
690551	694191	那这个里面的话就是
694191	697251	我们可以单独去做一个search
697251	700031	就单独去做一个page
700031	705471	某些场景下面我们就用不同的这个codex.home环境变量就可以了
705471	708091	这个也可以做不同的这个page
708091	710591	然后配置完之后的话
710591	712331	我们怎么样去验证呢
712331	712611	是吧
712611	714611	验证这个到底有没有效果呢
714611	717451	那我们可以去看一下
717451	719931	比如说我现在就在
719931	722791	全局的这个agency.md里面
722791	723911	给大家来看一下
723911	725931	比如说我们在当前用户
725931	728391	这个.codex目录
728391	732031	.codex目录
732031	734731	.codex目录下面有一个agency.md
734731	738211	你看现在我们是什么都没写
738211	738551	是吧
738551	741091	那我们就比如说可以写一下
741091	742431	这是
742431	745931	全局的
745931	749151	配置文件
749151	752271	那就是说比如说
752271	755091	我个人的开发规范
761311	762771	比如说是采用
762771	766911	DDD
766911	770471	就是这种领域驱动的方式
770471	771251	进行
771251	773111	编程
773111	775391	进行这个
775391	778731	功能开发
786731	788551	就是我个人的一个规范
788551	791251	我们写在这个根目录的这个agents点目定里面
791251	792671	然后我
792771	796471	是现在我就切换到这个Codex目录里面
796471	799671	然后我们去这个打开啊
799671	801431	这个我一般建议是用
801431	803651	终端的管理员的方式打开
803651	805771	不然的话他可能会有权限的一些问题
805771	807871	然后切换到底盘
807871	809651	切换到Codex目录啊
809651	812391	然后这里我们就进去啊
812391	813331	说这个Codex
813331	816251	然后你就随便问他啊
816251	817651	就是我们在这个里面加的东西
817651	819211	然后你就问
819211	823891	我个人的开发规范有哪些啊
823891	825011	你就这么来问
825011	827771	然后我们看一下它能不能加载啊
827771	829011	你看
829011	832111	功能开发采用DDD领域驱动啊
832111	833251	所以这个就是
833251	835851	我们放这个应用层是吧
835851	838251	就是所有的项目都会采这个规范啊
838251	841011	就不管你是哪个项目的是吧
841011	844071	那你都要按照我DDD的这个领域驱动的方式
844071	845311	做一些功能开发啊
845311	846471	这是我个人一个小习惯
846471	848151	然后比如说啊
848151	850151	我们现在单独的
850151	851911	我们再建一个项目
851911	854391	比如说这个里面
854391	856111	这个叫什么呢
856111	857991	叫做
857991	860811	test
860811	863811	或者怎么叫project
863811	865191	project2
865191	869611	那我们在这个里面建一个文件
869611	875491	叫做agents
875491	877691	agents.md
877691	879131	是吧
879131	879331	好
879331	882451	然后这个里面啊
882451	887091	我们就给他改一下是吧
887091	888691	加一些特定的一些规范
888691	892691	比如说我们用这个里面的一些规范来定一下啊
892691	896251	我就随便找一个吧
896251	898691	比如说我就
898691	900691	就把这个规范加进去
900691	907531	放到这个规范里面去
907531	910911	然后
910911	912571	就这样
912571	915731	然后我们现在切换到那个木里面去
915731	920291	CD到这个project2
920291	920811	是吧
920811	922471	然后注入codex
922471	926371	然后你就问他
926371	929391	当前项目
929391	932531	开发规范
932531	934251	由
934251	936511	哪些
936511	942251	大家看啊
942251	942491	你看
942491	945511	这个是我自己的项目规范是吧
945511	946691	什么pr
946691	949151	pr前线运行mpm run
949151	949771	lint
949771	951251	这是我个人的一个习惯
951251	954131	然后你看我们刚刚写的那个全局的应用规范
954131	955351	是不是也在啊
955351	956991	这个有限级非常高啊
956991	958671	就是这你不管签哪个项目
958671	960131	它都会有这么一个规范
973064	976304	这个就是我们实际的规范
976304	978144	好
978144	981804	这个就是大家可以自己的去写不同的这个规范
981804	982164	是吧
982164	987404	然后你还可以去创建这个agency.overload的这么一个MD文件
987404	988884	然后我们来做一个覆盖
988884	993124	比如说我们就在这个里面
993124	1003384	修改行为时
1003384	1007164	试一下把这个给覆盖一下
1007164	1009404	比如说现在是有这么一个
1009404	1013924	修改的时候需要在docs里面记录是吧
1013924	1016884	那我现在比如说我现在想做一个覆盖
1016884	1020044	在uproad里面再加一个东西
1020044	1021324	把这句话
1021324	1024764	我的call过来
1024764	1026764	我现在同样的也是call这个
1026764	1027844	然后在这个里面
1027844	1030604	然后我现在把这个覆盖一下
1030604	1033924	在比如说在logs里面
1033924	1036584	在logs里面去记录工具的一个变化
1036584	1037784	记到日志里面去
1037784	1040444	我们看一下它加载策略是什么
1040444	1041844	先退出去
1041844	1043224	然后codex
1043224	1049044	当前项目开发规范有哪些
1049044	1067164	嗯他说这个有编码问题
1067164	1070864	看一下他能不能会帮我们解决这个问题啊
1070864	1073084	你看是不是覆盖了
1073084	1075924	我现在这个优先级更高是吧
1075924	1078064	不管你这里写的是DOC什么的
1078064	1079124	因为我这个下面
1079124	1082184	然后这里写了这个重载了
1082184	1082504	是吧
1082504	1086364	所以他还是会用这个logs去制写
1086364	1090904	这个就是叫agents.overload.md
1090904	1092244	他的一个作用
1092244	1096484	就是我们想在同一套规范下面
1096484	1097544	不同团队
1097544	1099244	不同小组
1099244	1102104	要单独写一些自己的小规范
1102104	1103124	要覆盖一些
1103124	1105704	就是在公司的这个规范基础之上
1105704	1108104	或者在大团队的规范基础之上
1108104	1109704	然后再加我们这个
1109704	1111904	小团队的这么一个规范
1111904	1113004	那么啊
1113004	1114864	比如说这个是公司有很多业务线
1114864	1116204	我支付这个线里面
1116204	1117744	我有自己的一些规范
1117744	1122004	这个就比较适合用这个agency.overall的MD
1122004	1124184	所以这个大家根据自己的情况
1124184	1126824	去选择不同的这个MD文件啊
1126824	1129104	好
1129104	1131284	这个就是我们效果的一个验证
1131284	1134364	然后包括我们其实也可以去配置一些
1134364	1136884	这个团队的一些文档啊
1136884	1138424	这个就根据实际需求去了
1138424	1139824	调整了啊
1139824	1142004	基本上我们用在根目里面
1142004	1143244	配这两个的话
1143244	1144424	基本上够用啊
1144424	1145384	就这两个场景
1145384	1148004	基本上按项目去配差不多了
1148004	1150724	除非你确实有公司的这个
1150724	1152564	级别的一些规范是吧
1152564	1154264	那你可以加到这个里面去啊
1154264	1157544	这个就是他的一个层级啊
1157544	1159064	大家首先要搞清楚这个点
1159064	1161944	呃
1161944	1162724	然后验证的话
1162724	1164404	我们刚刚其实也带大家去验证了
1164404	1166864	当然你也可以去执行一些命令啊
1166864	1169304	然后去看一下它到底有没有覆盖啊
1169304	1170324	这个都是OK的
1170324	1175404	那比如说我们经常可能会出现的一个问题是什么呢
1175404	1177464	就是大家可以去排查啊
1177464	1178904	就是哎
1178904	1182284	有时候会发现它这个到底有没有加载是吧
1182284	1184624	这个文件里面有没有一些
1184624	1187024	就什么都没加载啊
1187024	1188384	就看一下到底什么问题
1188384	1190024	大家可以执行这个Codex
1190024	1191364	Status啊
1191364	1192204	去分析一下
1192204	1194064	比如说我们在这个里面先退出去
1194064	1196144	至今Codex status
1196144	1200544	那它这个里面的话就会进入了
1200544	1202404	去分析它的一个status
1202404	1203864	然后我们在这个里面
1203864	1207904	它可以去分析整个工作区的一个状态
1207904	1210124	就是比如说它没有加载
1210124	1211684	那你可以去检查一下
1211684	1214984	看一下这个里面到底有没有问题
1214984	1215324	是吧
1215324	1216584	你看它这里分析出来
1216584	1219164	就是它不是一个Git仓库啊
1219164	1223204	所以他在分析有一些这个信息的时候
1223204	1224624	他可能就会少一些内容
1224624	1227684	所以他可以得出来
1227684	1229904	这个到底有没有是不是空目录是吧
1229904	1230924	是不是空仓库
1230924	1232144	他可以给你分析出来
1232144	1234944	然后的话大家会发现啊
1234944	1237304	就是你有时候那个配置啊
1237304	1238464	就是你写了
1238464	1239344	但是他没有生效
1239344	1241344	这时候大家就要去检查一下
1241344	1245084	我的上一集到底有没有这个啊
1245084	1248044	更高层级的一些目录是吧
1248044	1249364	有一些MD文件
1249364	1250844	是不是也给它覆盖掉了
1250844	1252164	那这个里面的话
1252164	1255424	就是我们要去检查一下
1255424	1256444	就是你会发现
1256444	1257284	你加了一个配置之后
1257284	1257884	它没有生效
1257884	1259244	但是的话
1259244	1260604	你的配置加上去了
1260604	1261104	没问题
1261104	1262644	但是你一执行
1262644	1263724	就发现这没生效
1263724	1264484	那你就可以看一下
1264484	1266084	上级有没有更高的一些
1266084	1268944	这个规范
1268944	1270444	是不是把它给覆盖掉了
1270444	1271884	这个大家可以去检查一下
1271884	1273584	就我刚刚提到那几个层级
1273584	1274464	一个是全局的
1274464	1276404	还有一个是用户级别的
1276404	1277804	用户级别就是项目级别的
1277804	1279344	项目级别的你要看是
1279344	1282324	有没有agents.overall.md文件啊
1282324	1285184	所以这个要特别的去检查一下
1285184	1287164	然后包括一些这个
1287164	1289124	你加了一些备用文件名了
1289124	1290724	你会发现他也没有加载
1290724	1292144	那你就要检查一下
1292144	1294164	哎路径对不对啊是吧
1294164	1297504	然后这个配置有没有生效啊
1297504	1299264	其实大家遇到这个问题之后啊
1299264	1301104	如果说你确实排查不出来的话
1301104	1303664	你可以把你的一个配置丢给codex
1303664	1304984	让他自己去分析
1304984	1306524	排查到底是哪里出错了
1306524	1308704	它的分析能力很强的
1308704	1310224	它一看可能你就知道
1310224	1312124	你这个确实哪里参数拼的有问题
1312124	1313564	比如说路径写的有问题
1313564	1313944	是吧
1313944	1315704	或者一些其他的参数写的有问题
1315704	1317424	它马上就可以给你分析出来
1317424	1319144	这个里面的话
1319144	1322304	我们可以利用Codex这个分析能力
1322304	1323404	帮我们去做很多事情
1323404	1326804	然后包括一些指令被截断了
1326804	1327784	也就是说大家
1327784	1329444	你写了一堆东西是吧
1329444	1330204	写了很多
1330204	1331944	写了几百行几千行
1331944	1333584	你发现最后执行的话
1333584	1335144	可能就识别到了几百行
1335144	1338004	那这个的话就大家要把这个
1338004	1339224	有一个参数啊
1339224	1340524	叫project dockmarks
1340524	1343984	但是这个参数不是越大越好啊
1343984	1345044	你改的越大的话
1345044	1347924	对于token的这个成本消耗也是比较大的
1347924	1350424	就相当于我们对话都没开始呢
1350424	1352044	一开始就给你加了一堆内容去了
1352044	1353144	下到上下往里面去了
1353144	1356284	这样就会导致我们整个每次对话的时候
1356284	1358384	成本就会上升
1358384	1362524	所以agency.md里面绝对不是内容越多越好啊
1362524	1364524	而是越精简越好
1364524	1366124	越核心越好
1366124	1366804	这样的话
1366804	1368384	因为它的目标
1368384	1370084	它就是去用来定规范的
1370084	1371104	你不要把一些
1371104	1372384	无关紧要的内容
1372384	1373804	写到agency.md里面去
1373804	1375164	这样反而可能会
1375164	1378404	导致这个上下文超长
1378404	1378704	是吧
1378704	1380744	或者是它出现截断的这个问题
1380744	1382244	就明明你写这个指令
1382244	1383544	你发现它就是没有执行
1383544	1385044	那是因为它被截断了
1385044	1385844	都没加载进来
1385844	1387044	肯定就没法执行
1387044	1389884	然后包括这个配置
1389884	1390364	是吧
1390364	1390744	配置档
1390744	1391964	就是我们当前
1391964	1393404	大家会发现
1393404	1395704	就是你我们已经在这个当前的
1395704	1396924	用户目录下
1396924	1400244	这个.codex目里面改了这个agents.md了
1400244	1402084	你发现他就是不生效
1402084	1403864	那这时候你可以去看一下
1403864	1405604	当前你有没有设置过环境变量
1405604	1408164	把codex这个目录是吧
1408164	1409984	你给他设置到其他地方去了
1409984	1413064	所以导致他整个逻辑的方法
1413064	1414144	就是没有被执行到
1414144	1416324	这个也是大家需要去确认的
1416324	1419564	我们要把整个逻辑给他去确认一下
1419564	1422684	所以这个里面是一个非常关键的点
1422684	1424604	就是你这些目录你最基本的
1424604	1426084	你要做一个确认
1426084	1426844	是吧
1426844	1429224	那这样就不会出现一些
1429224	1430524	细节的一些问题
1430524	1434364	然后是agents.md到底应该怎么来写呢
1434364	1434964	是吧
1434964	1437104	那大家可以写哪些内容呢
1437104	1438444	我这里给他看一个例子
1454039	1454999	前段项目啊
1454999	1456799	你看前段项目就是这套规范
1456799	1458739	大家如果不知道怎么去写的话
1458739	1459879	其实很简单啊
1459879	1461439	很简单怎么来干呢
1461439	1463039	你可以打开这个codex啊
1463039	1467499	我这个是一个这个插件版的codex啊
1467499	1470279	你就直接这么跟他说啊
1470279	1476079	请帮我分析一下当前项目结构
1476079	1483439	然后输出一份agents.md
1483439	1488279	当前项目结构和代码规范
1489439	1491839	然后输出一份agentsmd就完了
1491839	1492879	就很简单啊
1492879	1496539	就大家你直接让AI来帮你分析输出一份
1496539	1498139	然后看他怎么写的
1498139	1501939	然后你再去参考再去调整是吧
1501939	1504339	这也是一种学习方式啊
1504339	1507339	就让AI他肯定比你写的好啊
1507339	1508639	写的更加的完善
1508639	1510339	所以你看他怎么写就完事了
1510339	1513699	但是我这里面已经有了
1513699	1514899	我就不重新生成了
1514899	1516479	我只是给大家讲一下这个方法
1516479	1517939	因为生成这个东西的话
1517939	1519379	他也要去做各种分析
1519379	1521279	也比较时间比较久
1521279	1523539	所以这个大家可以自己去生成
1523539	1525819	我这个就是用AI生成的
1525819	1528699	你看他这个里面就帮我分析出来了
1528699	1530759	我这个用了这个Codex
1530759	1532419	Harness Engineering的一些
1532419	1534059	这个实现是吧
1534059	1535739	然后我的项目结构
1535739	1536479	有POM
1536479	1537759	有Admin模块
1537759	1538779	有Framework
1538779	1539819	有System
1539819	1540959	有UI
1540959	1542259	这个UI是个前段项目
1542259	1543859	然后它的一个工程规范
1543859	1545959	就是一些渣滑包
1545959	1546419	是吧
1546419	1547819	然后还有一些买白利斯
1547819	1550779	等等的一些细节是怎么样的
1550779	1553239	包括我们这个Harness Engineer
1553239	1555359	它的一个工作流应该是怎么样的
1555359	1556559	这个就是我之前
1556559	1559239	落地的一套Harness Engineer
1559239	1562699	包括它的一些核心的后段命令
1562699	1563799	这个打包的是吧
1563799	1564459	编译的
1564459	1566019	这都是非常核心的一个命令
1566019	1567919	然后数据库与配置
1567919	1569199	质量门槛
1569819	1572859	就是这个就是做一些执行啊
1572859	1574739	要去确认的一些点
1574739	1576759	这个是后端的
1576759	1578799	那前端的话其实也是一样的
1578799	1580799	前端他特殊的规范的话
1580799	1582959	就是无非也就是结构啊
1582959	1583239	是吧
1583239	1584459	比如技术战是什么
1584459	1585919	是VU还是React
1585919	1587999	然后一些啊
1587999	1589139	包是吧
1589139	1590019	一些文件奖
1590019	1591539	他应该放什么组件
1591539	1593199	他的编码规范啊
1593199	1593599	是什么
1593599	1595779	然后JavaScript的
1595779	1597799	他的编码风格应该是什么样的
1597799	1599439	包括一些前端命令
1599439	1600599	MPM的一些命令
1600599	1602219	包括连条的一些约束
1602219	1604519	这个就是前端
1604519	1608399	这个agents.md需要关注一点
1608399	1610859	所以大家你说怎么写呢
1610859	1612219	如果你也不知道怎么去写
1612219	1612719	很简单
1612719	1614099	你就让AI帮你去生神
1614099	1615559	让他去分析
1615559	1617599	大家一定要加这个分析这两个字
1617599	1618559	就是你不要说
1618559	1620519	你就直接帮我写一份agents.md
1620519	1621839	但是你没有提到
1621839	1623519	让他分析当前项目
1623519	1625799	但他还是会分析当前项目的
1625799	1628119	所以你最好写清楚一点
1628119	1630999	就分析当前项目结构跟代码规范
1630999	1632039	这样的话
1632039	1635099	他肯定会把那些目录给他扫一遍
1635099	1635419	是吧
1635419	1637399	所以这个就是一个
1637399	1640179	使用习惯的这个提示词
1640179	1641739	大家可以做一些优化
1641739	1643319	所以
1643319	1645759	agents.md里面大家就可以看到
1645759	1647519	你看基本上是100行以内
1647519	1648359	是吧
1648359	1650779	并且的话写的都是一些关键内容
1650779	1653039	就是一些非常核心的模块
1653039	1654259	命令啊
1654259	1657559	然后配置啊等等的是吧
1657559	1658639	包括结构
1658639	1660199	但是非常核心的内容
1660199	1661819	就大家后段项目
1661819	1663839	你就可以参考这个去做啊
1663839	1664459	就这个规范
1664459	1665279	你可以参考一下
1665279	1666559	如果是前端的话
1666559	1668839	你也可以去看一下啊
1668839	1671779	包括其实我们之前啊
1671779	1674359	这里写了一个小游戏是吧
1674359	1677619	这个是我之前写的一个小游戏的这么一个
1677619	1680019	pacent.md是吧
1680019	1680799	就是让他分析
1680799	1682659	我这个里面用python写的啊
1682659	1684119	你看这个就是python的一套
1684119	1686319	agent.md的描述是吧
1686319	1689299	所以怎么来写啊
1689299	1690799	规范是怎么样的
1690799	1692779	这里我也给大家说一下技巧
1692779	1693939	首先啊
1693939	1694739	大家不知道怎么写
1694739	1697039	你可以参考一下我这个规范是吧
1697039	1698799	我这个的话也是用Codex分析
1698799	1699419	让它写出来
1699419	1702559	然后大家也可以自己用Codex去分析出来
1702559	1704119	然后在此基础之上啊
1704119	1705639	这个是可以改的啊
1705639	1706719	就比如说AI
1706719	1709279	它有可能也没有分析出来啊
1709279	1712699	这个真实的一个情况啊
1712699	1714199	它有可能是分析错了
1714199	1715599	所以这个就需要我们
1715599	1717659	作为开发人员你要去纠正嘛
1717659	1720939	就是AI他也不能百分百说就没有问题了
1720939	1724559	所以这里面大家需要自己去看一下啊
1724559	1726119	就是有问题你就调一下
1726119	1730079	因为有一些规范的话
1730079	1731479	AI他分析出来的话
1731479	1733859	他的描述会有点怪怪的啊
1733859	1737839	就是没有我们自己作为开发人员那种理解能力啊
1737839	1740179	就是他可能还不够强啊
1740179	1742219	当然基本上啊
1742219	1743379	这个很准啊
1743379	1744099	大家可以去试一下
1744099	1745079	看你用什么模型
1745079	1746379	比如说你用Cloud的模型
1746379	1747959	或者用Codex 5.3
1747959	1748819	它的效果很好
1748819	1750279	但是你用其他模型的话
1750279	1751719	这个就不敢保证了
1751719	1753879	所以这个回头大家可以去试一下
