讓模組抽象化,AI 可以換 prompt 也能換模型,加上安全性的防護。
抽象就是不要把細節全部綁死,給未來更多自由。但做這些的時候,也要注意安全,像是資料不能亂用、權限要分清楚。
我有一個能換拼圖的盒子(抽象的框),可以放恐龍或太空拼圖。
我也允許我的朋友也來換拼圖放進去。
但為了安全,我規定朋友們只能在「放拼圖」的格子裡擺,不能拆開盒子後面機關或打開鎖。
這樣一來,既保留彈性,也保護了盒子不被破壞。
寫程式時,不只要做抽象,還要設計安全規則。
比如在 AI 應用中,可能有以下安全考量:
範例程式(JavaScript 加安全檢查):
// 抽象 AI 插座,加上一層安全檢查
function askAI(model, prompt, userRole) {
// 安全檢查:只有某些角色可以使用這功能
if (userRole !== "admin" && userRole !== "user") {
throw new Error("你沒有使用 AI 的權限");
}
// 安全檢查:prompt 不能包含禁止字串(比如「刪除資料」等危險操作)
const forbidden = ["刪除資料", "偷資料", "破解系統"];
for (let bad of forbidden) {
if (prompt.includes(bad)) {
throw new Error("你的提示含有不安全文字");
}
}
// 最後才呼叫模型
return model.reply(prompt);
}
// 模型 A 與 模型 B
const modelA = {
reply: (q) => "模型A 回答:" + q
};
const modelB = {
reply: (q) => "模型B 回答:" + q
};
// 範例使用
console.log( askAI(modelA, "你好嗎?", "user") );
// 模型A 回答:你好嗎?
console.log( askAI(modelB, "我要刪除資料", "user") );
// → 錯誤:提示有不安全文字
這樣做的好處是:
模型可以自由替換(抽象性)
又加了一層安全檢查,避免錯誤或惡意操作
抽象性讓系統彈性強,可以換模型、換 prompt;
但安全性就像加鎖和門禁,確保不被亂用、不洩密、不出錯。
如果我設計一個能換角色的遊戲,要怎麼在讓玩家自由換角色的同時,防止有人作弊或用外掛?
我要加什麼安全機制?