Skip to main content

AFS Mycoder

under construction

The English version of this document is under construction and will be available soon.

AFS MyCoder 是整合 Coding LLM 的 AI 輔助開發工具,可為開發人員提供即時的程式設計協助,包括編輯或產生程式碼、解釋程式碼、產生註解、除錯及單元測試等,並支援主流的程式語言如 Python、C、Java、PHP、TypeScript(JavaScript)、C# 和 Bash。


服務架構

企業專案版 (Personalized)

AFS MyCoder 企業專案版包含專案管理平台與開發編輯環境插件,並搭配 AFS 生成式語言模型。

  1. 開發編輯環境插件
  • 支持Visual Studio Code 以及 JetBrains IDEs。
  • 搭配AFS MyCoder專用API,支援在IDE使用Agent功能。
  1. AFS生成式語言模型
  • AFS ModelSpace提供各式FFM及主流開源模型部署服務。
  • AFS Platform + Cloud 提供模型優化及部署服務。
  • 可以分別設定不同功能所需的模型。
  1. AFS MyCoder專案管理平台
  • 為具備專案、帳號與程式庫管理功能以及 IDE 串整資訊的平台。
  • 提供專案與使用者權限控管以及程式庫測試介面。
  • 設定模型並取得 AFS MyCoder 專屬 API。
  • 建立企業私有或開源程式庫,利用RAG獲得客製化的 AI 生成結果。

IDE 插件版 (Basic)

AFS MyCoder IDE 插件版不包含專案管理平台,無法建立企業私有或開源程式庫,不支援 RAG 與 IDE 插件的 Agent 功能。 AFS MyCoder IDE 插件版操作說明請參考此份文件


核心功能

AFS MyCoder 最主要的兩大核心功能是 AI Chat 以及 AI Code Generation

AI Chat

使用者可將註冊的程式庫整合到開發編輯環境,透過聊天介面向AI問答與對話滿足開發相關的需求情境,例如生成程式、生成函式、生成測試、優化程式碼、修正程式碼或程式碼語言轉換等。搭配企業或開源程式庫,透過 RAG相關機制,即時參考程式庫資料以獲得更精準的 AI 生成結果。

IDE 插件版 企業專案版
串接 AFS 生成式 AI 模型的 API V V
在開發編輯環境使用 AI Chat V V
企業級專案與使用者管理平台 X V
建立與管理企業或開源程式庫 X V
支援專案層級程式語言模型設定 X V
利用 RAG 生成更精準且客製化的結果 X V
在開發編輯環境利用 Agent 呼叫程式庫 X V

AI Code Generation

使用者可以在開發編輯環境上,透過撰寫程式碼的需求情境,取得程式語言模型根據上下文理解而即時生成的最佳程式碼建議,例如提供函式名稱或註解說明,讓 AI 提供實作內容;提供一個 Class 開頭,讓 AI 提供正確的 init 架構內容。企業專案版可以搭配訓練微調的程式語言模型,可以獲得更精準的生成程式碼。

IDE 插件版 企業專案版
串接 AFS 生成式 AI 模型的 API V V
生成程式碼建議 V V
自訂程式碼上下文的參考範圍 V V
支援多組程式碼建議 V V
訓練微調程式語言模型 X V
支援企業或開源程式庫前處理 X V
生成精準且客製化的程式碼建議 X V

使用者角色權限

角色權限
系統管理員1. 新增使用者
2. 管理所有使用者帳號密碼與權限
3. 管理所有專案與所屬成員
4. 設定專案模型來源
專案管理員1. 新增系統管理員已建立的使用者至專案
2. 編輯所在專案的成員權限
3. 查看並存取所在專案的所有程式庫
4. 設定所在專案模型來源
一般使用者1. 更改自已帳號的密碼
2. 管理自已註冊的程式庫
3. 測試自己註冊或被分享的程式庫

系統管理員

  • 專案管理
    • 新增專案:設定專案名稱與模型來源、選擇專案成員
    • 編輯專案:設定模型來源
    • 刪除專案

  • 使用者管理
    • 新增使用者
      • 若有串接企業 AD,可以透過帳號或email 清單(逗號隔開) 的方式填寫,並快速經比對後批次加入系統中。
      • 若無串接企業 AD,請逐一新增所需的帳號與預設密碼。
    • 更改密碼
    • 編輯權限
    • 刪除使用者

專案管理員

  • 專案管理
  • 成員管理
    • 新增成員
      • 可以將系統管理員已建立的使用者加入專案。
      • 可以透過帳號或email清單(逗號隔開) 的方式填寫,並快速經比對後批次加入專案中。
    • 編輯權限
    • 刪除成員

  • 程式庫管理
    • 新增程式庫
    • 查看、測試、編輯、同步程式庫
    • 刪除專案內所有程式庫
      • 若非本人建立的程式庫,編輯模式只支援更改名稱以及選擇成員

一般使用者

  • 程式庫管理
    • 新增程式庫
    • 查看、測試、編輯、同步程式庫
    • 刪除專案內自已建立的程式庫
    • 退出專案內其他成員分享給自己的程式庫

設定專案模型來源

AFS MyCoder 可以搭配 AFS 大語言模型生成結果,此處以 AFS ModelSpace 公用模式為範例, AFS模型名稱可參考 AFS 可用模型列表。 設定完成後可以點選驗證,確認 API 資訊是否有誤。

注意事項

驗證的動作會進行 API Request,可能會產生少量 token 的花費。

  • Chat 模型:AI Chat 採用Chat模型來源提供 AI 問答輔助。
  • Infilling 模型:AI Code Generation採用Infilling模型來源提供 AI 生成輔助。
  • Embedding 模型:RAG 機制採用Embedding模型來源提供最佳的向量化資訊與相似度比對結果。
  • Rerank 模型:RAG 機制採用Rerank模型來源提供相關性資訊排序結果供大語言模型參考。
API URL https://api-ams.twcc.ai/api/
API Key AFS ModelSpace 公用模式專屬 API Key
Chat 模型 建議選用 meta-llama3.3-70b-inst-32k
Infilling 模型 建議選用 qwen2.5-coder-7b-32k
Embedding 模型 建議選用 jina-embeddings-v2-base-code
Rerank 模型 建議選用 bge-reranker-v2-m3

AFS MyCoder 專案管理平台

透過帳號密碼登入 AFS MyCoder 平台。

登入 AFS MyCoder 平台後,若已有所屬專案則可看見使用者介面;若無,請向系統管理員或專案管理員提出請求。
AFS MyCoder 平台主要包含以下功能:

  • 上方導覽列(由左至右)

    • LOGO 圖示:回到首頁的 MyCoder Chat 畫面
    • 專案下拉選單:點擊後可以查看或切換不同的所屬專案
    • 設定圖示:可以切換深淺背景模式
    • 語系圖示:可以切換中文或英文語系
    • 帳號資訊:
      • 系統管理員:可以選擇平台管理進行操作
      • 專案管理員:可以選擇專案管理進行操作
      • 一般使用者:可以更改密碼或登出
  • 左方功能列(由上至下)

    • MyCoder Chat:可以測試AI Chat 的對話結果
    • 程式庫:可以新增企業私有或開源程式庫,以及管理註冊的程式庫
    • IDE 串整
      • IDE 延伸模組:提供 Visual Studio Code 以及 JetBrains IDEs 的下載方式
      • IDE 串整資訊:取得AFS MyCoder URL 與 MyCoder API Key,可於 IDE 延伸模組中進行設定
    • 使用文件:提供 AFS MyCoder 的操作說明與常見問題資訊

MyCoder Chat

  1. 新對話:清除對話紀錄,重新再開啟對話。

  2. 程式庫選單:

    • 若沒選取任何程式庫,AI Chat會回答未經RAG機制生成的結果。
    • 點選程式庫下拉選單可選取一個或多個可測試的程式庫,則會根據所選的程式庫給予最適當的指引與實作建議。
    • 點選右方的 + 圖示,可跳轉到程式庫管理進行程式庫的新增、查看與管理
    • 根據需求情境與 AFS MyCoder 進行問答,例如編寫函式、優化程式碼、轉換程式語言、修正錯誤、生成測試等。
    • 建議補充足夠的資訊,可以獲得更完整的 AI 回答,例如指定的程式語言或參考的程式碼片段。
  3. 對話欄:輸入問答的內容按下 Enter 或點選右下角的箭頭圖示即可送出並取得回覆。點選右下角的 可以透過語音輸入問答內容,並轉為文字送出。

程式庫

進入程式庫管理頁面後,可以新增、測試以及查看程式庫,並可對程式庫進行相關管理的操作。

  1. 新增程式庫
名稱 只可輸入英文、數字、連字號、底線,開頭及結尾需為英文或數字,且名稱不可重複。
描述 請輸入對程式庫的描述。
來源 目前支援 GitHubGitLabGerrit
Personal Access Token 若為PUBLIC的公開程式庫,不用填寫此項;反之,根據不同的程式庫來源,會需要對應的權限金鑰存取程式庫。
  • GitHub: Personal access tokens
  • GitLab: Personal access tokens
  • Gerrit: HTTP Password
  • URL 請根據程式庫來源,填寫 HTTPS 的複製路徑,例如: https://github.com/abc/def.git
    Branch 請輸入欲註冊的 Branch 名稱,例如: mastermain
    路徑 指定程式庫路徑,可針對特定目錄下的程式庫註冊,例如: src/tools/example
    程式碼語言 由於不同程式語言的函式與用法各有差異,每個程式庫僅能選擇一種程式語言。若需選擇多種程式語言、請另新增程式庫。目前支援的程式語言如下:C/C++、Python、Golang、TypeScript、JavaScript、Java、C#。
    成員 若欲共享程式庫,可點選選擇成員,並勾選想要分享此程式庫的成員。
    1. 程式庫狀態
    • in-processing:正在進行註冊,請耐心等待。
    • ok:註冊成功,可以開始進行問答或測試。
    • failed:註冊過程有問題,可以移到狀態上方查看錯誤的訊息以及 Error Code 資訊。
    Error Code名稱說明
    10000LOAD_REPO_ERROR無法存取指定的程式庫,請重複確認設定資訊。
    10001NO_DOCUMENTATION可以正常存取指定的程式庫,但符合設定條件的檔案數量為零,請重複確認設定資訊。
    10002EMBEDDING_UNAUTHORIZED無法存取 Embedding 模型來源,請重複確認 API 金鑰資訊。
    10003EMBEDDING_CONNECTION_FAILED無法存取 Embedding 模型來源,請重複確認名稱資訊。
    10004EMBEDDING_MODEL_NOT_FOUND無法存取 Embedding 模型來源,請重複確認 URL 資訊。
    10005EMBEDDING_UNEXPECTED_ERROR可以存取 Embedding 模型來源,但過程中遇到非預期錯誤,請稍後再試或連繫客服。
    10006INDEX_UNEXPECTED_ERROR建立程式庫索引的過程中遇到非預期錯誤,請稍後再試或連繫客服。
    10007DELETE_REPO_NOT_FOUND欲刪除的程式庫已不存在,請重複確認程式庫是否仍存在或連繫客服。
    10008DELETE_UNEXPECTED_ERROR刪除程式庫的過程中遇到非預期錯誤,請稍後再試或連繫客服。
    1. 程式庫管理:
    • 對話:程式庫狀態顯示 ok 之後,即可在MyCoder Chat的程式庫選單選取。
    • 編輯:程式庫的建立者可以再進行編輯,編輯完成後狀態就會重新變成 in-processing。
    • 同步程式庫:點擊後可立即重新同步程式庫中的設定資訊,通常用於遠端程式庫持續有程式碼更新的情境。
    • 刪除:程式庫的建立者可以將程式庫刪除,程式庫會一併從被分享者的清單上移除。
    • 複製 ID:若與客服反映問題期間,需要索取程式庫的細節 ID 資訊,可透過此功能取得。

    IDE 串整

    IDE 延伸模組

    下載 AFS MyCoder Extention 並安裝在 IDE,解鎖 AFS MyCoder 完整體驗。

    IDE 串整資訊

    AFS MyCoder 提供兩個資訊:MyCoder URL 以及 MyCoder API KEY,讓使用者串整到 IDE Editor Extension 設定之中。串整後在 IDE 上的 AI Chat 以及 AI Code Generation 都可以透過所屬專案的模型來源設定,獲得精準的 AI 回答。

    1. 複製該專案的 MyCoder URL
    2. 建立 MyCoder API KEY
    • 輸入 API 金鑰名稱,點選建立後即可下載 txt 檔。
    • txt 檔中記錄 API KEY,請妥善保管。
    注意事項

    每個金鑰 txt 檔只能下載一次,不慎遺失或有外洩疑慮,請將舊金鑰刪除並重建新的一組。


    安裝 IDE Editor Extension

    安裝 Visual Studio Code Extension

    • 請點選 Extension 右方的 圖示,並點選 Extension Settings

    • 請透過 AFS MyCoder 專案管理平台的 IDE 串整資訊取得 MyCoder URL 與 MyCoder API KEY。
    設定項目填寫資訊
    AFS MyCoder URLIDE 串整資訊 > MyCoder URL
    AFS MyCoder API KeyIDE 串整資訊 > MyCoder API KEY
    • 設定完成後,請點擊右下方的狀態列的 AFS MyCoder: N.A. 提示,狀態變成 AFS MyCoder: ON,即可開始使用。

    • AFS MyCoder - Visual Studio Code 快捷鍵
      • 以下為 AFS MyCoder 在 Windows 環境中的常用快捷鍵,若使用 Mac OS,請將 Alt 換成 Option

        快捷鍵功能
        Alt+,啟動 Chat 視窗
        Alt + .啟動自動生成程式碼建議功能
        Tab接受建議的程式碼
        Alt + [下一個建議
        Alt + ]上一個建議
      • 若欲自訂快捷鍵,請參照 IDE 的官方指引進行更改。

    安裝 JetBrains IDEs Plugin

    • 此處以 Intellij IDEA 為例,請安裝 Intellij IDEA 2024.2.4 或更新版本

    • 開啟 Intellij IDEA 後, 點擊側邊欄或者 Settings 中的 Plugins,接著點擊 Marketplace,搜尋 AFS MyCoder 並安裝。

    • 點擊側邊欄的 Customize 後進入 All settings,並搜尋 AFS Plugin Settings

    • 請透過 AFS MyCoder 專案管理平台的 IDE 串整資訊取得 MyCoder URL與 MyCoder API KEY。
    設定項目填寫資訊
    AFS MyCoder URLIDE 串整資訊 > MyCoder URL
    AFS MyCoder API KeyIDE 串整資訊 > MyCoder API KEY
    • AFS MyCoder - JetBrains IDEs 快捷鍵
      • 以下為 AFS MyCoder 在 Windows 環境中的常用快捷鍵,若使用 Mac OS,請將 Alt 換成 Option
    快捷鍵功能
    Alt+,啟動 Chat 視窗
    Alt + .啟動自動生成程式碼建議功能
    Tab接受建議的程式碼
    Alt + [下一個建議
    Alt + ]上一個建議
    • 若欲自訂快捷鍵,請參照 IDE 的官方指引進行更改。
    tip

    若使用 Android Studio,預設沒有啟用 Chat 畫面的支援。請務必額外進行以下設定並支援 JCEF browser 功能後,才能啟用 Chat Service。

    請展開查看額外的設定步驟
    1. 點擊 Help > Find Action…
    2. 輸入 Choose Boot Java Runtime for the IDE…
    3. 點擊 New 下拉選單並選取對應的 runtime
      • Linux 版
        請選擇最新的 JetBrains Runtime JBR with JCEF (bundled by default)
      • Windows & MacOS 版
        目前已知只有 Koala - Canary 4 版本能夠支援,並請選擇 17.0.10b1207.14 JetBrains Runtime JBRSDK with JCEF
    4. 完成後需重啟 Android Studio

    AI Chat

    使用 AI Chat 可以根據開發上的需求情境與 AFS MyCoder 進行問答或請教,例如協助程式碼撰寫、解釋或優化程式碼、轉換程式語言、除錯、產生文件或產生測試等。 以下內容以 Visual Studio Code 示範

    Chat 視窗直接問答

    • 點擊左側方欄的 AFS MyCoder 圖示可顯示/隱藏 Chat 視窗。按下快捷鍵 Alt + , 可快速啟動 AFS MyCoder Chat 對話視窗。

    • 在訊息框輸入情境需求的提示,AFS MyCoder 會產生對應需求的回答。使用者可以根據回答內容決定是否套用、重新調整提問或重新生成。
    圖示圖示說明
    若回答包含範例程式碼,點擊程式碼範例右上角的 Copy 圖示,可將程式碼範例複製。
    若回答包含範例程式碼,點擊程式碼範例右上角的 Insert at Cursor 圖示,可將程式碼範例自動插入至正在編輯文件的游標所在處。
    AFS MyCoder 正在回答期間,點擊右下角的 Stop generating 按鈕,可立即中止回答。
    點擊右下角的 Regenerate 按鈕,可重新生成回答。
    點擊右上角的 New Session 按鈕,可開啟新的對話。
    滑鼠移動到曾送出過的提示文字後,點擊浮現的 Edit 按鈕,可重新編輯提式文字並重新送出。
    • 案例:程式碼撰寫

    標記程式碼問答

    • 在編寫程式碼的區域中,可以任意標記一段程式碼區塊,並針對區塊內容進行專注的問答。一種方式是任意的對標記區塊輸入提示需求,另一種方式是透過右鍵點擊 AFS MyCoder 內建的問答情境。

    • 內建的問答情境
    標記程式碼的問答情境說明
    Chat with AFS MyCoder針對標記區塊任意輸入提示需求。
    Explain This請求針對標記區塊提供說明解釋。
    Fix This請求針對標記區塊提供修正後的程式碼或者解法說明。
    Generate Docs請求針對標記區塊提供適合的 docstrings 或 comments 等。
    Generate Tests請求針對標記區塊提供測試腳本的範例程式碼。
    Refactor This請求針對標記區塊提供優化過的範例程式碼。
    • 案例:除錯

    • 案例:產生測試


    使用 Agent 呼叫程式庫

    • 在 IDE 的 Chat 對話視窗中輸入 @ 開頭,點選 @doc 後可看到所有的註冊程式庫選單。

    • 選擇一個或多個目標程式庫後,按下 Enter 即可開始進行問答。

    • AI Chat 快捷鍵
    快捷鍵說明
    Up Arrow + Enter在程式庫清單向上逐一切換目標,Enter 確定選用。
    Down Arrow + Enter在程式庫清單向下逐一切換目標,Enter 確定選用。
    Space + Enter若欲選擇數個程式庫,Space 可以勾選數個目標,Enter 確定選用。

    AI Code Generation

    • 自動模式:當編寫程式碼時,模型會自動產生上下文感知的即時建議,若欲接受整行建議可按下快捷鍵 Tab 接受。

    • 手動模式:點擊 Alt + . 可啟動程式碼建議功能(灰色),產生一至數個建議的程式碼片段(預設為兩個)。使用快捷鍵 Alt + [ 或 Alt + ] 可快速切換下一個或上一個建議。

    • 模型會根據使用情境、程式語言及檔案格式自動產生符合需求的程式碼。


    常見問題

    1. 服務無法使用

    • 如果遇到系統或設定發生錯誤,在狀態列會顯示相關的錯誤提示,請依照提示檢查 Extension Settings 中的 API KEY、API URL、模型設定等資訊是否正確,網路連線及服務是否正常。

    2. AI Chat 對話紀錄太長,無法顯示完整回覆

    • 當對話紀錄太長,無法顯示完整回覆時
      • 可將 Chat Api Output Max Tokens 數字調小,再 Regenerate 一次 AI 回答。
      • 若仍然超過模型可接受的長度限制,請點擊 Chat 視窗右上角的 New Session 圖示開啟新的對話,再試一次。

    3. 如何調整 AI Code Generation 上下文感知的範圍

    • 若欲調整上下文感知的範圍,可調整 Lookup Context Line 的數值,此數值代表向上以及向下各自參考多少列數。

    4. 如何調整AI Code Generation提供的程式碼建議組數

    • 若欲調整預設提供的程式碼建議組數,可調整 Manual Suggestions Count 的數值,此數值即代表一次性取得幾組 AI Code Generation,可以設置 1~5 之間的數值。