【文章內容使用 Gemini 2.5 Flash 自動翻譯產生】
透過領域專業知識改進 AI
AI 代理是通才,但對於專業的 Flutter 開發來說,「通才」還不夠。要建構生產級應用程式,您需要一個了解在地化細微差別、最新 Dart 語言功能以及如何新增整合測試的助理。
今天,我們將推出適用於 Flutter 和 Dart 的 代理技能——一種為您的 AI 工具提供領域特定專業知識的新方法。
超越知識差距
AI 開發的主要挑戰之一是「知識差距」。Flutter 和 Dart 發布新功能的速度可能比 LLM 更新其固定訓練資料的速度更快。作為 我們對 AI 的思考 的一部分,我們正在尋找方法,不僅要解決知識差距,還要確保代理應用這些知識以準確有效地完成任務,並遵循最優化的工作流程。
大約一年前,模型上下文協定(MCP)是提供更多 AI 領域特定專業知識的方法。雖然 MCP 讓代理能夠存取專業工具,但代理技能教會代理 如何 使用這些工具來完成特定任務。這樣想:MCP 提供錘子和釘子(工具),而技能則提供建造房屋的藍圖和專業知識。
技能透過「漸進式揭露」提高上下文效率。這類似於 Flutter 中的延遲載入,應用程式可以在需要時載入函式庫,編碼代理在相關時載入技能,以執行您正在嘗試執行的操作。
對於 Flutter 和 Dart,這些技能提供了針對常見工作流程的量身訂製指令,並增強了 Dart MCP 伺服器中提供的工具,以縮小知識差距,從而提高準確性並降低 Token 使用量。
一種任務導向的方法
我們的早期實驗表明,僅提供文件資料的技能並沒有像我們最初假設的那樣增加那麼多價值。由於 Flutter 全面且寫得很好的文件是開源的,現代模型已經能夠高效地為大多數問題和任務找到相關資訊。
因此,我們轉向建立「任務導向」的技能。我們 GitHub Flutter Skills 或 Dart Skills 儲存庫中的每個技能都專注於開發人員任務,例如透過提供代理可靠完成任務的指令來建立自適應佈局。我們已經進行了廣泛的手動評估來定義我們的初始技能集,並且正在開發一個自動化評估管道,我們將很快分享。
使用技能
若要開始在您的工作流程中使用這些技能,請先在您的專案目錄中安裝技能集:
1 | npx skills add flutter/skills - skill '*' - agent universal |
您將被要求選擇要安裝的技能。選擇全部或選擇您可能覺得最有用的特定技能。
然後選擇您偏好開發的代理。
現在,像往常一樣提示您的 AI 代理。以下是您今天可以使用這些技能的 5 種方法:
技能 #1:flutter-add-integration-test
設定 Flutter Driver 以進行應用程式互動,並將 MCP 操作轉換為永久整合測試。
1 | 為我的應用程式中的結帳流程添加整合測試 |
技能 #2:flutter-setup-localization
為您的 Flutter 專案添加在地化支援
1 | 在我的應用程式中設定在地化 |
技能 #3:flutter-build-responsive-layout
使用 LayoutBuilder、MediaQuery 或 Expanded/Flexible 建立可適應不同螢幕尺寸的佈局。
1 | 確保結帳畫面使用響應式佈局 |
技能 #4:dart-use-pattern-matching
重構程式碼以在適當的地方使用 Dart 的模式匹配語言功能
1 | 重構我的程式碼,使其在可能的情況下使用模式匹配 |
技能 #5:dart-collect-coverage
使用 coverage 套件收集單元測試覆蓋率並生成 LCOV 報告。
1 | 收集我的專案的測試覆蓋率 |
有關更多提示範例,請查看 GitHub 上的 Flutter Skills 或 Dart Skills 儲存庫中的 readme。
告訴我們您的想法
這些最初的核心技能,旨在處理最常見的 Flutter 開發障礙,僅僅是個開始。我們希望與您,我們的社群,一起建立 AI 輔助開發的未來。當您使用這些技能並為您的專案建立新技能時,請提交議題(Dart Skills 儲存庫、Flutter Skills 儲存庫),並告訴我們您希望看到哪些額外的工作。我們期待幫助您在使用這些技能時提高工作效率!
介紹 Dart 和 Flutter 的技能 最初發佈在 Flutter 上的 Medium,人們在那裡透過突出顯示和回應這個故事來繼續討論。