iT邦幫忙

2025 iThome 鐵人賽

DAY 8
0
Software Development

Clean Architecture 無瑕的程式碼:國中生阿吉的暑期閱讀筆記系列 第 8

Day8:LSP 里氏替換 ( 人不能,但 AI 可以換腦袋)

  • 分享至 

  • xImage
  •  

今日主題:

SOLID 五個小規則進度條,現在來到 L。

L (LSP):里氏替換原則
就像玩積木,你可以換掉一塊積木,城堡還是能站得好好的。

也像什麼?

想像麵包超人。
他最厲害的地方是:頭壞掉或變髒了,廚師會烤一個新的麵包頭給他。
換掉舊頭,新頭還能讓他飛、幫助大家、打壞人。
不需要改變身體,不需要重學動作。
因為「麵包頭」都有遵守同樣的規則:能呼吸、能說話、能微笑。
只要新零件(新腦袋、新頭)符合舊的規則,就可以直接替換,系統(麵包超人)就能正常運作。

範例故事:

想像有一個「萬能 AI 機器人」,它的身體很厲害,但最重要的是「腦袋」。
一開始,它裝的是 規則腦袋,只會照規則一步一步做事。
後來,我們幫它換成 神經網路腦袋,會自己學習,變得更聰明。
不管換哪一顆腦袋,只要腦袋會遵守「機器人需要的基本規則」,
機器人就能正常走路、說話、工作,甚至變得更強!
現在我們有 openai 的腦袋,也想要有 genai 的腦袋。

在程式中的應用是什麼?

關於在 AI 寫程式中的小經驗。

  • AI 在幫忙新增工具的時候會遇到套件版本問題,可能亂給一個版本。
  • AI 在落地程式的時候,可能會用自己不熟悉的套件或語法,可以以小實驗測試工具,或這次我用小實驗來測試 key 是不是可以用。
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();

https://ithelp.ithome.com.tw/upload/images/20250922/20107703IQO9UKmieZ.png

小結與一個思考問題:

怎麼快速切換不同的模型呢?
功能要設計在後端程式還是前端程式呢?
如何評估跟控制 AI 的使用量呢?


上一篇
Day7 :OPC 開放封閉原則 (加任務不用打掉重練)
下一篇
Day9: ISP 介面隔離 (避免「萬能神 prompt」)
系列文
Clean Architecture 無瑕的程式碼:國中生阿吉的暑期閱讀筆記9
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言