前幾個禮拜 Zed 發布了他們自己的 AI assistant 稱為 Zed AI。如果你不知道 Zed 是什麼,它是一個注重高性能用 Rust 編寫的editor。當他們第一次發布 Zed 時候我有試用過幾次,但當時它就真的只是一個editor,沒有我在 VSCode 上習慣使用的其他功能,經過幾個月後的現在,隨著 Zed AI 的發布,我想知道 Zed 有了多少進展,但更重要的是,這樣的 AI assistant 會如何幫助到我做每天的工作。
Zed 與 Anthropic 合作將他們最新的 Claude 3.5 模型帶到 Zed,它可以接受 200,000 個 token 作為輸入,也就是說我們可以丟入多個文件或錯誤訊息以尋求 AI 的建議。在 assistant panel 上,你可以提出你的問題,或者你可以將你當前的 tab 作為輸入的一部分。你還可以特別為一些會經常使用的 prompt 先存下來讓你方便重復使用,例如假設你詢問關於 CSS 實現的問題,並且希望 AI 回答總是用 tailwind,你可以自定義好該 prompt 這樣之後問 CSS 方面的問題時候就可以重複使用這個 prompt。如果你不想使用 Zed 提供的 AI 模型,你可以選擇使用其他模型,但你需要用你自己的 API key來配置它。在撰寫本文時,Zed AI 處於測試階段,所以可以免費使用 Zed 自帶的 Claude 3.5 模型。
通過 inline edit,你可以下你的 prompt 告訴 Zed 做什麼,它就會根據 prompt 添加必要的 code。還有一個快速編輯模式,目前處於 private beta 階段,聽說改的速度很快,期待未來開放給更多用戶使用。
這問題的回答適用於其他 AI 輔助比如 Cursor 和 Copilot,為什麼我想要在我的 IDE 中擁有 AI,甚至為它付費,特別是如果我已經在為 ChatGPT、Claude 或 Gemini 付費了呢?我認為這一切都與 context switching 以及你完成工作的速度有關。大多數開發人員都有自己的工作流程,包括 hotkeys、窗口管理或 shortcut,這些都會大大提高他們的生產力。在編輯器中有一個始終存在的助手,而無需開發人員切換到另一個 app 查詢資料,這使得開發人員能夠專注於手頭的任務而不分心。它給你一種感覺,你在與 project 對話,而且隨時都有另一位 developer 可以一起討論。
與基於 VSCode 的 Cursor 不同,Zed 是一個用 Rust 構建全新的 editor,在我開始使用它的那一刻,我可以感覺到它在絕大部分時候反應都非常快,包括啟動時間、提示和 language server。在 VSCode 中,我有時會遇到 TypeSCript language server 需要很長時間才能跑完的情況,但在 Zed 中我從未遇到過這種狀況。 Zed 有我在 VSCode 上每天使用的大部分基本功能,但它缺少一些我懷念的功能。例如,我可以快速切換到另一個 git branch,但我不能像在 VSCode 中那樣直觀地看到 git diff 並 commit 我的 changes,另一個是 Zed 不能像在 VSCode 那樣透過一個快捷鍵就很簡單的把沒有用到的 imports 刪掉。
我對 Zed 未來的發展還是保持期待的,我也理解團隊需要一些方法來實現產品的盈利,所以他們首先製作了 AI 功能,其他基本的編輯器功能,如完整的 git integration 還是有在 roadmap 中,只是團隊需要先找到一種生存方式才可以繼續 Zed 的開發。我也用這個 Zed AI 學習了怎麼使用 Terraform、Terragrunt、和 Atlantis。我也喜歡它是一個 VSCode 的競爭者,為用戶提供不同且更快的體驗。總的來說,我會繼續使用它並關注它的進展。