SOLID 五個小規則進度條,現在來到 L。
L (LSP):里氏替換原則
就像玩積木,你可以換掉一塊積木,城堡還是能站得好好的。
也像什麼?
想像麵包超人。
他最厲害的地方是:頭壞掉或變髒了,廚師會烤一個新的麵包頭給他。
換掉舊頭,新頭還能讓他飛、幫助大家、打壞人。
不需要改變身體,不需要重學動作。
因為「麵包頭」都有遵守同樣的規則:能呼吸、能說話、能微笑。
只要新零件(新腦袋、新頭)符合舊的規則,就可以直接替換,系統(麵包超人)就能正常運作。
想像有一個「萬能 AI 機器人」,它的身體很厲害,但最重要的是「腦袋」。
一開始,它裝的是 規則腦袋,只會照規則一步一步做事。
後來,我們幫它換成 神經網路腦袋,會自己學習,變得更聰明。
不管換哪一顆腦袋,只要腦袋會遵守「機器人需要的基本規則」,
機器人就能正常走路、說話、工作,甚至變得更強!
現在我們有 openai 的腦袋,也想要有 genai 的腦袋。
關於在 AI 寫程式中的小經驗。
import { GoogleGenAI } from "@google/genai";
const ai = new GoogleGenAI({ apiKey: process.env.GOOGLE_API_KEY });
async function main() {
try {
const response = await ai.models.generateContent({
model: "gemini-2.5-flash",
contents: "用國中生懂得方式解釋 LSP 里氏替換 ( AI 可以換腦袋) 原則。",
});
console.log(response.text ?? JSON.stringify(response, null, 2));
} catch (err) {
console.error("Error:", err?.message ?? err);
process.exitCode = 1;
}
}
main();
怎麼快速切換不同的模型呢?
功能要設計在後端程式還是前端程式呢?
如何評估跟控制 AI 的使用量呢?