Skip to content

Commit 7b2e429

Browse files
committed
更新文档
1 parent b7bd3e5 commit 7b2e429

File tree

1 file changed

+2
-0
lines changed

1 file changed

+2
-0
lines changed

prompt/agent.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,8 @@ agent怎么实现,是否会遇到上下文超长,一般要怎么解决?
5959
如果对工程已经有了解(以前曾经读过工程,做过一些笔记,或者有一些记忆),要先找到函数入口,或者和需求有关的流程上的某一环的代码,顺腾摸瓜找到入口
6060
可以先跳到自己熟悉的最近的函数入口,比如如果是某个服务器-客户端同步的问题,肯定是先找到服务器收包的地方。如果是游戏服务器的技能问题,就先找到接收客户端释放技能的上行协议收包入口等
6161
如果还是找不到入口,就从工程的main函数开始,先开初始化函数,找到相关功能的管理器代码。或者找到主循环,一路顺着找到可能和需求相关的调用链
62+
如果对工程不了解,可以猜测一些关键词,来搜索相关类和函数。如果搜出来的范围太大就多加一些正则表达式和关键词搜索缩小方位,来快速找到入口,或者是相关流程上的一环。或者可能是类似的兄弟系统,顺腾摸瓜找到兄弟系统
63+
实在不行只能用BFS的方式阅读整个工程了(下面会讲)。如果是C++工程,一定要先看头文件,再看Cpp。看头文件要先看public的接口,private的接口可以延后看。因为public的接口大概率是对外有联系的。这样才可以浓缩信息,用最小的成本定位目标
6264
看代码的时候要BFS而不是DFS。也就是不要看到不确定的分支就进去递归的看。而是遇到分支,先做个笔记。
6365
这个笔记可以用缩进来做。从入口开始,每进行到下一个阶段,是并列级别的。如果遇到一个地方有几个不确定的分支,不知道哪个是有关的,先用缩进把他们都列出来。如果感觉他们不止主要流程,就先给他们打个问号,稍后再来看。先去看最可能得主流程下一阶段
6466
如果看完一遍流程,发现线索断了,就找到前面做过标记的那些分支,用相同的方法去看。并实时更新这个笔记。这是人类的方法。对计算机来说,可能就是一颗搜索树,每次只是标记出有疑问的节点,用bfs的方法。如果每有找到答案就继续遍历队列里留下的疑点,但是每轮只遍历一层

0 commit comments

Comments
 (0)