Skip to content
💻程式#110進階金字塔 · 做
工程師顧問經營者Gemini#AI功能#AI Studio#功能擴充

職場小工具加 AI 功能:摘要/分類/建議

用途

在既有的 AI Studio 工具加入一個 AI 按鈕,讓工具從「只是展示資料」升級成「幫你做分析或給建議」的智慧助手。

何時用

  • 適合:已有一個可以運作的資料展示或計算工具,想加一個「AI 分析」按鈕讓工具更聰明時。
  • 不要用:工具本身還沒做好,或是基礎功能都還不穩定——先把工具本體做完再來加 AI;初次建工具請用「5 區塊模板」或「Remix」。

Prompt

text
我有一個現有的 AI Studio 工具:
{{描述現有工具,例:一個 Google Sheet 讀取的庫存查詢工具,可以搜尋和篩選產品}}

請在這個工具加入一種 AI 功能(三選一,請選最適合的):

選項 A — AI 摘要:
在畫面底部加一個「AI 摘要分析」按鈕,按下後把目前篩選結果彙整成 N 個重點洞察(庫存異常、最高/最低定價、類別分布),用條列格式顯示

選項 B — AI 自動分類:
在每一筆資料旁加一個標籤欄,讓 AI 根據品名和規格自動判斷分類(例:{{分類選項}}),顯示 AI 建議標籤

選項 C — AI 行動建議:
在使用者填完查詢或計算後,加一個「AI 給建議」按鈕,輸出 2-3 句針對這筆結果的具體行動建議

技術規格:
- 全繁體中文輸出
- 純前端,直接呼叫 Gemini API(我會在程式碼裡填入 API Key)
- AI 回應等待時顯示 Loading 狀態,出錯時顯示友善的繁中錯誤訊息
- 不改動工具原有的查詢或計算功能

範例 / 變體

  • 填好變數:現有工具描述填 Google Sheet 讀取的庫存查詢工具、選項A的 N 填 3、選項B的分類選項填 高周轉/低周轉/滯銷
  • 變體(同時加兩種 AI 功能):把選項 A 和選項 C 都保留,在技術規格加「兩個功能各用獨立按鈕觸發,互不干擾」。
  • 變體(加快取省費用):在技術規格加「同樣的輸入如果 5 分鐘內重複點擊,直接用上次的 AI 結果不重新呼叫 API」,適合 demo 環境避免 quota 消耗太快。

🎯 範例輸出(實測)

Gemini 跑這句、把 {{描述現有工具}} 填成「一個 Google Sheet 讀取的庫存查詢工具,可以搜尋和篩選產品」、{{分類選項}} 填成「高周轉/低周轉/滯銷」的結果:

點開看 AI 實際輸出

AI 選擇了選項 A — AI 摘要分析,並在原有庫存查詢工具下方追加以下實作:

text
<!-- 在工具底部追加的 AI 摘要區塊 -->
<div id="ai-summary-section" style="margin-top:24px; padding:16px; border:1px solid #e0e0e0; border-radius:8px;">
  <button id="btn-ai-summary" onclick="runAiSummary()">🤖 AI 摘要分析</button>
  <div id="ai-loading" style="display:none;">分析中,請稍候...</div>
  <div id="ai-result" style="display:none; white-space:pre-line;"></div>
</div>

呼叫 Gemini API 的核心邏輯(繁中註解):

text
async function runAiSummary() {
  // 取得目前篩選後的資料列
  const rows = getFilteredRows();
  const prompt = `以下是目前庫存篩選結果(共 ${rows.length} 筆):
${JSON.stringify(rows, null, 2)}

請用繁體中文條列 3 個重點洞察:
1. 庫存異常(數量為 0 或低於安全庫存)
2. 最高與最低定價品項
3. 各分類的品項數分布`;

  document.getElementById('ai-loading').style.display = 'block';
  try {
    const res = await fetch('https://generativelanguage.googleapis.com/v1beta/models/gemini-pro:generateContent?key=' + API_KEY, {
      method: 'POST',
      headers: {'Content-Type': 'application/json'},
      body: JSON.stringify({ contents: [{ parts: [{ text: prompt }] }] })
    });
    const data = await res.json();
    document.getElementById('ai-result').innerText = data.candidates[0].content.parts[0].text;
    document.getElementById('ai-result').style.display = 'block';
  } catch(e) {
    document.getElementById('ai-result').innerText = '⚠️ AI 分析暫時無法使用,請稍後再試';
    document.getElementById('ai-result').style.display = 'block';
  } finally {
    document.getElementById('ai-loading').style.display = 'none';
  }
}

AI 摘要分析範例輸出:

  1. 庫存異常:「防靜電袋 A4」庫存為 0,「導電泡棉 10mm」低於安全庫存(現存 3,最低需 10),建議優先補貨。
  2. 定價區間:最高定價「精密螺絲套組」每套 $2,380,最低「標籤貼紙 A4」每包 $45,價差 52 倍。
  3. 分類分布:包裝材料 12 項(42%)、五金零件 9 項(32%)、文具耗材 7 項(25%),包裝材料為庫存主力。

💡 實測心得:把「目前篩選結果」動態帶入 prompt 是這道指令的關鍵——讓 AI 每次分析的是當下畫面的資料,而非所有資料,輸出才有針對性。Loading 狀態和錯誤訊息的繁中顯示也要確保在 prompt 裡明確要求,否則 AI 容易給英文預設值。

延伸

你有沒有遇過這種情況?工具 demo 時老闆說「不錯但就是個查詢」,但加了 AI 分析按鈕之後變成「這個很有價值」?AI 功能的切入點不是越多越好,選一個最能說明業務價值的場景(例:庫存異常摘要比「什麼都分析」更有說服力)。如果想讓工具更完整,可以再搭配「Gemini System Prompt 角色設定」來讓 AI 回應更一致。

依場景分類 · 一鍵複製 · 持續擴充