File tree Expand file tree Collapse file tree 1 file changed +35
-1
lines changed
Expand file tree Collapse file tree 1 file changed +35
-1
lines changed Original file line number Diff line number Diff line change @@ -836,4 +836,38 @@ BFS 遍历:
836836优先级:为问题节点添加优先级(如影响范围大的先解决)。
837837剪枝:若某个问题无解且不关键,可标记为忽略。
838838并行:无依赖的子问题并行解决。
839- 这种设计应该能更好地处理复杂疑问的树形依赖。
839+ 这种设计应该能更好地处理复杂疑问的树形依赖。
840+
841+ 我在开发vscode插件,用的ts
842+ 我需要用这个插件重构工程代码,涉及多个文件,每个文件都很长
843+ 很容易超过上下文上限
844+
845+ --------------------------------
846+
847+ 我希望设计一个agent框架处理这个问题
848+ 把多个文件、长上下文的代码块切成很多块,逐个调用agent
849+
850+ agent的数据结构有
851+ 核心工作提示词,指导工作的方式
852+ 目标(用户输入的最终目标)
853+ 互通信息记忆(和目标有关的一些记忆,用来在多轮对话中长期存储的记忆,比如某个函数的潜规则)
854+ 笔记记忆(用来做长期记忆的笔记,用缩进表示层级结构)
855+ 问题列表(从当前输入和互动记忆、笔记记忆中都找不到线索的遗留问题,留待后续输入中寻找线索的问题列表,并标注是否已经被解决)
856+ 任务列表(列出为了达到目标设计的子任务清单,按执行顺序排序,其实就是一个调用栈,允许有层级结构,也就是某个任务下面可以拆成子任务,每个任务后面都有一个括号,里面标注是否已完成)
857+ 当前agent正在执行的子任务
858+ 输入数据:可能是代码块,如果输入完毕,会输入@已完成
859+
860+ 输出:
861+ 如果当前任务有子任务,就唤起一个新agent,设置他的子任务。直到所有子任务执行完,他才汇总返回
862+ 对以上每一个数据的修改,要求结构化输出,方便处理
863+ 比如根据新输入的块,修改记忆,问题列表添加新问题,或者标记问题已解答
864+ 还可以增删任务列表,修改任务列表的状态(是否已解决)
865+ 不要提出重复问题等
866+ 根据当前子任务,返回应该返回的值
867+
868+ 可以看出,他是一个树状搜索的控制流
869+ 对于长上下文,他如果想通读一遍,他可以每次唤起一个子任务,读取下一个分块,而这是个tool,可以自动给下一个唤起的子任务装填下一个代码分块
870+
871+ 理解我的设计,你觉得有没有不合理的地方,能否改进?帮我完善他。
872+ 给出关键代码的实现。
873+
You can’t perform that action at this time.
0 commit comments