AI 提示詞技巧
最後更新:2026-06-14
Your Trainer 是一款 Android 平板的多騎士室內單車應用程式。智慧訓練台控制,本機資料 + 本機控制。一次性購買。
AI Workout Coach 會根據純文字描述產生一份結構化的訓練課表。提示詞越明確,輸出就越好。掌握幾個範本就能讓你走完大半路程,剩下的就看個人品味了。
.ytw file and runs the training-load math. Format-hallucination errors drop to near zero; history answers stop drifting between sessions.AI Coach 實際看到的內容
本節說明訓練課表生成——也就是你從訓練分頁啟動的 AI Workout Coach。Workout History 畫面上的 History Assistant 是另一個流程,輸入也不同,請參閱下方的 向 AI Coach 詢問你的歷史紀錄。
在訓練課表生成時,AI 依序看到的是:
- 你輸入的文字。
- 你啟動的分頁——Power 或 Heart Rate。Power 分頁會回傳以 FTP 百分比表示的間歇;Heart Rate 分頁會回傳以區間錨定的間歇(Z1–Z5)。
- 你目前的語系設定(讓它選擇間歇標籤與提示語的語言)。
Power 訓練回傳的是 FTP 的百分比(例如甜蜜點區段為 targetPowerPercent: 90);你的訓練台會在騎乘時於本機套用你儲存的 FTP,將其換算成瓦數。因此同一份生成的訓練,200 W 騎士與 300 W 騎士騎起來都正確——瓦數不同,但相對強度相同。把 .ytw 檔案傳給朋友,他們也能用。
如果某份訓練要符合特定情境——上週的訓練、你平常的騎乘風格、你正在執行的多週計畫——請把情境寫進提示詞。
一個好提示詞的構造
模糊的提示詞會產生通用的訓練,具體的提示詞則會產生有目的性的訓練。值得明確指定的五個元素:
| 元素 | 範例 | 為什麼有幫助 |
|---|---|---|
| 總時長 | 「總共 60 分鐘」 | 若沒指定,模型預設為 45–60 分鐘。想要不一樣的長度就一定要明講。 |
| 強度 | 「工作區段為 95–100 % FTP」 | 「很硬」太模糊,瓦數區間才具體。 |
| 結構 | 「兩個 20 分鐘間歇,中間 5 分鐘恢復」 | 直接指明間歇形態。 |
| 踏頻目標 | 「低踏頻,60–70 RPM」 | 選用。低踏頻爬坡或高踏頻練習很有用。 |
| 教練提示語 | 「在工作區段加入激勵提示語」 | 模型會在間歇中穿插簡短的文字浮層。 |
比較看看:
- 模糊:「一份閾值訓練。」
- 較好:「60 分鐘的閾值訓練,包含兩個 20 分鐘間歇,強度 95–100 % FTP,並有較長的熱身。」
範本庫
經過驗證、能產生合理輸出的提示詞。複製、貼上、調整數字。
Z2 耐力
90 minutes of steady Z2 endurance at 65–72 % FTP.
10-minute warm-up ramping from 50 % to 65 %, then steady,
with a 5-minute cooldown.
甜蜜點
60 minutes total. 15-minute warm-up, then two 18-minute
sweet-spot blocks at 90 % FTP with 5 minutes of Z2 between.
Cool down for the rest.
閾值(2×20、4×8)
2×20 at threshold: 75 minutes total, 15-minute warm-up, two
20-minute intervals at 95–100 % FTP separated by 8 minutes
of recovery, then cool down.
4×8 at threshold: 60 minutes total, 12-minute warm-up,
four 8-minute intervals at 100 % FTP with 4 minutes recovery
between, cool down for the rest.
Over-unders
Over-unders: 60 minutes total, 12-minute warm-up, three sets
of (3 minutes at 95 % FTP / 1 minute at 105 % FTP) with no
recovery within a set, 5 minutes Z2 between sets, cool down.
VO2max
VO2max session, 50 minutes total. 15-minute warm-up, then
five 3-minute intervals at 115 % FTP with 3 minutes of easy
spinning between. Cool down at the end.
微爆發
Microbursts: 45 minutes total. 10-minute warm-up, then 20
minutes of 30 seconds at 130 % FTP / 30 seconds at 50 % FTP
back to back. 15-minute cool-down.
金字塔
Pyramid: 60 minutes total. 12-minute warm-up, then 1, 2, 3,
4, 3, 2, 1 minute Z5 efforts at 115 % FTP with equal-duration
recovery between. Cool down for the rest.
恢復
30-minute recovery ride. Steady Z1 at 50 % FTP throughout,
high cadence (95–100 RPM). No intervals, no surges.
FTP 測試
FTP test, 20-minute protocol: 15-minute warm-up with three
1-minute openers at 110 % FTP near the end, 5 minutes easy,
then 20 minutes all-out at 100 % FTP, then 10-minute cooldown.
若想要較溫和的 ramp-test 變化版,請從 Power 分頁使用內建的 FTP Test (Ramp) 訓練——它已針對 App 的 FTP 更新流程校準。
比賽模擬
90-minute race simulation: 15-minute warm-up, then alternating
between Z2 base (70 % FTP) and unpredictable surges — random
20-second to 90-second efforts at 110–130 % FTP every few
minutes. Steady Z2 cooldown at the end.
HR-Zone 與功率提示詞的差異
心率導向的訓練請從 Heart Rate 分頁產生——編輯器的呼叫情境決定輸出形態,因此結果會是 HR 區間範圍而非功率百分比。請在提示詞中使用區間編號:
30 minutes of zone-2 endurance with two 3-minute zone-4
surges in the middle.
45 minutes total. Zone-2 base for 30 minutes, then 10 minutes
zone-3 tempo, then 5 minutes zone-2 cooldown.
心率穩定的速度比功率慢,因此 HR-zone 訓練給騎士較長的時間進入區間——穩定區間請保持區段時長 3 分鐘以上,即使是衝高區段也至少 1 分鐘。
教練提示語提示詞
教練提示語是騎乘期間在儀表板上閃現的簡短文字浮層。請明確要求:
Threshold intervals with motivation cues during the work
blocks — "stay smooth", "find your rhythm", that kind of
thing.
VO2max session with cadence and form reminders — call out
the start of each interval and remind me to stay relaxed in
the shoulders.
提示語會與間歇一同儲存。如果 AI 的選擇不合你的口味,生成後可在視覺編輯器中編輯。
服務供應商備註
Your Trainer 支援三家 AI 供應商。它們都會產生有效的 .ytw JSON,但各自有值得了解的結構性怪癖。
Gemini(預設)
Gemini Flash 又快又便宜;Gemini Pro 較慢但較細緻。預設模型對結構化輸出的處理良好,因此 JSON 解析很少失敗。怪癖:Gemini 偶爾會在 JSON 周圍補上一些回應文字,解析器會將其去除,所以騎士看不到。
OpenAI
預設模型是 gpt-4o。輸出品質一致,結構可靠度高。Token 上限會讓非常長的提示詞(多段落的訓練週描述)較容易被截斷——若要最佳效果,請將提示詞控制在數句以內。
Claude
預設模型是 claude-sonnet-4-6。對輸出中文章性的部分擅長(提示語讀起來更自然),也擅長遵循複雜的條件。比 Gemini Flash 略慢;與 OpenAI 相當。
切換供應商
Settings → AI Coach → Provider。你也可以為各供應商覆寫預設模型名稱——若有新模型釋出,而你想在 App 預設值更新前先試用,就很有用。
自訂 OpenAI base URL(自架服務)
如果你自行運行一個 OpenAI 相容的 API 端點——LM Studio、Ollama、llama.cpp、企業 Proxy——Settings → AI Coach → OpenAI Base URL 可讓你將 Your Trainer 指向該端點。填入替代端點,API key 填上你端點所要求的內容(若端點不需要可留空),提示詞就會送往該處而非 openai.com。對於把 AI 生成完全保留在本地網路內很有用。
自動翻譯匯入的訓練課表
當你匯入一份以不同語言撰寫的訓練——例如標籤與提示語都是英文的 .ytw 檔,但你以荷蘭文使用 App——訓練詳細畫面會在原始語言字串旁顯示一個 Translate 按鈕。點擊後會將名稱、描述、標籤與提示語送至你設定的 AI 供應商,並把翻譯結果寫回該訓練的 strings 區塊。
翻譯後的字串會與訓練一起儲存,因此下次開啟時就能直接看到本地化版本。原始字串會被保留——翻譯只會新增一個語系,不會取代原文。需要 AI API key(Settings → AI Coach)。
向 AI Coach 詢問你的歷史紀錄
你為訓練生成所設定的同一個 AI 供應商,也能回答有關你訓練歷史的問題。打開 Workout History 畫面,使用 Ask AI Coach 輸入框——輸入問題,就能得到一段彙整你訓練紀錄與個人最佳成績的文字回答。實用提示詞:
- 「我這個月最辛苦的一次騎乘是哪一次?」
- 「我在閾值訓練上有進步嗎?」
- 「我最近四週的 Z2 平均功率比較如何?」
- 「列出我效率最好的路線。」
會送往供應商的內容。History Assistant 會送出你的 FTP、體重(若有設定)、最大心率(若有設定)以及單位偏好,加上最近約 10 次訓練的摘要——日期、訓練類型、時長、若有紀錄則含距離與爬升、平均功率與心率、總作功,以及任何已計算的衍生指標(NP、IF、變動指數、TSS、5 秒到 20 分鐘各標準時段的尖峰功率、效率因子、各 HR 區間的時間、達成度與恢復分數)。範圍僅限於目前的騎士。如果你不想讓這些資料送到供應商,就不要使用 History Assistant。
它是唯讀的——AI 會彙整、比較與呈現趨勢,但無法變更你的資料、刪除訓練紀錄或修改訓練。Pro 與 Family 方案可使用。
手動編輯 AI 輸出
AI 輸出會直接落入視覺化的訓練編輯器——每個間歇、提示語與踏頻目標都是一般的區塊,可以拖曳、複製或刪除。若要做更複雜的編輯,請儲存訓練、匯出為 .ytw,並以 workout schema 作為參考直接編輯 JSON。
常見作法是:先生成一份大致正確的訓練,再手動微調一兩個間歇(較長的熱身、稍微不同的恢復形態),不必再回去找 AI。比起拼命用提示詞工程出完整課表,這樣更快。
當 AI 失敗時
從 v2.1.0 開始,每個 AI 流程的確定性部分(訓練課表編寫、訓練負荷計算、驗證)都會走 MCP 伺服器,而不是直接套用原始 LLM 的輸出,因此舊版「無法將 AI 回應解析為訓練」的失敗模式大致已經消失。正常使用時仍會碰到兩種失敗模式:
- 「無法連線至 AI 供應商。」網路或供應商中斷。請重試;檢查平板的連線。若持續發生,請換一個供應商——它們是各自獨立失敗的。
- 「AI 拒絕生成此訓練。」內容政策拒絕。運動類提示詞極少見;通常是因為模型認為某些用語在描述傷害行為而觸發。請以中性方式重新表達。
還有一種降級模式:如果 MCP 伺服器本身連不上,AI Workout Coach 會回退到舊版直接呼叫 LLM 的路徑。輸出大多數時候仍然有效,但在 MCP 恢復之前,偶爾仍可能出現「無法解析」訊息。公開伺服器的狀態會回報在 整合者頁面。
完整的疑難排解清單請見 疑難排解 → AI Workout Coach 錯誤。
AI 功能背後的運作
從 v2.1.0 開始,AI Workout Coach、History Assistant 與 Workout Translate 都把它們的確定性工作——訓練檔案編寫、訓練負荷計算、騎乘分析、格式轉換——透過 Your Trainer 的公開 MCP 伺服器(位於 mcp.your-applications.com/your-trainer)處理。模型提出意圖;MCP 伺服器產生 .ytw、進行計算,並回傳經過驗證的結果。
這樣的拆分解決了兩個長久以來的可靠性問題:
- 格式幻覺已經消失。模型不再直接輸出
.ytwJSON,所以那些幾乎正確卻格式有誤的輸出不會再進到匯入流程。過去那 5–10 % 解析失敗的訓練,如今直接不會失敗。 - 歷史紀錄的回答不再飄移。當你向 History Assistant 詢問訓練負荷趨勢時,實際的時間序列運算會在伺服器端針對你真實的數字進行。兩位騎士對同一份歷史紀錄問同一個問題,會得到相同的答案。
MCP 是無狀態的——不保留任何資料——而且只有在你使用需要它的功能時才會被呼叫。若你想改走自己的伺服器,整合者頁面有完整的協定文件;若你打造一款會處理 Your Trainer 檔案的工具,也可以使用同一個後端。參閱整合者文件 →