31 คะแนน โดย GN⁺ 29 일 전 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • โปรเจ็กต์ไม่เป็นทางการที่วิเคราะห์ โครงสร้างทั้งหมดและการทำงานภายในของ Claude Code แบบภาพ ทำให้สามารถสำรวจ agent loop และ ระบบเครื่องมือมากกว่า 50 รายการ ได้ตั้งแต่การประมวลผลอินพุตไปจนถึงการเรนเดอร์คำตอบ
  • ประกอบด้วย 804 ไฟล์, โค้ดมากกว่า 220,000 บรรทัด, คำสั่งมากกว่า 40 รายการ, เครื่องมือมากกว่า 22 รายการ และเป็น ผลการวิเคราะห์อิสระที่ไม่เกี่ยวข้องกับ Anthropic
  • agent loop ประกอบด้วย กระบวนการ 11 ขั้นตอน ได้แก่ อินพุต ข้อความ ระบบ API การเรียกใช้เครื่องมือ และการเรนเดอร์ ทำให้ติดตามกระบวนการสร้างคำตอบของ Claude Code ได้
  • ผ่าน ระบบเครื่องมือและแคตตาล็อกคำสั่ง มีการจัดหมวดหมู่ฟังก์ชันย่อย เช่น งานไฟล์ การรัน การค้นหา การวางแผน และการจัดการระบบ รวมถึงมี ฟีเจอร์ไม่เปิดเผยและฟีเจอร์ทดลอง จำนวนมาก
  • ฟังก์ชันที่ซ่อนอยู่ เช่น Buddy, Kairos, UltraPlan, Coordinator Mode รองรับความสามารถที่ขยายออกไป เช่น การวางแผนระยะยาว งานแบบขนาน การควบคุมระยะไกล และเซสชันต่อเนื่อง

โครงสร้างและการทำงานภายในของ Claude Code

  • โปรเจ็กต์ที่ให้สำรวจแบบภาพได้ทั้ง agent loop, เครื่องมือมากกว่า 50 รายการ, การ orchestration แบบหลายเอเจนต์, และ ฟีเจอร์ที่ไม่เปิดเผย ของ Claude Code ตั้งแต่การประมวลผลอินพุตไปจนถึงการเรนเดอร์คำตอบ
  • ประกอบด้วย 804 ไฟล์, โค้ดมากกว่า 220,000 บรรทัด, คำสั่งมากกว่า 40 รายการ, และ เครื่องมือมากกว่า 22 รายการ
  • วิเคราะห์จากซอร์สโค้ดที่เปิดเผยต่อสาธารณะ และเป็น โปรเจ็กต์ไม่เป็นทางการที่ไม่เกี่ยวข้องกับ Anthropic
  • จุดเวลาของการวิเคราะห์คือ 31 มีนาคม 2026 โดย zackautocracy คัดสรรร่วมกับ DeepWiki
  • Agent loop

    • เมื่อผู้ใช้ป้อนข้อความ Claude Code จะผ่าน 11 ขั้นตอนคือ อินพุต → ข้อความ → ประวัติ → ระบบ → API → โทเค็น → เครื่องมือ → ลูป → การเรนเดอร์ → ฮุก → รอ
    • อินพุตถูกประมวลผลผ่าน คอมโพเนนต์ TextInput ของ Ink และในโหมดไม่โต้ตอบจะใช้ standard input (stdin)
    • แต่ละขั้นตอนถูกจัดวางเพื่อให้สามารถติดตามกระบวนการที่ Claude Code รับข้อความและสร้างคำตอบได้อย่างละเอียด
  • ตัวสำรวจสถาปัตยกรรม

    • สามารถคลิกสำรวจทั้ง source tree ได้ โดยองค์ประกอบหลักมีดังนี้
      • Tools & Commands: เครื่องมือและคำสั่งที่มีมาในตัว
      • Core Processing: ลอจิกการประมวลผลหลัก
      • UI Layer: ส่วนประกอบของส่วนติดต่อผู้ใช้
      • Infrastructure: โครงสร้างพื้นฐานและสภาพแวดล้อมการรัน
      • Support & Utilities: ยูทิลิตีสนับสนุน
      • Personality & UX: องค์ประกอบที่เกี่ยวข้องกับประสบการณ์ผู้ใช้

ระบบเครื่องมือและคำสั่ง

  • ระบบเครื่องมือ

    • จัดหมวดหมู่ เครื่องมือในตัวมากกว่า 22 รายการ ที่ Claude Code สามารถเรียกใช้ได้ตามหน้าที่
    • งานไฟล์

      • FileRead, FileEdit, FileWrite, Glob, Grep, NotebookEdit รวม 6 เครื่องมือ
    • การรัน

      • Bash, PowerShell, REPL รวม 3 เครื่องมือ
    • การค้นหาและการดึงข้อมูล

      • WebBrowser🔒, WebFetch, WebSearch, ToolSearch รวม 4 เครื่องมือ
    • เอเจนต์และงาน

      • Agent, SendMessage, TaskCreate, TaskList, TeamCreate รวม 11 เครื่องมือ
    • การวางแผน

      • EnterPlanMode, ExitPlanMode, VerifyPlanExecution🔒 รวม 5 เครื่องมือ
    • ที่เกี่ยวข้องกับ MCP

      • ListMcpResources, ReadMcpResource, McpAuth รวม 4 เครื่องมือ
    • ระบบ

      • AskUserQuestion, TodoWrite, Config, Workflow🔒, TerminalCapture🔒 รวม 11 เครื่องมือ
    • ฟีเจอร์ทดลอง

      • Sleep, SendUserMessage, LSP🔒, PushNotification🔒 รวม 8 เครื่องมือ
  • แคตตาล็อกคำสั่ง

    • จัดหมวดหมู่ คำสั่งแบบ slash ทั้งหมด ที่ใช้ได้ใน Claude Code ตามหน้าที่
    • การตั้งค่าและการกำหนดค่า

      • /init, /login, /logout, /config, /permissions, /model, /theme เป็นต้น รวม 12 คำสั่ง
    • เวิร์กโฟลว์ประจำวัน

      • /compact, /memory, /context, /plan, /resume, /files, /summary เป็นต้น รวม 24 คำสั่ง
    • รีวิวโค้ดและ Git

      • /review, /commit, /diff, /branch, /issue, /autofix-pr🔒 เป็นต้น รวม 13 คำสั่ง
    • การดีบักและการวินิจฉัย

      • /status, /stats, /usage, /think-back, /debug-tool-call, /heapdump เป็นต้น รวม 23 คำสั่ง
    • ฟีเจอร์ขั้นสูงและฟีเจอร์ทดลอง

      • /advisor, /remote-control🔒, /teleport, /plugin, /web-setup, /help, /exit เป็นต้น รวม 23 คำสั่ง

ฟีเจอร์ที่ซ่อนอยู่

  • มี ฟีเจอร์ไม่เปิดเผย จำนวนมากที่มีอยู่ในโค้ดแต่ยังไม่ได้ปล่อยใช้งาน
  • Buddy

    • สัตว์เลี้ยงเสมือนในเทอร์มินัล ที่ชนิดและความหายากถูกกำหนดตาม account ID
  • Kairos

    • โหมดต่อเนื่องที่รองรับ การรวมความจำข้ามเซสชันและการทำงานเบื้องหลังแบบอัตโนมัติ
  • UltraPlan

    • เซสชันวางแผนระยะยาวที่รันได้นานสูงสุด 30 นาที บน โมเดลระดับ Opus
  • Coordinator Mode

    • เอเจนต์หลัก แบ่งงานและ สร้าง worker แบบขนาน เพื่อรวบรวมผลลัพธ์
  • Bridge

    • ฟังก์ชันสำหรับ ควบคุม Claude Code จากระยะไกลผ่านโทรศัพท์มือถือหรือเบราว์เซอร์
  • Daemon Mode

    • รัน เซสชันเบื้องหลัง ด้วยออปชัน --bg โดยภายในใช้ tmux
  • UDS Inbox

    • รองรับการสื่อสารระหว่างเซสชันผ่าน Unix domain socket
  • Auto-Dream

    • ระหว่างเซสชัน AI จะ ทบทวนกิจกรรมก่อนหน้าและสรุปสิ่งที่เรียนรู้

ข้อมูลโปรเจ็กต์

  • เป็น โปรเจ็กต์วิเคราะห์ไม่เป็นทางการ ที่ไม่มีความเกี่ยวข้องโดยตรงกับ Anthropic
  • สร้างขึ้นจาก ซอร์สโค้ด Claude Code ที่เปิดเผยสู่สาธารณะ และบางส่วนของเนื้อหาอาจ ไม่แม่นยำหรือเป็นเวอร์ชันเก่า
  • การวิเคราะห์ดำเนินการบนพื้นฐานของซอร์สโค้ดที่ @Fried_rice เปิดเผย
  • สร้างโดย zackautocracy พร้อมการสนับสนุนด้าน AI curation จาก DeepWiki

1 ความคิดเห็น

 
GN⁺ 29 일 전
ความคิดเห็นจาก Hacker News
  • โค้ดเบสของเอเจนต์ CLI ระดับ 500k บรรทัด แสดงให้เห็นว่าความพยายามในการ ควบคุม LLM แบบความน่าจะเป็นให้ทำงานอย่างกำหนดแน่นอน นั้นกลายเป็นนรกของการจัดการสถานะที่ซับซ้อนแค่ไหน
    มันทำงานได้ดีบนแพลตฟอร์มที่เรียบง่าย แต่พอเป็นรีโพซิทอรีองค์กรขนาดใหญ่ก็พังได้ง่าย
    ถ้าไม่มี external state machine ก็ต้อง บังคับความน่าเชื่อถือแบบ brute force ทำให้ 90% ของโค้ดเต็มไปด้วย defensive programming — ทั้ง regex, การเก็บกวาด context, retry loop, state rollback ฯลฯ เพื่อกันไม่ให้เอเจนต์ drift
    งานภาพดูเจ๋งดี แต่ก็ยังให้ความรู้สึกเหมือนกำลังไล่ต้อนก้อนโค้ด มากกว่าจะเป็น governance ในระดับระบบ

    • มีการคุยเชิงลบเกี่ยวกับโค้ดเยอะมาก แต่แทบไม่มีใครคุยเรื่อง ตัวสถาปัตยกรรมเอง ซึ่งแปลกดี
      ฝั่งไคลเอนต์ถูกออกแบบให้มีแค่ชุดเครื่องมือเรียบง่าย (read file, output rich text ฯลฯ) และเปิดทางให้เซิร์ฟเวอร์สร้างนวัตกรรมได้เร็ว นี่แหละคือหัวใจสำคัญ
      ผมคิดว่าเคล็ดลับจริง ๆ คือโครงสร้างที่ทำให้ทีมเซิร์ฟเวอร์ต้องคิดว่า “จะใช้ API ที่จำกัดนี้ให้สร้างสรรค์ที่สุดได้อย่างไร?”
    • อุตสาหกรรมเองก็มีงานวิจัยจำนวนมากที่พยายามควบคุมมนุษย์ให้เป็นแบบกำหนดแน่นอน แต่สุดท้ายก็ยังเป็น กลุ่มที่ควบคุมไม่ได้ อยู่ดี
    • ตอนนี้เศรษฐกิจทั้งระบบก็ถูกสร้างอยู่บนเทคโนโลยีแบบนี้แล้ว
      ถ้ามันรักษาสัญญาไม่ได้ ปัญหาจะไม่ใช่แค่ “โค้ดไม่เสถียร” แต่คือ ระบบการเงินทั้งระบบอาจสั่นคลอน
    • แยกได้ยากว่าโค้ดนี้เป็นผลจาก defensive programming หรือเป็น ความซับซ้อนที่หลีกเลี่ยงไม่ได้เมื่อเขียนโค้ดร่วมกับ AI
    • ผมไม่เห็นด้วยกับคำพูดที่ว่า “พอเป็นรีโพขนาดใหญ่ของบริษัทแล้วจะพัง”
      ที่อย่าง Meta กลับเป็นกรณีตัวอย่างที่ใช้ CC ได้ดีที่สุดเสียอีก
  • ผู้เขียนเองครับ ผมทำเว็บ visualization นี้ขึ้นมาภายในไม่กี่ชั่วโมงหลังจาก Claude Code หลุด
    ปกติผมใช้ pi อยู่แล้วเพื่อสร้าง coding agent ของตัวเอง และอยากศึกษาสถาปัตยกรรมของ Anthropic (เช่น ระบบเครื่องมือ, agent loop ฯลฯ)
    เพราะโค้ดมีถึง 500,000 บรรทัด เลยสำรวจได้ยาก ผมจึงทำแผนที่เชิงภาพไว้ใช้เป็นข้อมูลอ้างอิง
    ตอนนี้ก็กำลังอัปเดตเว็บไซต์ต่อเนื่องตามฟีดแบ็ก ถ้ามีอะไรตกหล่นก็บอกได้เลย

    • ผมเองก็เอา pi กับ cc ไปเชื่อมกับ local llama.cpp แล้วรันในสภาพแวดล้อมออฟไลน์เต็มรูปแบบอยู่เหมือนกัน
      ผมเปรียบเทียบทั้งการออกแบบและการ implement ของสองระบบนี้ และรู้สึกประทับใจที่เว็บไซต์ของผู้เขียนก็ดูเหมือนสร้างด้วย pi
      ถ้าเป็นไปได้ก็อยากเห็น visualization เปรียบเทียบ pi vs cc ด้วย
    • ทั้ง UX และฟังก์ชันการใช้งาน ของเว็บยอดเยี่ยมมาก อยากรู้ว่ามีแผนจะเปิดซอร์สโค้ดไหม
    • โทนและจังหวะ ของบทความดีมาก
      แต่ถ้าเพิ่ม annotation หรือ tooltip ในส่วน ‘message format ของ Anthropic’ ก็น่าจะดี — เพราะจริง ๆ แล้วมันก็เป็นฟอร์แมตของ OpenAI ด้วย
    • อยากรู้เพิ่มเติมเกี่ยวกับ วิธีเซ็ตอัปเอเจนต์ ของผู้เขียน
  • สงสัยว่ามี agent harness ที่เขียนขึ้นโดยไม่ใช้ AI อยู่บ้างไหม
    โครงสร้างมันเหมือนแค่ TUI ง่าย ๆ ที่เรียก model endpoint แต่กลับมีถึง 500k บรรทัด รู้สึกว่ามันเยอะเกินไป

    • LoC เป็น ตัวชี้วัดผลิตภาพที่ไร้ความหมาย ไปแล้ว
      มันอาจเกิดจากการนำโค้ดกลับมาใช้ซ้ำหรือการทำเป็นไลบรารีก็ได้ หรืออาจเป็นผลจาก แรงกดดันด้านเวลา แบบสตาร์ทอัปก็ได้
    • แนะนำให้ลองดู pi coding agent
    • TUI ของ CC ไม่ใช่แค่ text UI ธรรมดา แต่เป็น การเรนเดอร์บนฐาน React
    • คุณภาพโค้ดของ Opencode ถือว่าค่อนข้างดี
    • ตัว Claude Code CLI แทบจะเป็นโครงสร้างแบบ แปลง headless browser ให้กลายเป็นข้อความ ทำให้เวลา debug ไม่สะดวกมาก
      ปัญหาการแปลง ASCII → Unicode ทำให้ pipe หรือ parser พัง และยังทำให้ copy/paste ยากขึ้น
      ฟังก์ชันที่ควรเรียบง่ายกลับกลายเป็น เครื่องจักรแบบ Rube Goldberg ไปเสียแล้ว
  • มีข้อสงสัยว่า “500k บรรทัดเนี่ย ไม่ใช่แค่ระดับ REPL ธรรมดาเหรอ?”

    • ผลิตภัณฑ์คู่แข่งก็มีขนาดใกล้เคียงกัน
      Opencode 670k, Codex 720k, Gemini 570k บรรทัด ดังนั้นขนาดของ Claude Code ไม่ได้ผิดปกติ
    • เป็นไปได้ว่าความซับซ้อนของ LLM ทำให้เกิด แรงจูงใจแบบไม่รู้ตัวที่คิดว่าเครื่องมือก็ควรซับซ้อนตามไปด้วย
    • ในความเป็นจริงมี การแก้สดเฉพาะหน้า (vibe fix) อยู่มาก และขาดการออกแบบที่สม่ำเสมอ
      แต่รายละเอียดอย่างการติดตาม cache TTL ก็ถือว่าน่าสนใจ
    • มากกว่าจะวิจารณ์แบบง่าย ๆ ว่า “เพราะเป็น JS/Electron เลยบวม” ผมอยู่ฝั่ง ไปอ่านของจริงก่อน (RTFA) มากกว่า
    • แล้วสำหรับโปรแกรมแบบนี้ LoC ที่เหมาะสมจริง ๆ ควรอยู่ที่เท่าไรก็เป็นอีกประเด็นที่ถูกหยิบมาคุย
  • ถ้าเป็นปี 2020 คงนึกไม่ออกเลยว่าจะสามารถ วิเคราะห์โค้ดที่หลุดออกมาแบบเป็นภาพ ได้ขนาดนี้

    • ก็มีความเห็นว่าด้วยเครื่องมือ static analysis ในตอนนั้นก็น่าจะทำได้เหมือนกัน
    • แต่อย่างไรก็ยังอยากรู้ว่ามันถูกสร้างขึ้นจริงด้วยขั้นตอนแบบไหน และ ใช้ AI อย่างไรบ้าง
  • ผมเองก็ทำเว็บคล้ายกันเมื่อ 11 ชั่วโมงก่อน แต่ไม่ได้รับความสนใจ
    ถึงอย่างนั้นพอเห็น implementation อื่นก็ยังดีใจอยู่
    งานที่ผมลองทำอยู่ ที่นี่

    • ช่วงนี้เป็นยุคที่ทุกคนต่างก็ลองทำของคล้าย ๆ กัน ดังนั้น ใครจะได้ความสนใจ ก็ไม่ได้มีความหมายมากนัก
  • สิ่งที่ยังน่าทึ่งอยู่คือการทำ เว็บสวย ๆ แบบนี้ให้เสร็จภายในสองวัน

    • น่าจะสร้างด้วย Claude Code นั่นแหละ
      เว็บที่ LLM สร้างบางทีก็ คุณภาพภายนอกดูดี แต่ความน่าเชื่อถือของเนื้อหาอาจต่ำ
      ตัวอย่างเช่น nzoilwatch.com ที่ดูเหมือนงานผู้เชี่ยวชาญ แต่จริง ๆ เป็นแค่โปรเจกต์ส่วนตัว
      ถ้าระบุให้ชัดเจนไปเลยว่า ใช้ LLM หรือไม่ ก็อาจช่วยลดความเข้าใจผิดได้
    • Claude ถ้าสั่งดี ๆ ก็สามารถ สร้างเว็บไซต์ได้ภายในไม่กี่นาที
    • ผมคุยกับนักพัฒนาเครื่องมือเอเจนต์รายใหญ่คนหนึ่งมา เขาบอกว่า พวกเขาใช้เครื่องมือเพื่อสร้างเครื่องมืออีกที
      พอผมบอกว่า UI ที่ผมทำมันยังง่อยอยู่ เขาก็บอกว่าพวกเขาใช้ ไลบรารี UI component ภายในของตัวเอง
      เพราะงั้นผมเลยลองทำไลบรารีชื่อ substrateui.dev ขึ้นมาเอง และกำลังสนุกกับ กระบวนการเรียนรู้ UI เอง ผ่านการให้ Claude Code ช่วยจัดโครงสร้าง design system ใหม่
    • แต่ก็มีคนมองว่า ความอ่านง่ายและการโต้ตอบ ของเว็บนี้กลับทำให้ใช้งานลำบาก
    • ถึงอย่างนั้นใน HN ก็ยังมีคนบอกว่า LLM ทำให้ผลิตภาพลดลง ซึ่งก็ดูย้อนแย้งดี
  • ซอร์สที่หลุดดูได้จาก รีโพซิทอรีบน Codeberg

  • น่าสนใจที่ Anthropic พัฒนาผลิตภัณฑ์ของตัวเองด้วยเครื่องมือของตัวเอง
    แต่ถ้าเป็นโปรเจกต์ที่อายุ 1 ปีแล้ว ก็น่าจะถึงเวลาที่ควรจะนิ่งขึ้นได้แล้ว

    • โปรเจกต์อายุ 1 ปีที่มีนักพัฒนาหลายคนร่วมกันทำมีโอกาสสูงว่า ยังมีบั๊กอยู่เยอะ
    • การปล่อยให้ technical debt ค้างไว้ก็อาจเป็นทางเลือกที่สมเหตุสมผล
      เพราะสุดท้าย LLM ในอนาคตจะมาดูแลรักษา อยู่ดี มนุษย์จึงไม่จำเป็นต้องมานั่งเก็บงานเองก็ได้
    • Boris Cherny ก็พูดตรง ๆ ว่า “CC ถูกสร้างด้วย CC”
    • ถ้าดูจากทวีตที่พวกเขาภูมิใจนำเสนอจริง ๆ ก็จะเห็นการใช้ทรัพยากรที่เกินพอดี เช่น TUI API ต้องใช้ RAM 68GB หรือ การเรนเดอร์ข้อความกินเวลา 16ms
  • น่าจะเพิ่มโปรเจกต์นี้เข้าไปใน Awesome Claude Code ได้