top of page

使用人工智慧技術開發專案

13小时前
讀畢需時 4 分鐘

現在許多新的專案,開發者都會直接先向人工智慧描述需求,人工智慧會根據專案的進行初步的規劃,代理程式就會一邊尋找專案需要的技術細節,同時進行專案可行性的分析工作,數個小時之後,就能快速評估與了解可能遇到的問題。過去專案經理評估新專案的時候,先透過關鍵字或技術特徵尋找類似功能的軟體,接著逐一比較分析、研究與評估這些功能類似的軟體,了解現有功能是否可以滿足客戶的需求?然後進一步了解新的專案解決哪一些問題,必須增加了哪一些功能,提供了哪一些客製化的服務。不可否認人工智慧背後採用軟體工程的方法,試圖模仿專案經理解決問題的方法,對市場的需求狀況進行評估,然後對現有的軟體工具進行改良,滿足各種工具需求。


使用軟體增加工作效率
使用軟體增加工作效率

規劃與開發全新的專案對專案經理而言,須要了解市場的現況,知道有哪一些現有的技術可以使用?如何整合這些現有的技術?最後將技術封裝並提供一個簡單的輸入介面,產生使用者預期的結果。過去的專案需要倚賴設定檔、資料庫或任何資料結構存放資料,需要資料時就從設定檔、資料庫或任何資料結構讀取這些資料,如果這些資料無法事先決定,就必須透過人員輸入的方式提供資料,否則程式邏輯就無法繼續備執行,而人工智慧技術可以取代人員輸入的工作,就像人工智慧技術模仿專案經理收集資料評估專案一樣。雖然人工智慧的技術發展快速,但是電腦的架構卻始終沒有改變,電腦的基本運作依然離不開載入與儲存兩個動作,將資料載入到哪一個記憶體位置,將資料存放到網路、資料庫或者是檔案,只是人工智慧可以動態產生數據資料,讓程式碼可以不再等候人員輸入,直接根據已經定義好的目標產生數據資料,讓程式繼續運作。


開發專案一直以來都不是從無到有的事情,都是在既有的功能上再加上客戶需要的功能,大型開發專案的開發通常也不是由一個人獨立完成,即使是獨立的遊戲開發者,也不可能真的是一個人從開發底層的遊戲引擎開始,而是建立在特定的技術框架之上。如何拼湊這些元件與功能都要靠過去經驗的累積,而人工智慧也可以視為程式邏輯中的一個零件,是條件判斷的一個分支,可以將功能加進舊的專案中,賦予舊有的專案擁有新的能力。


def generate_description(folder: Path, ai_info: dict):
    """使用全部照片生成更完整的拍賣描述"""
    photos = get_all_photos(folder)
    prompt = f"""根據以下商品資訊和所有照片,幫我寫一段 180~280 字的繁體中文二手拍賣描述。
商品資訊:{ai_info.get('商品名稱')} / {ai_info.get('演唱者或團體')} / {ai_info.get('專輯或系列名稱')} / {ai_info.get('年份')} / {ai_info.get('版本或特殊資訊')}
請強調品相、收藏價值、細節特徵,並保持自然吸引人的語氣。不要使用 markdown。"""

    try:
        resp = ollama.chat(
            model=MODEL_NAME,
            messages=[{
                "role": "user",
                "content": prompt,
                "images": [str(p) for p in photos[:6]]  # 最多傳 6 張,避免 token 過多
            }],
            options={
                'num_keep': 0,  # 強制設為 0 避開快取衝突
                'num_ctx': 8192
            }
        )
        return resp["message"]["content"].strip()
    except:
        return f"{ai_info.get('商品名稱','')} {ai_info.get('演唱者或團體','')} {ai_info.get('專輯或系列名稱','')} {ai_info.get('年份','')}。品相良好,值得收藏。"

有一位經營一個拍賣網站的朋友,透過舊有的工具軟體,可以將拍賣商品的內容批次上架,這款工具軟體的架構是讀入設定檔的資料後,可以自動在批次將資料上架到特定的網站,可是需要有人維護這個檔案,才能為拍賣的新品上架。朋友日常的工作,除了為拍賣的商品拍照之外,還需要整理大量的拍賣商品、撰寫商品的描述、決定商品的起標價格。雖然這些工作可以外包,但是人力資源日漸稀少缺乏,很難找到志同道合可以長期合作的夥伴,昔日許多長期合作的夥伴,由於協助輸入資料,加上年紀因素,視力已經大不如前,都希望能縮短工作的時間,讓眼睛有更多休息的時間。角度數據設計了問題的方法,透過人工智慧工具的協助,協助解決問題。


上面的展示為整個程式碼的核心,實作的方式是使用本地端的人工智慧引擎,解決資料輸入的問題,當然開發者也可以選擇接上 GEMINI 或 CHATGPT 的 API ,同樣可以達到相同的效果。拍賣的商品一定需要拍照,所有買家主要是根據照片的樣貌判斷拍賣品的價值,由於照片是整個拍賣價值的關鍵,所以必須確保照片的內容與實體商品的樣貌一致,不容許透過修圖的方式變造商品的外貌。由於照片是整個商業流程重要的底線,遇到爭議需要倚賴影像作為憑據,只能從現實世界中擷取真實影像,無法使用類似商品的影像取代。核心程式碼的第一行就是取得所有照片,緊接者讓人工智慧接手,產生指定格式的資料,這些資料內容就是昔日花費大量人力資源產生的資料,視力已經大不如前的員工,拿起手機協助拍照的工作,避免長期盯著螢幕造成視覺疲勞。




當然使者可以使用各種人工智慧工具解決問題,技術的選擇永遠沒有最好,只有最符合解決問題的方法。



 
 
 

留言


熱門文章
近期文章
bottom of page