Skip to content

Commit e877160

Browse files
committed
增加新文档
1 parent 3f45417 commit e877160

File tree

1 file changed

+30
-0
lines changed

1 file changed

+30
-0
lines changed

prompt/agent.txt

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
我用vscode开发插件,语言是ts,使用openai的库
2+
请教我如何使用tools
3+
我需要让模型读取多个工程里的长代码文件
4+
需要提供搜索,切块,等函数方便他在有限上下文情况下定位代码来重构
5+
但是我不会写tools,请给我具体例子,多给一些
6+
注意,我指的是 通过 openai.chat.completions.create 传递 tools字段
7+
你不需要给我vscode 插件的搭建代码
8+
主要是研究如何通过tools实现我的需求
9+
给我详细的代码和讲解
10+
要讲清楚 tools字段是如何运作,如何生效的,工作原理是怎样的
11+
有哪些注意点和局限性
12+
适合做什么
13+
14+
15+
你对实际使用的场景不了解,我给你举个例子
16+
有一个状态机调试工具(游戏npc状态机),是图形化的,以前的版本使用了一个称为EasyX的库来绘制所有的状态机图
17+
以及UI、按钮(自己实现的按钮绘制和事件点击响应)
18+
且这个状态机调试器支持同时显示多个状态机图,跟踪他们的节点变动
19+
但是由于EasyX库只是一个图形教学库,很简陋,不支持同时多个画布
20+
导致这个调试器为了同时显示多个图搞成了多进程,互相的通信很复杂,代码非常难维护
21+
现在我用IMGUI进行了尝试,写了一个demo,证明IMGUI也可以封装后绘制类似的状态机图以及按钮和UI已经有现成的实现了,而且支持多线程,不用多进程
22+
由于原来的代码里还有很多接入现有系统的功能,我不能整个抛弃
23+
我希望AI借鉴这个Demo,把EasyX换掉,模仿我Demo的方法重构整个工程
24+
但是这样就交给大模型,大模型从来就没有读过我的代码,并不知道里面有哪些函数
25+
虽然这个调试器的代码并不多,但是想整个装入大模型的上下文长度,还是装不下的,要分10次以上才能装入
26+
所以你一开始的假设让模型去制定计划是错的,模型多整个工程的代码都没有通读一遍
27+
怎么知道从哪里开始呢?连从哪个函数开始着手都不知道。也就是都没找到函数入口,流程怎么开始和经过哪些函数。这样怎么开始搜索呢?靠猜么?而且向量数据库对代码其实没啥用,因为代码并不是人类语言,放入向量数据库切块的时候早就丢失了很多上下文信息
28+
靠谱的方法可能是一开始就把代码切块,逐个给大模型理解
29+
然后把输出的理解总结和代码块一起嵌入向量反而是合理的,你觉得呢?
30+
综合以上,你重新思考一下

0 commit comments

Comments
 (0)