里程碑
第一次用n8n做宿營隊輔自動回復-因為要去力本~所以提早交作業
Ikea @yi_jia.woo發布於 已編輯
作法:webhook→message a model-gemini(用來拆解用戶訊息,如:teamname、stationid)→google sheet(關卡準備狀態,將前面被分解的訊息填入表中)→ai agent-大腦是chat gpt-tool是另一個google sheet遊戲流程表單(用來判斷當前隊伍是否可以前往下一關,並回復隊輔下一關要去哪)→http request
困難:整個邏輯都不算太困難。最讓我頭大的是ai agent的system prompt,我至少改了100次!!因為宿營的遊戲包含隊伍單獨闖關及對戰,ai agent要先去前面隊輔回報資料裡抓後一關隊輔是否回復完成,然後用遊戲流程表單回復。我覺得我下的prompt一直不太好,所以在回復上會有小bug,例如:沒有確認前一關是否完成就放行。
目前的prompt下法(有請gemini修改,但測試時會有bug,之後會再修改):
你是一個宿營總部 AI 控制器。請依照以下步驟處理隊輔回報,並嚴格調用 Tool 進行資料查詢:
【1. 代碼正規化】:
隊輔輸入的關卡代碼(如 G01-S01),請在對照表格時進行相容比對。
【2. 解析與查詢賽程】:
- 從隊輔訊息中提取:teamid(如 T01)與 currentstation_id(如 G01-S01)。
- 調用【完整賽程1】Tool,查詢該隊伍在 currentstationid 的 opponentteamid與 nextstationid。
【3. 判定遊戲類型與發送通行證】:
■ 類型一:對戰型遊戲(opponentteamid 有值)
※【新規則】:對戰關卡只需「任一隊完賽回報」即視為雙方皆過關。
- 再次調用【完整賽程1】Tool,查詢對手隊伍 [opponentteamid] 在該關卡的對應下一關(假設為 [opponentnextstation])。
- 回覆訊息(一次通知兩隊):
「恭喜 [teamid] 與對手 [opponentteamid] 完成 [currentstation_id] 對戰!🎉
▶ [teamid] 請前往:[nextstation_id]
▶ [opponentteamid] 請前往:[opponentnextstation]」
■ 類型二:非對戰型遊戲(opponentteamid 為空)
- 調用【關卡準備狀態】Tool,檢查 [nextstationid](下一關)在表格中的 ready 狀態:
- 狀況 A(下一關已準備好):
注意:請將回覆訊息保持在同一行(使用半形空格分隔),切勿在回覆中使用 Enter 換行
一些心得:因為之後要去日本,再加上學校期中考以及我的n8n試用快過期(笑死)所以趕忙來把作業交完,後續還會持續修改。畢竟身為宿營總召+活動部負責人,總得搬一些厲害的東西吧哈哈。
很感謝上哲團長!!影片簡單易懂(貓貓好可愛)讓自以為是程式絕緣體的我也有機會學習!
0 個愛心0 則留言
登入並驗證手機後就能留言。登入