好用的提示詞,多半放在不對的地方:三週前的某段聊天、一個筆記檔、一則傳給自己的 Slack 訊息。每次都靠記憶重寫,內容慢慢走樣,也沒人記得當初到底是哪個寫法有效。osFoundry 的 Prompt Library 讓這些提示詞有了固定的家,可以搜尋、加入最愛、保留版本;Studio 裡的 Skills and Tools 則能把信得過的提示詞變成代理可以照著做的指示,並清楚列出它能使用哪些工具。

內建提示詞和自己的提示詞,都在同一個庫裡

osFoundry 是一款把聊天、代理、檔案和工具整合在同一個視窗裡的桌面 App。Prompt Library 開啟後分成三欄:附數量的分類(Coding、Writing、Analysis、Customer Support 等)、提示詞清單,以及目前選取的提示詞。App 內建數百個提示詞,你自己的提示詞也放在同一份清單裡。按下星號就會加入最愛,搜尋則會比對標題、說明、提示詞內容和標籤。

osFoundry 的 Prompt Library,顯示分類和數量,清單中 Release notes writer、Customer reply – refund 和 Weekly status summary 已加星號,右側開啟的是 Release notes writer 提示詞(範例資料)

每個提示詞都會顯示分類、標籤、作者、日期和使用次數。工具列上有 Favorite、Copy、Duplicate、版本標記、Edit 和 Delete。提示詞內容可以放入 {{product}}、{{audience}} 這類變數,後面會派上用場。

用版本取代覆蓋

從這裡開始,這個庫就不只是筆記檔了。編輯提示詞時,你可以選 Save 直接覆蓋,或選 Save as New Version,保留原本的內容,把編輯後的文字加成下一個版本。

在 osFoundry 編輯 Release notes writer 提示詞的第 4 版,富文字編輯器上方有 Cancel、Save as New Version 和 Save 按鈕(範例資料)

各個版本會以小型樹狀結構掛在原始提示詞底下,每個版本都標有日期,原始提示詞也會顯示共有幾個版本。在範例中,Release notes writer 有 v2(10 月 12 日)、v3(10 月 21 日)和 v4(11 月 4 日);v4 加上一行簡短摘要、每行最多 15 個字的限制,並把破壞性變更放在最前面。任何版本都能打開來閱讀或重複使用,所以 10 月時好用的寫法,在 11 月改寫之後依然留著。

osFoundry 中 Release notes writer 提示詞的版本樹,列出 v2、v3、v4 及其日期,右側開啟 v4(範例資料)

如果你要的是另一個獨立的提示詞,而不是新版本,Duplicate 會建立一份從 v1 重新開始的獨立副本。

My Prompts 會把清單縮小到你自己寫的提示詞,以及你加了星號的內建提示詞,版本也一起列在底下。

osFoundry 的 My Prompts 檢視,只顯示使用者自己的提示詞,並展開 Customer reply – refund 和 Weekly status summary 底下的版本(範例資料)

填好空格就送出

Prompt Library 也能當成聊天旁邊的側邊面板使用。插入含有 {{變數}} 的提示詞時,osFoundry 會先逐一詢問每個值,再把完成的文字放進訊息框。在範例中,發行說明提示詞會詢問 product、version、audience 和 changes。

osFoundry 的 Fill in prompt variables 對話框,在把 Release notes writer 提示詞插入聊天前,詢問 product、version、audience 和 changes(範例資料)

這樣一來,一個測試過的提示詞就變成了一張表單:指示維持不變,你只需要輸入每次會變的部分。

從提示詞到 skill

提示詞是你自己貼上的東西;skill 則是代理在任務符合時會自己拿來用的東西。Skill 放在 Studio 的 Skills and Tools 底下。按 + 新增一個(或用 Import 匯入 Markdown 或文字檔),再把已經證明好用的提示詞貼進去。

osFoundry Studio 中的一個 skill,包含名稱、slug、群組、版本 1.3.0、說明、觸發條件、工具權限範圍、相容的代理、標籤、範例,以及寫有步驟的 Markdown 內文(範例資料)

Skill 包含的不只是文字:

  • 名稱、slug、群組和版本號(範例中是 1.3.0)
  • 說明和觸發條件,也就是什麼時候該使用,例如 "When the user asks for release notes, a changelog or a 'what's new' post"
  • 它可以使用的工具(這裡是 git_log、read_file 和 web_fetch),以及適用於哪些代理
  • 標籤、一個範例請求,以及以 Markdown 步驟寫成的指示本身,包括絕對不能做的事

背後的工具,以及它們的限制

Skill 只提供指示;代理實際上能做什麼,是由工具決定的。Tools 分頁中的每個工具都有自己的權限(git_log 是 repo:read)、核准政策(不需核准、交給 runtime 判斷,或每次使用前都要核准)、送給 worker 的情境,以及它的 function schema,還有可以實際試用的 Test 按鈕。

osFoundry Studio 的 Tools 分頁,Unattended runs 政策設為 Ask for approval,git_log 工具顯示 repo:read 權限、No approval required 及其 function schema(範例資料)

清單上方的 Unattended runs 決定沒人盯著時會發生什麼事:包括排程代理、檔案監看觸發和 room apps。預設是先請求核准;你也可以讓它們不經詢問直接執行,或讓它們先擬好計畫再詢問。聊天則一律使用訊息框中自己的核准模式。

使用情境:不再走樣的發行說明

Sammy 每兩週寫一次發行說明。第一版提示詞還很粗糙,所以每次修正都存成新版本:v2 把變更分成 New、Improved 和 Fixed,v3 拿掉內部工單編號,v4 則為了 App 內的 changelog 把每行縮短。當同事問起 2.3 版的說明是怎麼寫的,答案就是 v3,它還留在版本樹裡。

需要快速產出時,Sammy 從側邊面板插入提示詞,填好 product、version 和 audience。等 v4 經過幾次發行都表現穩定後,Sammy 把它貼進一個「Release notes」skill,限制它只能讀取 git log 和檔案;現在只要有人要發行說明,負責撰寫的代理就會自動用上它。

大家最先問的問題

可以把兩個版本並排比較嗎?
版本一次只能開一個,各自有日期和內容。Save as New Version 會保留先前的寫法,所以改寫提示詞時不會遺失任何東西。

我的提示詞存在哪裡?
內建提示詞隨 App 一起提供。你自己的提示詞、編輯內容和最愛都保存在這台裝置上。

提示詞會自動變成 skill 嗎?
不會。你要在 Studio 的 Skills and Tools 建立 skill,把提示詞貼進去當作指示,再選擇它的觸發條件和可以使用的工具。

Skill 能自己做事嗎?
Skill 就是指示。實際執行的內容,取決於已啟用的工具及其權限和核准政策。

要付費嗎?
osFoundry 在你自己的裝置上可以免費使用。在 osFoundry 伺服器上執行的工作,以及透過 osFoundry 呼叫模型,則會使用點數。

桌面 App 可在 osfoundry.io/zh-tw/download 免費下載。