透過不足四千行程式碼,重現人工智慧編程代理的核心架構

| FinStack

透過不足四千行程式碼,重現人工智慧編程代理的核心架構

近年來,大型語言模型(LLM)的進步已使得人工智慧(AI)代理能夠執行複雜的編程任務。特別是,著名的 Claude Code 專案,其公開了高達五十萬行的程式碼,展現了其作為強大編程代理的實力。然而,如此龐大的程式碼量對於欲深入理解其內部運作的開發者而言,無疑是一項巨大的挑戰。有鑑於此,一個名為「Windy3f3f3f3f/claude-code-from-scratch」的開源專案應運而生,它旨在透過僅約三千行的 TypeScript 與 Python 程式碼,從零開始復現 Claude Code 的核心架構,並提供了一份詳盡的十一章分步教學,引導使用者理解編程代理的精髓。

此專案自 2026 年 3 月 31 日創建以來,至今最後一次推動(push)追溯至 2026 年 4 月 4 日,短短數日間便已累積了高達 767 個星標(Stars)與相對應的觀察者(Watchers),以及 291 個分叉(Forks),顯示出社群對其高度的興趣與肯定。專案目前沒有開放的問題(Open issues),且已發佈第一個版本 v1.0.0。其主要程式語言為 Python,佔比 48.9%,而 TypeScript 則緊隨其後,佔 45.0%,另外包含少量的 JavaScript (4.6%) 和 HTML (1.5%)。專案採用廣泛使用的 MIT 授權條款,允許高度自由的使用、修改與分發。

「Windy3f3f3f3f/claude-code-from-scratch」的核心理念在於,藉由精簡的程式碼實現,復刻 Claude Code 的核心功能,例如其代理迴路(Agent Loop)、工具系統、四層上下文壓縮、記憶系統、技能系統以及多代理協同等關鍵組件。開發者指出,這不僅僅是一個展示性質的範例,而是一份手把手的教學,旨在幫助開發者透過動手實作數千行程式碼,快速掌握頂尖編程代理如 Claude Code 的核心精髓。它承諾,完成這份教學後,使用者將能理解編程代理的工作原理,而無需閱讀數十萬行的原始程式碼。

這個專案的貢獻者主要有三位,包括 Windy4096、Windy3f3f3f3f 及 chengyuZou,其中 Windy3f3f3f3f 似乎也是該專案的主要維護者。此專案的標籤(Topics)涵蓋了人工智慧(ai)、人工智慧代理(ai-agent)、Anthropic(Claude 的開發公司)、從零開始建構(build-from-scratch)、Claude、Claude Code、編程代理(coding-agent)、大型語言模型(llm)、教學(tutorial)以及 TypeScript,明確指出其專注領域與內容面向。

專案提供了一個線上閱讀教學的網頁,其首頁同時也是專案的介紹頁面,網址為 https://windy3f3f3f3f.github.io/claude-code-from-scratch/#/。特別值得一提的是,該專案還有一個姊妹專案,名為「How Claude Code Works」,這是一個更為深入的探討,包含十二篇專題文章,總計三十三萬字,從原始碼層級對 Claude Code 的架構進行深度解析。這兩個專案相互補充,為不同層次的學習需求提供了豐富的資源。

詳盡的十一章分步教學

「Windy3f3f3f3f/claude-code-from-scratch」專案將其教學內容劃分為十一獨立章節,每一章都對應著 Claude Code 實際運作的某個核心環節,並提供精簡的實作程式碼,以及與 Claude Code 原始碼的對照。這種教學方法,讓學習者能夠清晰地理解每個概念在實際專案中的對應。

以下是這十一章教學的概覽:

  • 代理迴路(Agent Loop):本章探討了編程代理的核心運作機制,即「呼叫大型語言模型(LLM)→ 執行工具 → 重複」的循環過程。教學將透過簡化的 agent.ts 對應至真實專案的 query.ts,解釋其基本架構。
  • 工具系統(Tools):在這一章中,專案詳細介紹了八個工具的定義與實作。這些工具是代理與環境互動的關鍵,教學會對比 tools.ts 以及 Claude Code 中的 Tool.ts 和其餘六十六種工具的設計。
  • 系統提示詞(System Prompt):本章著重於提示詞工程的重要性,解釋如何設計有效的系統提示詞,使得大型語言模型能夠扮演一個稱職的代理。教材將其簡化為 prompt.ts,並與 Claude Code 中的 prompts.ts 進行比較。
  • 流式輸出(Streaming):針對大型語言模型的回應機制,本章說明了 Anthropic 和 OpenAI 雙後端的流式處理技術。這部分教學通過 agent.ts 的簡化實現,對照了 api/claude.ts 中的實際做法。
  • 權限與安全(Safety):在自動化操作中,安全考量至關重要。本章探討了危險命令的偵測機制以及用戶確認流程,以確保代理的行為在安全範圍內。教學將透過 tools.ts 對應到 Claude Code 中長達 52KB 的 permissions.ts
  • 上下文管理(Context):有效管理對話上下文是保持代理連續性的關鍵。本章涵蓋了結果截斷和自動對話壓縮等技術,這些在 agent.ts 中的實現與 Claude Code 的 compact/ 目錄下的組件相對應。
  • 命令列介面與會話(CLI & Session):本章專注於使用者與代理互動的介面,包括讀取-評估-列印迴圈(REPL)、中止操作(Ctrl+C)以及會話的持久化。簡化的 cli.ts 程式碼將與 Claude Code 的 cli.tsx 進行對照。
  • 記憶與技能(Memory & Skills):代理的學習和適應能力仰賴於其記憶系統與技能模版。本章將深入分析四種類型的記憶和技能系統的建構,透過 memory.ts 展示其核心原理。

此專案的設計理念是將複雜的原始碼拆解成易於理解和實作的小單元,讓學習者可以逐步建立對複雜系統的理解。它不僅提供程式碼層面的解析,更透過其簡化的實作,展示了在有限資源下重現強大功能的可能性。對於希望深入了解人工智慧編程代理技術,卻苦於龐大原始碼量的開發者而言,「Windy3f3f3f3f/claude-code-from-scratch」無疑是一個寶貴且高效的學習途徑。

熱門文章