白話找詞
有時候 AI coding 的差距,是你根本不知道那個英文關鍵字叫什麼 — 連問 AI 都問不對。用白話描述你想做的事,找出該搜的技術詞,還告訴你怎麼跟 AI 講。
知道想做什麼、但不知道那個英文關鍵字叫什麼?用白話描述,幫你找出該搜的技術詞,還告訴你怎麼跟 AI(Claude Code / Cursor / Copilot)講。
我把一整本長文檔丟給 AI,它要嘛報錯說太長、要嘛回答時好像「忘了」前面講過的內容。對話一長它也開始前後兜不起來。我不知道這個「一次能塞多少進去」的上限叫什麼。
我想做「語意搜尋」——使用者打「退費」也要搜得到寫成「退款」「退錢」的文章,不是只比對字面有沒有一模一樣。我不知道這種「意思相近就算命中」的搜尋技術叫什麼。
我想讓 AI 不只是聊天,而是能「真的去做事」——查我的資料庫、呼叫天氣 API、寄一封信。但 AI 本身不會連我的系統,我不知道怎麼讓它「決定要呼叫哪個功能、給什麼參數」。
我想做一個 AI 問答機器人,要它根據我自己的文件(公司手冊、PDF、客服資料)來回答,而不是它亂編。但我不知道怎麼讓 AI「讀我的資料」,總不能每次都把整份文件貼進去。
我要用程式接 AI 的回答,但它每次格式都不一樣——有時多一句廢話、有時 JSON 少個括號,害我程式 parse 到一半就壞。我想要它「每次都只吐我規定好的固定格式」,但不知道這要怎麼要求。
我希望 AI 全程都維持某個角色、口氣和規則(例如「你是繁中客服、不准講競品、回答要簡短」),但我每次對話都要重貼一遍很煩,而且講到後面它又跑掉。不知道這種「設定好就一直生效」的指令放哪。
我的前端網頁去呼叫 API,瀏覽器 console 跳紅字說被擋住、有個 Access-Control-Allow-Origin 之類的錯誤,但我用 Postman 或 curl 測同一支 API 卻好好的,到底是哪裡卡住
我的列表資料很多要分頁載入,但一邊滑一邊有新資料插進來,結果換頁時出現重複或漏掉某幾筆;或者用「第幾頁」去翻很後面時越來越慢
只要某個第三方服務(金流、推薦、地圖、AI)一掛掉或變慢,我整個網站就跟著爆掉白畫面;我希望「某個非核心功能壞了,至少網站主體還能用,而不是整個垮」
使用者付款時手抖點兩下、或網路逾時重送,結果被扣了兩次款 / 建立了兩筆一樣的訂單;我想確保「同一個操作就算被送很多次,也只會真的執行一次」
我想防止有人狂按、狂打我的 API,或一支 script 一秒鐘戳我幾百次把伺服器或我付費的第三方額度打爆,想讓「同一個人在一段時間內只能呼叫幾次」
我希望「別人那邊一發生某件事,我的系統就立刻知道」——例如有人付款成功、表單被填了、訂單狀態變了,我不想自己每隔幾秒去問一次「好了沒?好了沒?」
我在 React 寫表單,想即時拿到使用者打的字、或想在送出前先驗證 / 限制只能打數字 / 即時顯示字數,但搞不清楚到底該用 value 還是 defaultValue,有時還跳「input 從 uncontrolled 變 controlled」的警告。
我用 Next.js / SSR,頁面一打開內容先出來、但按鈕點了沒反應,要等個半秒一秒才能互動;有時 console 還跳「內容對不起來」的警告,畫面閃一下。我想知道這個「伺服器先給靜態 HTML、再讓 JS 接手變可互動」的過程叫什麼。
我的清單有上千、上萬筆資料,一次全部渲染出來頁面就超卡、捲動一頓一頓、甚至瀏覽器快掛掉。我想要只畫出「目前螢幕看得到的那幾筆」,捲到哪畫到哪,但捲軸看起來還是完整長度。
我按愛心 / 按讚 / 加入購物車的時候,畫面要等伺服器回應才會變,整個卡卡的、要等一兩秒。我想要一按下去畫面馬上反應,像沒在等網路一樣;如果後端真的失敗了再退回去就好。
資料還在載入的時候,畫面整片空白、或只放一個轉圈圈,看起來很久、很像當掉。我想要在資料還沒來之前,先顯示一個跟最終版面長得差不多的灰色佔位框,讓人覺得快要好了。
我有一種資料會有好幾種「狀態」或「種類」(例如載入中/成功/失敗,或圓形/方形),每種帶的欄位都不一樣。我想用一個共同的標記欄位來區分,這樣 TypeScript 在 switch 裡就能自動知道每個分支該有哪些欄位、不要讓我亂存取不存在的欄位。
我的 React 網頁只要有一個小元件出錯(比如某筆資料是 null 害它爆掉),整個頁面就變一片白屏、什麼都不見了。我想讓出錯的那一塊改顯示「這裡載入失敗」之類的提示,其他正常部分繼續顯示,不要整頁掛掉。
我的程式拿到爛資料或缺參數時不會馬上報錯,而是默默繼續跑,結果錯誤到很後面才爆出來,根本看不出真正的原因在哪。我想讓它一發現不對勁就立刻清楚地報錯停下來、好抓問題。
我的權限檢查或某個外部服務(驗證、付款、風控)如果掛掉或逾時,我不知道該讓使用者「照樣通過」還是「直接擋下來」。萬一寫錯邊,可能變成出錯時誰都進得來、或出錯時全部人都被鎖在外面。
我的函式裡 if 包 if 包 if 巢狀好幾層、縮排深到看不懂,主要邏輯被埋在最裡面。我想先把「不符合條件就直接擋掉返回」的狀況寫在開頭,讓正常流程攤平、不要那麼多層巢狀。
我有個變數可能是好幾種型別(字串、null、物件…),我想先檢查它「到底是哪一種」,檢查完之後 TypeScript 就會自動知道它是那一種、讓我安全地用它的屬性,不要再一直紅字說「可能是 undefined」。
使用者登入我的網站後,我擔心他只要在別的惡意網站點個東西,那個網站就能假冒他、用他已登入的身分對我的後端送出轉帳或改密碼的請求。我不知道這種「借用別人已登入狀態」的攻擊叫什麼。
我把 API 金鑰、資料庫密碼、第三方服務的 token 直接寫死在程式碼裡,結果 push 到 GitHub 後才發現別人看得到、甚至被盜刷。我不知道這些東西「正確該放哪」、要怎麼講才對。
使用者可以在留言、暱稱、評論裡打字,然後顯示在頁面上。我擔心有人打一段 <script> 之類的東西進去,別人一打開頁面就中招、被偷 cookie 或亂跳轉,但我不知道這要怎麼處理、關鍵字叫什麼。
我給後端服務、資料庫帳號、或 API token 都開了最大的權限(什麼都能做),因為這樣最方便不會卡。但有人說萬一這把鑰匙外洩,對方就能為所欲為。我不知道「只給剛好夠用的權限」這件事叫什麼。
我把使用者在輸入框打的字直接接進資料庫查詢語句裡,有人說這樣別人可能在輸入框打一段東西就把我整個資料庫的資料偷走、甚至刪掉,但我不知道這個攻擊叫什麼、也不知道怎麼防。
我想讓使用者登入後不用每次都查資料庫驗身分,發一個「通行證」給他帶著就好;但我怕對方自己亂改通行證裡的內容(例如把自己改成管理員)。我不知道這種「帶得走又改不動」的憑證叫什麼。
我的網站圖片和靜態檔案都從自己那台主機送,國外或遠一點的使用者載得很慢,流量一大主機就吃力。我想讓檔案就近從離使用者最近的地方送出。
我的網站 JavaScript 打包成一個超大檔案,使用者一進首頁就要下載整個 app 的程式碼,開很慢。我想讓首頁只載首頁需要的那部分。
我的網頁一打開就把所有圖片、整頁內容全部載完,第一次開超慢。我只想先載使用者看得到的部分,其他等他捲到再載。
我要列出 100 篇文章和每篇的作者,結果程式先查一次文章、再對每一篇各查一次作者,總共打了 101 次資料庫。畫面一多就慢到爆,但我不知道這狀況叫什麼。
我想換掉現在用的金流/簡訊/AI 廠商,結果發現程式裡到處都直接呼叫那家的 API 名稱和格式,光是要換一家就得改幾十個地方。
我的函式裡面直接 new 一個資料庫連線、或直接呼叫某個寫死的服務,結果寫測試時根本沒辦法換成假的,每次測試都會真的去打資料庫。
我做了個新功能但還不敢全部開放,想先讓一部分人看到、或想隨時能一鍵關掉它而不用重新部署,又不想開一堆 if 寫死在程式裡。
每一支 API 我都要重複寫一次「檢查有沒有登入」「記錄這次請求」「擋掉沒權限的人」,貼來貼去好多份,想找個地方統一處理所有進來的請求。
我的某個檔案越寫越長、什麼都塞在一起:抓資料、算邏輯、又畫畫面全擠在同一個函式裡,改一個地方就怕弄壞別的,自己看了都亂。
我有個類別(或函式)名字叫 Manager、Helper、Utils,裡面塞了十幾個不相干的方法,每次需求一變這個檔案就要被改,改完還常常牽連到別的功能出 bug。
我想模擬「一個真實使用者打開網站、輸入帳密登入、加商品到購物車、結帳成功」這整段流程都會動,不只是測單一函式,而是從畫面點下去到後端整條串起來都對。
我想測一段會打第三方 API(或寄信、刷卡)的程式,但測試時不想真的去呼叫它——又慢、要網路、還可能真的扣到錢。想用一個「假的」頂替那個外部東西,並指定它該回傳什麼。
我之前修好的一個 bug 過陣子又跑出來了;或是改新功能不小心把舊功能弄壞,但沒人發現。想要每次改完程式都自動確認「以前會動的東西現在還是會動」。
我有個元件(或一段函式輸出)的內容很長,想確認「它每次產出的結果跟上次一模一樣,有變我要馬上知道」,但又懶得一個欄位一個欄位手動寫斷言。
我好幾個測試都要先準備同一批假資料(例如一個範例使用者、一筆訂單),現在每個測試都複製貼上一大段建資料的程式,又臭又長還很難維護。想把這些「測試前要準備好的東西」抽出來共用。
我每改一個地方就怕弄壞別的功能,每次都要手動點一遍 App 確認,又慢又常漏掉。想要有個東西自動幫我檢查「這個小函式算出來的結果對不對」。
團隊每個人寫的 commit 訊息都亂七八糟,有的寫「更新」有的寫「fix」,想要一套統一格式,最好還能自動生出更新日誌、自動判斷版本號要怎麼跳。
另一個分支裡有「某一個」修改我現在這邊也想要,但我不想把整個分支都合併過來,只想把那一筆 commit 單獨抓過來用。
我的分支落後主線好多 commit,想把我的修改「接到」最新的主線後面,讓提交歷史看起來乾淨、像是我從最新進度開始做的,而不是一堆 merge 混在一起。
我寫到一半、改動還沒做完不想 commit,但臨時要切去別的分支處理急事,切過去卻被擋住說有未提交的變更,我又不想把半成品丟掉。
我要發布套件或標版本,但不知道版本號該怎麼跳——什麼時候從 1.2.3 變 1.3.0、什麼時候變 2.0.0,怎樣讓別人一看就知道這次更新會不會弄壞他們的程式。
我這個功能做的過程中提交了一堆零碎的 commit,像「修錯字」「再修一下」「忘了存」,看起來很亂,想在合併前把它們併成一筆乾淨的提交。
我把「總價」「篩選後的清單」「有沒有錯誤」這種其實可以從別的資料算出來的東西,也另外存成一個變數,結果原始資料變了、這個變數忘了更新就出錯。
我直接改了陣列或物件裡的值(push、改某個欄位),但畫面完全沒更新,或是某個我以為沒動的地方莫名其妙跟著變了。
使用者按了讚或送出後,要等伺服器回應才看到畫面變化,整個卡卡的很慢;我想讓它「按下去馬上就變」,但又怕真的失敗了畫面會說謊。
我有個資料要從最上層傳到很深的子元件,結果中間每一層元件都得幫忙轉手這個 prop,明明它們自己根本用不到,改個欄位名要動一整串檔案。
同一份資料我在好幾個地方各存了一份,結果改了一個地方、別的地方沒跟著變,畫面就開始對不上,到處出現矛盾的數字。
我的資料是一坨深層巢狀的陣列裡面包物件、物件裡又包陣列,要更新其中一筆就要層層複製超痛苦,找一筆資料還得整個跑迴圈。
流量一大,我的 App 就報「too many connections」或連到資料庫變超慢甚至掛掉。感覺每次處理請求都重新連一次資料庫,連線開開關關很浪費。我想讓連線可以重複用、又不要開到爆。
我有訂單表跟使用者表,訂單裡存了使用者 id。但我發現有些訂單指到的使用者根本不存在(可能被刪掉了),變成孤兒資料。我想讓資料庫自己擋掉「指到不存在的對象」這種髒資料。
我的查詢一開始很快,資料變多以後變超慢,每次搜尋好像都要把整張表從頭翻到尾。我想讓「用某個欄位查資料」變快,但不知道該加什麼。
我想加一個新欄位、或改表格結構,但又怕直接去資料庫手動改,下次部署或別人電腦上對不起來。我想要一個「可重現、有版本、團隊每個人跑了結果都一樣」的改表方式。
我要連續改好幾個地方,例如轉帳要「A 扣錢」加「B 加錢」兩步。我怕做到一半程式掛掉,結果只扣了錢沒加到,資料就壞了。我想要這幾步「要嘛全部成功、要嘛全部當沒發生」。
我想存一筆資料:如果它已經存在就更新,沒有的話就新增。我現在的寫法是「先查有沒有、再決定 INSERT 還是 UPDATE」,但這樣兩步之間如果有人同時也在寫,就會撞在一起或重複。我想要一行搞定。
我做了一個搜尋框,使用者每打一個字就會送一次 API 查詢,一句話打下來就觸發了十幾次,又慢又浪費。我想讓它「等使用者停下來」再查,但不知道這個技術叫什麼。
我的 API 偶爾會失敗(網路抖動、對方伺服器忙、被限速 429),我想自動重試。但如果失敗了就馬上一直重試、瘋狂連打,反而把對方打得更死。我想讓「重試的間隔越來越長」,第一次等 1 秒、再來 2 秒、4 秒…不知道這招叫什麼。
使用者按「結帳」按鈕,因為網路慢沒反應就連按了三下,結果被扣三次款、建了三張訂單。或是付款的 webhook 重送,導致同一筆訂單重複處理。我想讓「同一個操作就算被執行很多次,結果也只算一次」,但不知道這個概念叫什麼。
我有一個任務在後端跑(例如 AI 生圖、檔案轉檔),要等它跑完。我想讓前端「每隔幾秒自動問一次後端:好了沒?」直到完成才停,然後更新畫面。不知道這種「定時重複去問」的做法叫什麼。
我快速切換分頁、或連點搜尋好幾次,結果畫面顯示的是「比較早送出、但比較晚回來」的那個舊結果,蓋掉了最新的。或是兩個請求同時改同一筆資料,最後存進去的值是錯的。這種「先後順序亂掉」的 bug 不知道怎麼描述。
我監聽捲動(或滑鼠移動)來做動畫效果,結果一捲動就觸發爆量、頁面卡到不行。我不要它停下來才動,而是希望它「過程中也照常更新、但別觸發那麼密」,不知道這招叫什麼。