代理如何在工作中學習
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.