跳到主要內容

發表文章

目前顯示的是有「engineer」標籤的文章

從副駕駛到飛行員:AI 程式碼生成與提示工程完整指南

整理一下與總結重點介紹在軟體開發中使用 AI 程式碼生成和提示工程的主要主題、重要概念和實用建議。 主要主題 因為太多資料都在描述不同的方向,這邊描述對於 vibe coding 和 prompt engineering 的過程中給予大家的方向,主要圍繞以下幾個核心主題: Prompt engineering 重要性 : 強調精心設計的提示對於從 AI 模型獲得高品質、相關和可操作程式碼輸出的關鍵作用。 AI 輔助開發工作流程 : 概述了軟體工程師如何將 AI 工具無縫整合到他們的日常開發任務中,從綠地專案到現有程式碼庫的增量修改。 程式碼生成與 Vibe Coding : 定義並區分了 AI 程式碼生成中的不同參與程度,從 AI 作為「副駕駛」到「Vibe Coding」中的 AI 作為「飛行員」。 最佳實踐與技巧 : 提供了一系列實用的策略,用於優化與 AI 模型的互動,包括情境提供、任務分解、錯誤處理和程式碼審查。 工具與資源 : 列出了當前市場上可用的各種 AI 程式碼生成工具,以及有影響力的開發人員和額外學習資源。 挑戰與考量 : 討論了使用 AI 程式碼生成時的潛在陷阱,例如幻覺、速率限制、上下文管理以及協作工作流程的缺乏。 核心概念與事實 1. 提示工程的重要性與基礎 定義 : 提示工程被定義為從 AI 編碼助手獲取最佳輸出的關鍵技能,因為「AI 的輸出品質在很大程度上取決於您提供的提示品質。」 (Addy Osmani, "The Prompt Engineering Playbook for Programmers")。 連續改進 : 提示工程是一個持續改進的迭代過程。「提示工程是關於持續改進。您需要建立和測試不同的提示,分析和記錄結果,根據模型的表現調整您的提示,並不斷實驗,直到您獲得所需的結果。」 (Lee Boonstra, "Documenting Your Prompts a Best Practice for Success")。 文件記錄 : 記錄提示被認為是「絕對的救命稻草」 (Lee Boonstra)。建議使用工具(如 Google Sheet)追蹤提示及其輸出、模型版本和設定。「這樣,當您需要重新審視舊工作、測試提示在新模型版本上的表現或解決問...

淺談 AI 落地到底有多難 - 以 OpenAI ChatGPT 為例

在 目前待領的團隊 ,小弟有幸 參與到 AI 落地的過程 ,之前也參與過幾次 AI 服務導入的和製作出 AI 產品應用的經驗,這邊就提出些簡單分享,跟大家說說,為何 AI 落地有這麼難 ChatGPT 幾乎成為這幾天大家刷版面的資訊,官方網站其實有提到 Chat-GPT 的參考模式是怎麼進行的,也有提供相關的論文參考, https://openai.com/blog/chatgpt/ ChatGPT 幾乎成為現象級的影響 如果你還沒試用過,我建議你真的玩玩看, https://chat.openai.com/chat 在 AI 落地的階段,有許多工程的過程,還有許多現實需要面對,而這煉成的過程都很容易導致 AI 落地失敗, 更不用說像是 ChatGPT 這種十年磨一劍的應用服務,為什麼驚艷, 中英文,簡中繁中等均能 80% 的機率識別問題及主題對話 回應內容,英文的部分不意外的通順,簡中繁中的部分有些詞語是有做過調整的,這實屬難得。 對於資料上下文關聯度,以及變化形式在主題式的發展下均能有效地回應且呈現。 呈現格式可以以『摘要、表格、條列』等方式進行規劃,同時也可以對文字內容進行一定程度的擴張和收斂。 而要做到這些事情,除了大家所熟知的需要不斷的生成模型,訓練模型,不同的模型疊加上去之外。 同時最難也是最複雜的部分, 『資料工程的處理』 AI 工程的開始 在我們使用任何一套 AI 框架 Tensorflow / pytorch 之後,無一例外地就會以特定問題解決方案,開始採用不同的現成 Model 進行驗證,在一開始對於初始的 example data / init data 都會有不錯的反應。 接下來問題開始... 當我們天馬行空的,不斷將例外,將特定領域情境涵蓋進去的時候,你就會發現這 model 的準確率下降,接下來就是一連串調整參數的開始, 或者是開始進行特例發想的部分,哪些資料是需要踢除的,哪些項目是需要先排開的,哪些資料是對於訓練本身是有影響的,在這個過程中就已經進入 data engineering 的環節中。 source from 資料科學家的工作日常 資料工程的處理 大家所想像的,在建立模型的時候似乎就是不斷地調參數,不斷的運作程式,但在這之前,有 『好多好多好多好多』...