通用 AI 模型對世界所知甚多,卻對你的業務一無所知。它從未見過你的產品手冊、你的內部規範或上一季的報告。檢索增強生成(retrieval-augmented generation,RAG)正是彌合這道鴻溝的技術:它讓模型能夠使用你自己的文件來回答問題,既準確又附帶來源,而無需重新訓練模型。本指南說明 RAG 是什麼、如何運作,以及何時該使用它。 重點速覽 RAG 從你自己的內容中檢索相關片段並放入 prompt,讓模型依據你的知識作答,而不僅僅依賴其訓練資料 它的原理是把文件轉換成 embeddings,存入 vector database,並為每個問題檢索最接近的匹配 RAG 減少 hallucination 並讓你能夠引用來...
軟體開發
關於軟體開發的文章、指南和教程,為開發者和企業提供實用知識與技巧。並說明真實成本與取捨。
呼叫 OpenAI API 取得一則回覆很容易。打造一個可靠、不離題、能控制成本並在真實使用者壓力下穩定運作的 OpenAI API 聊天機器人,才是真正的工作。本指南將梳理那些把展示與能端到客戶面前的產品區分開來的架構與正式上線問題。 TL;DR 聊天機器人是一個迴圈:管理對話歷史,帶著清楚的 system prompt 送出,streaming 回覆,然後重複 system prompt 與脈絡管理對行為的決定作用遠大於模型選擇 在正式上線問題(rate limiting、錯誤處理、成本控制與 guardrails)上,多數專案投入不足 對於以知識為導向的機器人,通常正確的模式是 retrieval-augmented...
大型主機現代化很少是單一決策。它是在幾種截然不同的策略之間做選擇,每種策略都有非常不同的成本、週期與風險特徵,而正確答案取決於你的業務目標,而非技術偏好。在 replatform 已足夠時卻選擇「全部重寫」,或在真正問題是不可維護的程式碼時卻選擇「lift and shift」,正是現代化專案浪費數百萬的原因。 本指南比較主要的現代化策略、每種策略何時合理,以及如何選擇。 TL;DR 主要策略是 rehost、replatform、refactor、rearchitect/rewrite、replace 與 retire;大多數通常歸為 rehost、replatform 與 refactor/rewrite rehosting 最...
「擺脫 COBOL 要花多少錢?」是每個董事會最先提出的問題,而誠實的答案是:它取決於的因素遠不只代碼庫的規模。本指南拆解在英國真正驅動 COBOL 遷移成本的要素、切合實際的預算與時程區間,以及那些把一個規劃良好的專案變成超支的風險。 要點速覽(TL;DR) 英國中等規模的 COBOL 遷移通常花費 200,000 至 800,000 英鎊,耗時 1 至 2 年;完整的大型主機除役則高達數百萬英鎊並持續多年 成本受代碼庫複雜度、未記錄的商業邏輯以及資料存取層重新設計的影響,遠大於單純的代碼行數 目標語言和遷移方式的選擇會實質性地改變預算 專案超支最常見的原因是低估範圍,尤其是未記錄的商業規則和資料存取層 真正驅動 COBOL 遷移...
Rust 是一個日益受歡迎的 COBOL 遷移目標,適合那些希望在沒有垃圾回收器的情況下同時獲得記憶體安全與高效能的組織。對於安全關鍵型與效能敏感型系統而言,COBOL 遷移到 Rust 的保證極具說服力:整類記憶體錯誤在編譯時就被捕捉,產生的二進位檔案快速且可預測。 Rust 同時也是此清單中要求最高的目標,因為它的所有權與借用模型與 COBOL 的扁平資料模型有著根本性的不同。本指南說明 COBOL 遷移到 Rust 實際涉及什麼、英國企業可用的方法、成本如何,以及如何管理風險。 重點(TL;DR) Rust 適合記憶體安全與效能都很重要的 COBOL 遷移,沒有垃圾回收器,也沒有執行時開銷 Rust 的所有權與借用模型是決定性...
當簡潔性、快速建置與輕鬆部署比龐大的企業框架生態系更重要時,將 COBOL 遷移至 Go 是一個務實的選擇。它編譯為單一靜態二進位檔,沒有執行階段相依性,隨處可執行,其內建的並行模型天然適合將 COBOL 批次處理現代化為並行工作負載。 本指南闡述 COBOL 遷移至 Go 實際牽涉哪些內容、英國企業可採用的方法、成本幾何,以及您必須提前規劃的那一個精度問題。 摘要 Go 適合那些看重簡潔性、快速編譯、單一二進位部署與輕鬆並行,而非厚重企業框架堆疊的 COBOL 遷移 Go 沒有原生十進位型別:COBOL 壓縮十進位(COMP-3)欄位預設對應為 float64,因此金融運算需要一個十進位函式庫,...
Java 是企業 COBOL 遷移最常見的目標,其原因不難理解。它成熟、強型別、由龐大的函式庫生態系統支撐,並得到英國最深厚的開發者人才庫之一的支持。對於在 IBM 大型主機上執行關鍵 COBOL 的組織而言,COBOL 到 Java 遷移提供了一條通往現代平台的路徑,同時無須放棄這些系統所要求的企業級嚴謹性。 本指南闡述 COBOL 到 Java 遷移實際涉及哪些內容、英國企業可採用的方法、成本如何,以及如何管理風險。 摘要(TL;DR) 憑藉其成熟的生態系統、強型別和龐大的開發者庫,Java 是大型企業預設的 COBOL 遷移目標 金融精度不容妥協:COBOL 壓縮十進位(COMP-3)欄位必須對應到 Java...
COBOL 至今仍是英國銀行、保險公司、公部門機構與大型零售商所運行軟體的重要基石。這些系統大多負責處理金錢,而且許多早在今日負責維護它們的開發人員加入組織之前就已經在運行。隨著 COBOL 專業人才逐漸退出職場,現代化的壓力年年升高,而 COBOL 到 C# 遷移正是英國組織最常考慮的路徑之一。 對於已經深耕 Microsoft 技術堆疊的組織而言,運行於 .NET 上的 C# 是目前最強的遷移目標之一。它是一種現代、靜態型別、物件導向的語言,可跨平台在 .NET 8 及更高版本上運行,並且具備一項讓它特別適合 COBOL 的特性:專為精確金融運算而打造的原生 decimal 型別。 本指南說明 COBOL 到 C# 遷移實際上牽...
軟體開發生命週期(通常縮寫為SDLC)是團隊將軟體從一個想法推進到可運行、可維護產品所遵循的結構化流程。無論是開發軟體還是委託開發,理解這個流程都至關重要,因為流程的品質在很大程度上決定了結果的品質、成本和及時性。本指南清晰闡釋軟體開發生命週期:每個階段及其內容、敏捷與瀑布方法的差異、專案通常在哪裡出問題,以及良好的流程如何控制成本和風險。 重點摘要 軟體開發生命週期是規劃、建構、測試、部署和維護軟體的結構化流程 經典階段包括規劃、需求、設計、實作、測試、部署和維護 敏捷和瀑布是通過這些階段的兩種方式:迭代式與循序式 大多數軟體失敗可追溯到薄弱的早期階段,尤其是理解不清晰的需求 良好的SDLC透過在問題還容易修復時及早發現,降低風險...
什麼是網站開發?簡而言之,網站開發是建構和維護網站及網路應用程式的工作,範圍從簡單的企業宣傳頁面到像網路銀行這樣的複雜平台。如果你曾想過一個創意和一個可用網站之間究竟發生了什麼,這份初學者指南會給出清晰的說明。我們將介紹前端、後端和全端開發之間的區別、涉及的語言和工具,以及各個部分如何組合在一起,創造出你每天使用的網站和應用程式。 簡要總結 網站開發是建構和維護網站及網路應用程式的過程 分為前端(使用者看到的內容)、後端(背後的伺服器和資料)和全端(兩者兼備) 前端使用HTML、CSS和JavaScript;後端使用Python、PHP、Node.js等語言 網站開發涵蓋從簡單靜態頁面到複雜互動式網路應用程式的各類專案 委託網站開發...