Skip to content

Commit eb02d7c

Browse files
committed
docs:更新任务拆解需求
1 parent f453136 commit eb02d7c

File tree

1 file changed

+29
-1
lines changed

1 file changed

+29
-1
lines changed

prompt/agent.txt

Lines changed: 29 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1203,4 +1203,32 @@ Group里有文件列表和压缩信息
12031203

12041204
ECVB提供接口设置和获取压缩信息,以及对应的metadata(文件路径和页码,或者对应的group等)
12051205

1206-
我想设计的就是一个通用行的agent,他甚至能把别的chain,workflow也消化成自己的
1206+
我想设计的就是一个通用行的agent,他甚至能把别的chain,workflow也消化成自己的
1207+
1208+
1209+
queryCodeReDesign 这个函数输出的代码太长了,超过了大模型的token上限
1210+
我需要你进行改造
1211+
新写一个预处理函数,叫做任务调度器
1212+
他会先把需求放入提示词,并告诉大模型输出涉及多个文件,输出总长度可能会超过上限
1213+
所以需要把任务分成几个子任务并行执行
1214+
先让他给出一个总任务,包含需要生成内容主要包含哪些函数,新加哪些公共变量
1215+
每个文件里要改哪些东西
1216+
然后格式化列出每一个子任务(可以用json格式)
1217+
子任务一般包含修改的文件路径,和子任务目标(比如对应总任务里的内容,每个子任务里要对目标文件做何修改)
1218+
格式要易于匹配
1219+
1220+
然后收到大模型的返回后,需要进行解析出主任务和各个子任务的文本
1221+
然后把 原始需求+主任务 拼成提示词前缀 , for循环,调度每个子任务,每个子任务在提示词后面加上自己是第几个子任务,子任务内容
1222+
比如输出的是TCVB, 就让每个子任务也输出的是完整的TCVB
1223+
1224+
然后把收到的所有的TCVB 拼成一个总的TCVB,返回给外面
1225+
(因为本来每个子任务都是操作不同的文件,所以不会有冲突)
1226+
同时提示词前缀里包含的一些公共变量约定,又可以让他们互相协作,不会出现一个子任务里使用了另一个任务里的公共变量,对方不知道,导致变量名不统一的情况
1227+
1228+
同时要规划并行子任务数量
1229+
应该有一个队列
1230+
保证同时运行的子任务数量不超过5个
1231+
超过的子任务就等前面的任务
1232+
这些子任务执行的时候就不需要实时的输出内容到channel了
1233+
只需要在主调度的地方输出开始+子任务内容, 子任务结束的提示就行
1234+
主任务可以在生成后也在channel输出一次

0 commit comments

Comments
 (0)