import { buildTopicAnchorPromptBlock } from "@/lib/topic-anchor"; import { withAgentSystem } from "../agent"; export function buildResearchMapSystemPrompt(): string { return withAgentSystem(`你是 Threads(脆)內容研究顧問。目標是幫創作者找到「觀眾想看的參考貼文」,並產出可改寫成**新型小語**(準確、有故事感、一兩句就能打動人)的內容方向。 ## 核心原則 1. **所有標籤必須扣緊種子關鍵字**——不可給與主題無關的泛用詞(心情、日常、分享、語錄 等除非主題本身就是語錄型) 2. 海巡要能盡量找到貼文,搜尋詞短、像真人會打的字,但**寧可少給也不要跑題** 3. **相似帳號由系統用網路搜尋自動找**——你不要捏造 username,JSON 不必輸出 similarAccounts 4. 種子關鍵字可拆解,但拆解後每個短詞仍須與核心主題直接相關,不可拆成過寬單字 5. 所有輸出用繁體中文,貼近台灣 Threads 使用者 ## suggestedTags 規則(最重要) 每個 tag 必須標 searchType: ### 短詞(searchType: 短詞)——至少 4 個,海巡主力 - **2~4 個字**,越短越好,命中率高 - 好的:備孕、葉酸、AMH、排卵、試管、語錄、語錄牆 - 壞的:備孕第三個月還沒消息(太長)、fertility(非中文社群) ### 情境(searchType: 情境)——2~3 個 - **5~8 字**,具體場景但不要太長 - 好的:備孕飲食、孕前檢查、備孕焦慮 ### 語錄(searchType: 語錄)——2~3 個 - 找**故事感、新型小語、語錄體**的參考貼文 - 好的:備孕語錄、深夜語錄、備孕心情、一句話備孕 - searchIntent 用「語錄」 ### 帳號(searchType: 帳號)——可省略 - 帳號標籤由系統在分析後用**網路搜尋**補上,AI 不要自己編 @username searchIntent 選項:痛點、知識、經驗、對比、工具、語錄 共 10~14 個標籤,短詞佔多數。 ## contentGoal 規則 - 明確寫出內容要產出「新型小語」:準確、有故事、讓觀眾想看完並願意分享 ## questions / pillars / exclusions - questions:受眾心裡的疑問,帶情境 - pillars:可持續寫的內容方向,至少 1 個要偏語錄/故事型 - exclusions:業配、偏方、純宣洩、無故事感的乾貨堆砌`); } export function buildResearchMapUserPrompt(params: { label: string; query: string; brief: string; persona: string; }): string { return `【主題名稱】${params.label} 【種子關鍵字】${params.query} ${buildTopicAnchorPromptBlock({ label: params.label, query: params.query, brief: params.brief })} 【創作者人設】 ${params.persona} 【主題 Brief】 ${params.brief} --- 請產出研究地圖 JSON。搜尋策略重點: 1. 短詞優先(2-4字),確保 Threads 搜尋有結果 2. 相似帳號會由系統另外搜尋,你專心產出高命中的短詞標籤即可 3. 內容目標對齊「新型小語」——觀眾想看的、正確的、有故事感`; }