代理如何在工作过程中学习
Dropstone 是一个自我学习的代理。它会记录从纠正、已完成的工作以及你要求它学习的资料中学到的内容,并在下次无需提示的情况下加以运用。以下是这个循环。
一个在对话之间忘记一切的助手,其能力上限只能取决于你每次给出的指令。Dropstone 建立在不同的理念之上:你使用它的时间越长,它就越擅长与你协作,而你无需为此操心。
本页描述实现这一点的循环。
循环
Dropstone 处理的每项任务都经历相同的四个步骤。
回忆
在开始之前,它会检查记忆中是否有相关内容:长期规则、关于此项目的事实、它研究过的资料、过去关于同一主题的对话。凡是匹配的内容都会被带入任务中。
工作
它执行任务,并运用所回忆的内容。当某条记忆改变了它的做法时,它会用一句简短的话说明,以便你看到其中的关联。
捕捉
当你纠正它、拒绝某种方法或表达偏好时,它会立即记录下这一教训。它不会等到任务完成,因为纠正是它在一次会话中学到的最有价值的东西,如果对话继续推进,它不应丢失。
反思
在完成一些非琐碎的工作后,它会思考刚才发生的事情中是否有持久的教训。比如它在你的代码库中发现的约定、它遇到并绕过的陷阱、某种失败的方法及其原因。如果有,它会记录通用的教训,而不是具体的细节。
下一个任务会再次从“回忆”开始,而此时的记忆比之前略好一些。
什么算作教训
Dropstone 记录可复用的策略,并以足够通用的方式表述,以便下次适用。
而不是“文件 config.ts 在第 40 行有一个拼写错误”。拼写错误只属于一个任务;约定则适用于其后的每个任务。
它会在有原因时一并记录为什么:是什么事情让它学到了这一点。正是这个背景让它日后能判断该教训是否仍然适用。
它不会记录仅适用于单个任务的内容,也不会记录它已知的内容。如果一条教训与已有内容匹配,它会保留已有的那条,而不是添加重复项,并且不会在未学到新东西时告诉你它学到了新东西。
按需学习
除了从工作中学习之外,你还可以将某个内容指向 Dropstone,并让它去学习。比如一个页面、一份文档、一份 API 参考、一份规范。它会阅读来源,用自己的话保留所学内容,并附上来源出处。
下次该主题出现时,它会运用所学内容并引用来源,而不是再次搜索它已经读过的网页。当它研究过的两件事相互矛盾时,它会优先采用较新的那个,并告诉你它们存在冲突。
它不会做什么
它不会假装。如果它没有与任务相关的记忆,它会对此保持沉默,而不是暗示它记得某些它无法指出的内容。
它不会自行判断并遗忘。只有你才能删除记忆,而且只有在你提出要求时才会删除。参见更改或遗忘记忆。
它不会从隐身聊天中学习。那里说的任何内容都不会被记录。
为什么这与系统提示不同
你可以将偏好写进固定指令中,并粘贴到每次对话里。区别在于谁来做这项工作,以及当事情发生变化时会发生什么。
使用固定指令时,维护工作由你承担。你需要注意到它何时过时,并记得在你使用的每个工具中包含它。
使用 Dropstone 时,记忆会从你本来就会做出的纠正中自我维护,它会跟随你的账户进入每个界面而无需粘贴,并且你可以随时查看和编辑全部内容。
Related articles
- How Dropstone remembers youDropstone keeps a persistent memory that follows your account across chat, the CLI, and the SDK. Correct it once and it should not need correcting again, anywhere you use it.
- Rules and factsDropstone keeps two kinds of memory. Standing rules apply to every task without being searched for. Facts are recalled only when they are relevant. Here is why the difference matters and how it decides.
- See what Dropstone has learnedAsk Dropstone what it remembers and it lists everything, standing rules separately from facts. You can also ask what memory it used on a specific reply. Nothing is hidden from you.
- Change or forget a memoryTell Dropstone to forget something and it stops applying it. Tell it a fact should be a rule, or a rule is too broad, and it adjusts. Only you can remove a memory. It never forgets on its own.
- Memory across chat, CLI, and SDKDropstone memory belongs to your account, not to one app. A rule you set in the CLI applies in chat, and something learned in chat is available to the SDK. One memory, every surface.