AFS Mycoder
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 生成式語言模型。
- 支持Visual Studio Code 以及 JetBrains IDEs。
- 搭配AFS MyCoder專用API,支援在IDE使用Agent功能。
- AFS ModelSpace提供各式FFM及主流開源模型部署服務。
- AFS Platform + Cloud 提供模型優化及部署服務。
- 可以分別設定不同功能所需的模型。
- 為具備專案、帳號與程式庫管理功能以及 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
新對話:清除對話紀錄,重新再開啟對話。
程式庫選單:
- 若沒選取任何程式庫,AI Chat會回答未經RAG機制生成的結果。
- 點選程式庫下拉選單可選取一個或多個可測試的程式庫,則會根據所選的程式庫給予最適當的指引與實作建議。
- 點選右方的 + 圖示,可跳轉到程式庫管理進行程式庫的新增、查看與管理
- 根據需求情境與 AFS MyCoder 進行問答,例如編寫函式、優化程式碼、轉換程式語言、修正錯誤、生成測試等。
- 建議補充足夠的資訊,可以獲得更完整的 AI 回答,例如指定的程式語言或參考的程式碼片段。
對話欄:輸入問答的內容按下 Enter 或點選右下角的箭頭圖示即可送出並取得回覆。點選右下角的 可以透過語音輸入問答內容,並轉為文字送出。
程式庫
進入程式庫管理頁面後,可以新增、測試以及查看程式庫,並可對程式庫進行相關管理的操作。
- 新增程式庫
名稱 | 只可輸入英文、數字、連字號、底線,開頭及結尾需為英文或數字,且名稱不可重複。 |
描述 | 請輸入對程式庫的描述。 |
來源 | 目前支援 GitHub、GitLab 及 Gerrit。 |
Personal Access Token | 若為PUBLIC的公開程式庫,不用填寫此項;反之,根據不同的程式庫來源,會需要對應的權限金鑰存取程式庫。 |
URL | 請根據程式庫來源,填寫 HTTPS 的複製路徑,例如: https://github.com/abc/def.git 。 |
Branch | 請輸入欲註冊的 Branch 名稱,例如: master 或 main 。 |
路徑 | 指定程式庫路徑,可針對特定目錄下的程式庫註冊,例如: src/tools/example 。 |
程式碼語言 | 由於不同程式語言的函式與用法各有差異,每個程式庫僅能選擇一種程式語言。若需選擇多種程式語言、請另新增程式庫。目前支援的程式語言如下:C/C++、Python、Golang、TypeScript、JavaScript、Java、C#。 |
成員 | 若欲共享程式庫,可點選選擇成員,並勾選想要分享此程式庫的成員。 |
- 程式庫狀態
in-processing
:正在進行註冊,請耐心等待。ok
:註冊成功,可以開始進行問答或測試。failed
:註冊過程有問題,可以移到狀態上方查看錯誤的訊息以及 Error Code 資訊。
Error Code | 名稱 | 說明 |
---|---|---|
10000 | LOAD_REPO_ERROR | 無法存取指定的程式庫,請重複確認設定資訊。 |
10001 | NO_DOCUMENTATION | 可以正常存取指定的程式庫,但符合設定條件的檔案數量為零,請重複確認設定資訊。 |
10002 | EMBEDDING_UNAUTHORIZED | 無法存取 Embedding 模型來源,請重複確認 API 金鑰資訊。 |
10003 | EMBEDDING_CONNECTION_FAILED | 無法存取 Embedding 模型來源,請重複確認名稱資訊。 |
10004 | EMBEDDING_MODEL_NOT_FOUND | 無法存取 Embedding 模型來源,請重複確認 URL 資訊。 |
10005 | EMBEDDING_UNEXPECTED_ERROR | 可以存取 Embedding 模型來源,但過程中遇到非預期錯誤,請稍後再試或連繫客服。 |
10006 | INDEX_UNEXPECTED_ERROR | 建立程式庫索引的過程中遇到非預期錯誤,請稍後再試或連繫客服。 |
10007 | DELETE_REPO_NOT_FOUND | 欲刪除的程式庫已不存在,請重複確認程式庫是否仍存在或連繫客服。 |
10008 | DELETE_UNEXPECTED_ERROR | 刪除程式庫的過程中遇到非預期錯誤,請稍後再試或連繫客服。 |
- 程式庫管理:
- 對話:程式庫狀態顯示 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 回答。
- 複製該專案的 MyCoder URL。
- 建立 MyCoder API KEY。
- 輸入 API 金鑰名稱,點選建立後即可下載 txt 檔。
- txt 檔中記錄 API KEY,請妥善保管。
每個金鑰 txt 檔只能下載一次,不慎遺失或有外洩疑慮,請將舊金鑰刪除並重建新的一組。
安裝 IDE Editor Extension
安裝 Visual Studio Code Extension
開啟 Visual Studio Code 後,點擊側邊欄
圖示,接著搜尋並安裝 AFS MyCoder。
- 請點選 Extension 右方的
圖示,並點選
Extension Settings
。
- 請透過 AFS MyCoder 專案管理平台的 IDE 串整資訊取得 MyCoder URL 與 MyCoder API KEY。
設定項目 | 填寫資訊 |
---|---|
AFS MyCoder URL | IDE 串整資訊 > MyCoder URL |
AFS MyCoder API Key | IDE 串整資訊 > 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 URL | IDE 串整資訊 > MyCoder URL |
AFS MyCoder API Key | IDE 串整資訊 > MyCoder API KEY |
- AFS MyCoder - JetBrains IDEs 快捷鍵
- 以下為 AFS MyCoder 在 Windows 環境中的常用快捷鍵,若使用 Mac OS,請將
Alt
換成Option
。
- 以下為 AFS MyCoder 在 Windows 環境中的常用快捷鍵,若使用 Mac OS,請將
快捷鍵 | 功能 |
---|---|
Alt +, | 啟動 Chat 視窗 |
Alt + . | 啟動自動生成程式碼建議功能 |
Tab | 接受建議的程式碼 |
Alt + [ | 下一個建議 |
Alt + ] | 上一個建議 |
- 若欲自訂快捷鍵,請參照 IDE 的官方指引進行更改。
若使用 Android Studio,預設沒有啟用 Chat 畫面的支援。請務必額外進行以下設定並支援 JCEF browser 功能後,才能啟用 Chat Service。
請展開查看額外的設定步驟
- 點擊
Help > Find Action…
- 輸入
Choose Boot Java Runtime for the IDE…
- 點擊 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
- Linux 版
- 完成後需重啟 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 之間的數值。