Skip to content

Commit c8574c3

Browse files
committed
docs: 更新设计文档
1 parent 11b1b03 commit c8574c3

File tree

1 file changed

+35
-1
lines changed

1 file changed

+35
-1
lines changed

prompt/agent.txt

Lines changed: 35 additions & 1 deletion
Original file line numberDiff line numberDiff 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+

0 commit comments

Comments
 (0)