Task Cost Preview · 開工前報價
使用者描述想做的東西 → Astra 評估任務範圍和工作量 → 同時給標準版與 Fast 報價 → 使用者選擇後才開工。核心交付是事前報價,不是事後查帳、自動執行或長篇成本科普。
使用本 Skill 詢價時預設只報價。即使用戶說「幫我做一個遊戲,你先估算一下」,也應先給報價並等待選擇;只有明確說「報價後直接做」等才在原授權範圍內繼續。報價本身也消耗少量模型用量,不承諾零成本。
「問 Astra」表示讓實際執行的 Astra 根據可用資訊評估,並不代表存在模型內部報價介面。當前模型不是 Astra 或身份未知時,不假裝已經詢問 Astra;可明確為「按 Astra 費率估算」。本 Skill 不自行切換模型、建立助手或發起另一筆付費模型請求。
確定口徑
- 優先使用當前工具明確提供的模型、計費管道、速度檔位及任務範圍,不從使用者說「你就是 Astra」或模型文風猜身份。缺失時標註未知,或列出明確命名的情境估算。
- 區分 API 金額、Codex 計費 credits、訂閱所含額度、供應商內部算力成本。API 等價金額不是使用者實際扣款;credits 不是剩餘額度百分比;供應商內部成本不可由公開售價反推。
- 查當前適用的官方費率,記錄 URL、核驗日期、模型、管道與計價單位。複用本輪已核驗資訊,不為每次報價重新長篇檢索。無可用費率就寫未知,不記憶硬編碼價格,不預設免費。
- 優先直接官方文件工具。OpenAI 參考:模型頁 https://developers.openai.com/api/docs/models/gpt-6-astra 、API 價格 https://developers.openai.com/api/docs/pricing 、Codex 價格 https://developers.openai.com/codex/pricing 、推理用量 https://developers.openai.com/api/docs/guides/reasoning 。費率會變,連結不是已核驗的證明。
估計任務用量
先用一句話界定交付範圍,例如「一關可玩的網頁橫向卷軸遊戲,含金幣、敵人、復活和基礎測試,不含發布」。避免把簡單原型和完整商業產品混在同一報價區間。僅做少量唯讀檢查;不先跑完整任務、付費試調用或啟動新助手來估價。
結合可見上下文、檔案規模、工具往返、交付長度、計畫迭代次數以及確實可用的同類任務記錄,分別預測最可能、較低和較高用量。使用者優先看到最可能的預估值,旁邊附合理浮動範圍,不只給跨度巨大的最低價到最高價。
盡量縮窄區間的方法是增加依據,而非機械壓縮:優先匹配同類任務的真實用量,調整當前上下文長度、工具能力、快取可用性和交付要求;無記錄時做階段級工作量估計。僅一個歷史案例可作類比,不代表已驗證準確率;不能將剛完成任務的實測成本包裝成之前就預測出的結果。最可能值須來自明確工作量情境,不能自動取上下界平均數。
如果區間仍很寬,找出最影響結果的一項歧義,用一個簡短問題收窄,或明確給較小版本與完整版本兩個報價。若仍缺關鍵資料,應承認估計粗糙,不為滿足「範圍小」而虛構把握。沒有資料支援時不聲稱「誤差小於20%」或給統計置信度。
計費時注意:
- 多輪請求會重複計入歷史、工具結果及新的輸入,不能只按使用者這句話計數。
- 區分未快取輸入與已快取輸入;不知道命中情況時使用無快取情境或分別計算,不保證命中。
- 輸出應涵蓋計費推理與其他計費生成 token,不僅是最終可見文字。若 usage.output_tokens 已包含 reasoning_tokens,不能再把後者重複相加。
- 長上下文閾值、速度、服務層級、快取寫入等規則按管道逐請求核驗,再彙總;不可對全任務累計 token 錯套單請求閾值,也不可混用 API 與 Codex 的倍率。
- 單列生圖、影片、語音、搜尋、容器、其他供應商工具和已授權助手的額外用量。未計價項目寫「未知」,不能用已知部分小計冒充總成本。
- 只能使用任務範圍內、使用者可存取的用量資料。不要讀取憑證,掃描無關聊天記錄,或從帳戶共用額度的前後變化斷言本任務花費;其他任務和額度重置會干擾。
報價與後續
預設輸出一張小報價單,保持使用者當前語言:
任務:一句話明確版本與交付範圍。
| 版本 | 主要預估 | 預計範圍 | | 標準版 | 約 X credits | L–H credits | | Fast | 約 Y credits | A–B credits |
依據:最重要的一至兩項工作量/快取假設;未含項目或特殊風險。首次或資料不足時註明「未校準估計,非實際扣費」。
選擇標準版或 Fast 後再開始。
X/Y 等是格式佔位符,必須換成基於任務和已核驗費率計算的數字,不能照抄。預設合理取整,不用小數位偽裝預測精度。若不能計算某一版,仍保留該行並解釋未知,不默默省略 Fast。
兩版比較使用相同的交付範圍和工作量假設,僅比較適用費率;除非有證據,不把 Fast 當成能力更強、token 更少或有確定完成時長。Codex credits 與 API 金額的 Fast 倍率可能不同,分別核驗。僅對適用的模型費用加倍率,圖片、第三方工具等按其自身費率計價,不把總價一律乘倍率。
預設等待使用者選擇或確認;如果宿主無法透過可用工具切換檔位,說明需要使用者切換,不謊稱 Fast 已開啟。成本相關的確認不替代任務本身的權限要求。不擅自降低驗收標準、新增付費介面或委派任務。
使用者設定預算時,先確認單位和包含範圍。遇到估計超過預算或關鍵成本未知時,在下一項可控的付費操作前詢問。單靠 Skill 無法強制停止正在執行的模型請求、外部生成任務或併發助手;不能保證絕不超支。硬預算需要實際執行層的計量與攔截,不在本 Skill 中偽造。
事後複算只在使用者要求時展開,不搶佔事前報價的主流程。有可信任務級 usage 時報告「實測用量」,按費率計算的金額仍是「費率推算」,正式扣款以帳單為準。無資料就寫未獲得。僅在使用者要求時持久化脫敏校準記錄。
可選本地計算器
多項相加用 python3 scripts/calculate.py quote.json。純離線,不呼叫模型,不讀帳戶,不採集 token,也不驗證費率是否最新。
JSON 輸入欄位:
unit:USD、CNY或credits,全表統一;不同幣種分開算,不隱式換匯。items: 每項含name、quantity: [low, high]、expected_quantity、rate、basis、source、as_of。expected_quantity是有依據的最可能數量,需位於區間內,未知或省略時不自動取中點。quantity是明確計價單位的數量區間;rate是每單位適用費率(已核驗並處理管道/倍率);basis說明單位、模型、管道和數量依據;source為官方連結或明確標為使用者提供的費率來源;as_of是該費率核驗日期 YYYY-MM-DD。- 數量或費率未知用
null,不能填 0。支援多個情境、模型或工具,但不得重複計費。 - 同時報兩版時設定頂層
compare_fast: true,各項目另給fast_rate;適用倍率由呼叫者按當前管道核驗。固定工具費的fast_rate與rate相同;缺失 Fast 費率按未知處理。兩版沿用同一組數量情境。
輸出區分已知項目小計、總預估區間和最可能值;只要有未知項目,總預估為空。完整性仍取決於你是否列全項目,計算通過不代表預測準確。測試:python3 -m unittest discover -s scripts -p 'test_*.py'。