KeyFrame內部研究專用

AI編程:OpenCode 入門 | Plan & Build 模式 | Agent,command,Skill|教學|廣東話|60fps

kfsoft·6月19日週五·78 min中文

三句話摘要

OpenCode 是開源 AI Coding Agent,提供 Terminal 與 Desktop 兩個版本,支援免費模型、自訂 Agents/Commands/Skills、LSP 語言整合與科學 Debugging 方法。 OpenCode 通過分層代理程式、靈活檔案驅動設定、LSP 語言整合與科學 Debugging 方法,在保持上下文精簡的前提下提供強大 AI 程式編輯體驗,適合從簡單腳本到複雜專案的全開發週期。 OpenCode 核心是分層代理設計——Primary Agents 各有獨立上下文窗口,當需要大量讀寫操作時會自動或手動呼叫 Sub-Agents 代理,這樣設計防止 Primary Agent 上下文快速耗盡,允許開發者在大型專案中持續工作。Build 與 Plan 兩種模式互補:Build 直接修改磁碟,Plan 只生成規劃方案,開發者應在早期探索用 Plan Mode 確認需求,複雜 Bug 修復也該用 Plan Mode 先審視再動手。

重點整理

重點
  • 1

    OpenCode 核心是分層代理設計——Primary Agents 各有獨立上下文窗口,當需要大量讀寫操作時會自動或手動呼叫 Sub-Agents 代理,這樣設計防止 Primary Agent 上下文快速耗盡,允許開發者在大型專案中持續工作。Build 與 Plan 兩種模式互補:Build 直接修改磁碟,Plan 只生成規劃方案,開發者應在早期探索用 Plan Mode 確認需求,複雜 Bug 修復也該用 Plan Mode 先審視再動手。

  • 2

    配置系統完全檔案驅動,Commands、Skills、Agents 只需將 markdown 檔案放入對應資料夾自動識別,不同階層(全域/專案)的 agents.md 指引會被 AI 參考,例如全域層的 agents.md 可統一要求「加入代碼註釋」,專案層可要求「安全審查」。Context 管理很關鍵——Token 使用量超過 50% 應執行 Compact 壓縮,或執行 New 開新 Section 清空該段對話。

  • 3

    LSP(Language Server Protocol)讓 AI 從純文本編輯升級為語言感知系統,啟用後能理解變數型別、函數簽名、型別檯誤等,大幅提升程式碼品質。對於複雜 Bug,絕不能反覆叫 AI 嘗試修復,應先產生 Debug Log 觀察資料流,用 Plan Mode 找出 Root Cause,再限制 AI 在特定位置修復,避免即時修復造成的波及其他功能的迴圈式 Bug。

實用技巧與重點

乾貨
  • 安裝與版本
  • 指令:npm install -g @opencode/cli
  • 版本確認:opencode -v → 1.17.57
  • 代理與模型
  • Primary Agents:Build(寫代碼)、Plan(規劃)
  • Sub-Agents:Journal(讀寫)、Explore(唯讀)、General(通用)、Skill(執行技能)
  • 模型:DeepSeek V4 Flash Free、Deep Seek、Minimax、NVIDIA、Google、Anthropic
  • 切換方式:/model 選模型、/connect 選 Provider、Tab 切換 Agent 模式
  • Variance:Low(簡單)、Medium(中等)、Max(深度思考)
  • 配置位置
  • 全域層:~/.config/opencode/opencode.jsonc、agents.md、commands/、skills/、agents/
  • 專案層:.opencode/ 下同樣結構
  • LSP 啟用:opencode.jsonc 加 "lsp": {"enabled": true},重啟生效
  • 指令
  • Compact:壓縮上下文
  • New:開新 Section
  • /add explore、/add general:呼叫 Sub-Agent
  • /skills:檢視已安裝 Skills
  • /model:選擇模型
  • mpx skill <name>:安裝社群 Skill
  • 實測案例
  • 數位時鐘:HTML 紅色顯示當前時間,格式 hmmss
  • 股價檢查:Python 使用 yfinance,Google(GOOGL)→ 296.42
  • Tic-Tac-Toe:72 行 Python,兩人文字對戰
  • Folder Chart from Source:自動生成程式碼結構圖成 HTML
  • 聲音支援
  • 需建立 ~/.config/opencode/tui.json 並配置音效參數

結論

結論

OpenCode 通過分層代理程式、靈活檔案驅動設定、LSP 語言整合與科學 Debugging 方法,在保持上下文精簡的前提下提供強大 AI 程式編輯體驗,適合從簡單腳本到複雜專案的全開發週期。

完整解析

詳細

OpenCode 是專為 AI 時代設計的開源程式編輯夥伴,解決傳統 Coding Agent 的兩大問題:上下文爆炸和模型昂貴。它提供 Terminal 版(TUI)與 Desktop 版(GUI)兩個介面,功能基本相同,但 Terminal 版資訊展示更循序漸進、對初學者友善。安裝只需 npm install -g @opencode/cli,進入專案目錄執行 opencode 命令即可啟動。

配置系統分為全域層(~/.config/opencode)和專案層(.opencode/),這種分層設計讓團隊制定共同規範,個人客製化偏好。主配置檔 opencode.jsonc 儲存模型、Provider、LSP、MCP 伺服器設定;agents.md 是開發者為 AI 撰寫的指引文件,例如要求「務必加入代碼註釋」或「安全審查」,AI 生成程式時會參考。Commands、Skills、Agents 的安裝超簡單——只需將 markdown 檔案放入對應資料夾,OpenCode 自動掃描識別。例如建立 git-init 命令,在 ~/.config/opencode/commands 下放一個 git-init.md 檔案定義 git init 和 .gitignore 產生,執行時 OpenCode 會自動運行。Skills 特別值得關注,它們是可重複觸發的行為腳本,例如「Folder Chart from Source」能自動掃描程式碼產生結構圖成 HTML,社群市集(mpx 或類似平台)有現成 Skills 庫可安裝。

代理程式架構是 OpenCode 最精妙的設計,解決上下文爆炸難題。系統只有兩個 Primary Agents——Build(直接修改磁碟)和 Plan(生成計畫但不修改),各自有獨立上下文窗口。底層有四種 Sub-Agents:Journal(同時讀寫)、Explore(唯讀)、General(通用目的)、Skill(自動執行技能)。當 Primary Agent 需要大量讀寫操作時,會自動或手動委派 Sub-Agent 完成,返回摘要即可,這樣 Primary Agent 上下文保持精簡。開發者也可自訂 Sub-Agents,例如建立 security-advisor 審查程式碼網路安全,放在 .opencode/agents 自動識別。模型選擇透過 /connect 指令切換 Provider,演講者推薦免費的 DeepSeek V4 Flash Free,其他選項包括 Open Router(按用量計費)、Google、Anthropic 等。Variance 參數控制思考深度,Low 適合簡單、Max 適合複雜推理。監控上下文是重要習慣——OpenCode 實時顯示 Token 百分比,超過 50% 應執行 Compact 壓縮舊對話,或執行 New 開新 Section 清空該段。

LSP(Language Server Protocol)整合讓 AI 不再當純文本編輯器而是真正的語言感知系統。啟用方法是在 opencode.jsonc 加 "lsp": {"enabled": true},重啟後 OpenCode 自動偵測安裝的語言延伸(例如 Python 用 Pyleft、JavaScript 用其他)。啟用後,AI 懸停變數時看到型別、函數簽名、型別檯誤等,大幅提升生成程式碼的準確性和安全性。Desktop 版額外支援主題選擇(深淺)、字型設定、語言切換(英文/中文),操作習慣與 Terminal 版一致,但傾向一次展示所有資訊,初學者先學 Terminal 版較易理解。

Debugging 進階技巧應對複雜 Bug:絕不能反覆叫 AI 嘗試修復,應先輸出 Debug Log 觀察資料流變化,準確定位問題根源。最重要的是使用 Plan Mode 尋找 Root Cause,再限制 AI 在特定位置修復。Build Mode 的即時修復常導致波及其他功能的迴圈式 Bug——修復 A Bug 導致 B 出現,修復 B 又讓 A 回來。Plan Mode 讓開發者預覽完整修復方案,確認根本原因找對了才動手,大幅減少迴圈 Bug。

關鍵時刻

Pipeline v2

帶時間戳的重點,會在逐字稿層級分析上線後產生。目前請先透過原始影片觀看。

事實查核

Pipeline v2

說法查證是下一次管線升級的一部分。KeyFrame 只會顯示它真正能驗證的內容。

更多「AI 技術」的內容

🔬“We have foundation models for language, not for physics” — Anima Anandkumar, Bren Professor of Computing
編輯精選
83 min
AI 技術英文PODCAST8月26日

🔬“We have foundation models for language, not for physics” — Anima Anandkumar, Bren Professor of Computing

Latent Space

  • 加速傳統物理模擬的典範轉移:氣象科學家原本認為 AI 無法匹敵數十年的物理建模工作,但傅里葉神經算子不僅達到同等精度,還快了一萬多倍。原本需要超級計算機的計算現在用消費級 GPU 就能完成,這改變了整個領域的思維方式。
  • 傅里葉域的非局部現象捕捉:傅里葉域能有效表示非局部現象(如大氣河流跨越千里的影響),且計算複雜度為準線性,遠優於完全連接的全局模型。這特別適合流體動力學、量子化學等自然現象中普遍存在的非局部相互作用。
  • 多解析度連續函數表示:神經算子將輸入輸出視為連續函數而非固定維度向量,可在推論時以任意解析度查詢,並能在更高解析度上疊加物理約束或額外數據,克服了固定解析度神經網路的限制。
Between Two Nerds: Attribution is dead, long live attribution
32 min
AI 技術英文PODCAST8月25日

Between Two Nerds: Attribution is dead, long live attribution

Risky Business

  • 工具成本的破壞性下降 — 傳統上,攻擊者必須重複使用昂貴自製的惡意軟體或工具組,因為開發和維護成本極高。這種成本結構使得安全研究人員可以通過工具特徵和程式碼簽名來追蹤攻擊者。LLM 自動化了代碼生成與維護工作流,使得攻擊者可以輕易為每個目標生成新工具,或改用通用系統工具,導致傳統的工具特徵分析失效。
  • 所有取證證據都在攻擊者掌控之中 — 無論是使用的 IP 位址、惡意軟體類型或戰術流程,這些都是攻擊者的主動選擇。即使看似是隨機巧合,攻擊者仍有能力在事前決定留下什麼痕跡。因此,所有可恢復的取證證據本質上都是攻擊者願意暴露的信息。
  • LLM 削弱工具簽名但保留高階行為特徵 — LLM 經過公開駭客技術訓練,使不同使用者產生相似的攻擊模式。然而,勒索軟體集團、國家級行為者的受害者選擇、贖金要求方式或目標模式等高階特徵仍具有識別價值。例如,鎖定加密交易所的攻擊幾乎只能指向朝鮮。
Why the Next AI Breakthrough May Come from Physics with Max Welling - #774
55 min
AI 技術英文PODCAST8月25日

Why the Next AI Breakthrough May Come from Physics with Max Welling - #774

TWIML AI

  • 多層篩選的材料設計流程:先搜尋文獻資料庫找現有材料,若無合適的就用生成模型產生數十萬個候選分子,用機器學習力場進行分子動力學模擬篩選,再進行實驗驗證。這套流程相比傳統量子力學計算能加速效率數個數量級。
  • 生成AI與熱力學的數學等價性:資訊論是兩個領域的共同基礎,生成模型的擴散過程與非平衡統計力學描述資訊損失的過程在數學上完全對應,許多開發出來的方法工具在兩領域都有精確對應的形式。
  • 基礎模型的遷移學習策略:先在廣泛材料資料集上訓練基礎力場表示,再針對特定材料類別進行蒸餾微調,既能保持計算效率也能獲得專一性。