← 返回列表

Claude Code ชุดการสอนที่ 3: ทำไมจึงมีเพียงเทอร์มินัล

1.3 ทำไมต้องเขียนโค้ดในเทอร์มินัล?

ลองนึกภาพ: คุณกำลังเขียนฟีเจอร์ใหม่ แล้วจู่ๆ ก็พบว่าต้องแก้ไขฟังก์ชันเครื่องมือพื้นฐานที่กระจายอยู่ในสามไฟล์ และบางการเรียกใช้ข้ามโมดูล คุณเปิดโปรแกรมแก้ไข ค้นหาทั่วทั้งโปรเจกต์ เปิดทีละไฟล์ ค่อยๆ แก้ไขอย่างระมัดระวัง แล้วรันเทสอีกครั้ง — สีแดง ดูข้อผิดพลาด ตรวจสอบสแตก แก้ไข แล้วทำซ้ำอีกครั้ง

เวลาที่ใช้ไปกับการ "คิดว่าจะแก้อย่างไร" จริงๆ แล้วอาจน้อยกว่าครึ่งหนึ่ง ที่เหลือเป็นงานกลไก: หาไฟล์ แก้ไขการอ้างอิง รอคอมไพล์ คลิกเมาส์

การนำ AI มาไว้ในเทอร์มินัลมีเป้าหมายหลักคือ ลดงานกลไกเหล่านี้

เทอร์มินัลคือที่ที่ใกล้โค้ดมากที่สุด

คุณอาจใช้ VS Code, JetBrains หรือ Vim ไม่ว่าคุณจะใช้อะไร ขณะเขียนโค้ด คุณต้องใช้เทอร์มินัลอยู่ดี การรัน npm test, git log, grep, make build — การกระทำเหล่านี้เกิดขึ้นในบรรทัดคำสั่งโดยธรรมชาติ

ดังนั้น หากคู่หู AI ของคุณอยู่ในเทอร์มินัลเดียวกัน สิ่งต่างๆ ก็จะง่ายขึ้น คุณไม่ต้องคัดลอกเนื้อหาไฟล์ไปยังหน้าต่างแชท ไม่ต้องอธิบายว่า "ในโปรเจกต์ของฉันมีคลาสชื่อ UserService อยู่ที่บรรทัดที่ 42 ใน src/services/user.ts..." Claude Code จะยืนอยู่ที่ไดเรกทอรีรากของโปรเจกต์ และมันจะอ่านเอง

นี่คือ การลดระดับมิติในบริบท เมื่อคุณบอก Claude Code ว่า "ช่วยรีแฟคเตอร์การจัดการข้อผิดพลาดของโมดูลการเข้าสู่ระบบหน่อย" มันจะไปอ่าน auth/login.ts ของคุณจริงๆ อ่าน errors.ts ค้นหาทุกที่ที่เรียกใช้ แล้วแก้ไขโดยตรง โดยที่คุณไม่ต้องทำหน้าที่ถ่ายทอด

ปลดปล่อยคุณจากบทบาท "ผู้ปฏิบัติการ"

เมื่อใช้ AI แชทในเบราว์เซอร์ เรามักจะทำหน้าที่เป็น "ตัวกลาง" โดยไม่รู้ตัว: AI ส่งโค้ดออกมา เราอ่าน ตรวจสอบ คัดลอก กลับไปที่ตัวแก้ไขแล้ววาง ถ้าโค้ดทำงานได้ก็ดีไป ถ้าไม่ได้ ก็คัดลอกข้อผิดพลาด ถามอีก คัดลอกอีก กระบวนการนี้ขัดจังหวะโฟลว์อย่างมาก

การออกแบบของ Claude Code คือการให้คุณกลับมาอยู่ในตำแหน่ง "ผู้คิด" คุณบอกแนวคิด มันลงมือทำ หลังจากแก้ไข คุณเห็น diff ในเทอร์มินัลและตัดสินใจว่าจะยอมรับหรือไม่ มันยังสามารถช่วยรันเทส รัน lint ให้คุณ คุณนั่งอยู่ที่นั่น ส่วนใหญ่อ่านโค้ด ตัดสินใจ ไม่ต้องสลับหน้าต่างไปมา

ทำไมไม่เป็นปลั๊กอินของโปรแกรมแก้ไข?

คุณอาจถาม: แล้วทำไมไม่ทำปลั๊กอิน AI ในโปรแกรมแก้ไขเลยล่ะ?

ปลั๊กอินของโปรแกรมแก้ไขมีประโยชน์ และหลายทีมก็ใช้แล้ว แต่ Claude Code ในเทอร์มินัลมีข้อดีบางอย่างที่ปลั๊กอินทดแทนได้ยาก:

  1. ไม่มีข้อจำกัดของโปรแกรมแก้ไข วันนี้คุณใช้ VS Code พรุ่งนี้เปลี่ยนเป็น Neovim หรือแม้แต่บนเซิร์ฟเวอร์ระยะไกลที่ไม่มี GUI Claude Code ก็ใช้งานได้ มันไม่ขึ้นกับเครื่องมือที่คุณเลือก
  2. สามารถทำสิ่ง "นอกกรอบ" ได้มากกว่า ในเทอร์มินัล มันสามารถรันคำสั่ง Shell ใดๆ ซึ่งหมายความว่าขอบเขตของสิ่งที่มันทำได้กว้างกว่ามาก — สามารถช่วยคุณเริ่ม Docker container เพื่อตรวจสอบการย้ายฐานข้อมูล สามารถดึง branch ระยะไกลและตรวจสอบข้อขัดแย้ง สามารถรันเทส e2e อัตโนมัติหลังจากแก้ไขโค้ด สิ่งเหล่านี้ปลั๊กอินของโปรแกรมแก้ไขมักไม่กล้าทำ หรือทำไม่ได้เลย
  3. การประมวลผลแบบกลุ่มและอัตโนมัติ คุณสามารถใส่ Claude Code ลงในสคริปต์ ให้มันช่วยจัดการหลายๆ repository, สร้างเอกสารเป็นชุด, จัดการ Issues อัตโนมัติ ณ จุดนี้มันไม่ใช่ "ผู้ช่วย" อีกต่อไป แต่เป็นส่วนหนึ่งของสายการผลิต

ตัวอย่างเล็กๆ ของฉันเอง

ก่อนหน้านี้ฉันต้องย้ายโปรเจกต์ JavaScript ไปเป็น TypeScript ประมาณสองหมื่นบรรทัด วิธีของฉันไม่ใช่การเพิ่ม type ทีละไฟล์ด้วยมือ หรือหวังว่าปลั๊กอินของโปรแกรมแก้ไขจะจัดการทั้งหมด

ฉันเริ่ม Claude Code ในไดเรกทอรีโปรเจกต์นั้นโดยตรง แล้วบอกมัน: "ค่อยๆ ย้ายโปรเจกต์นี้ไปใช้ TypeScript โหมดเข้มงวด ครั้งละสองสามไฟล์ หลังจากแก้ไขแต่ละชุด ให้รัน tsc --noEmit ถ้ามีข้อผิดพลาดให้แก้ไขเองจนกว่าจะผ่านทั้งหมด"

ครึ่งชั่วโมงต่อมา สิ่งที่ฉันทำคือ: ดู diff ที่มันแก้ พยักหน้าหรือส่ายหัว บางครั้งบอกมันว่า "ประเภทตรงนี้อย่าใช้ any ให้นิยาม interface" แล้วมันก็ทำงานต่อ สุดท้ายโปรเจกต์编译ผ่าน เร็วกว่าที่ฉันคาดไว้หลายเท่า

แน่นอนว่านี่ไม่ได้หมายความว่า Claude Code ฉลาดกว่าปลั๊กอิน แต่ มันสามารถทำวงจร "แก้ไข-ตรวจสอบ-ซ่อมแซม" ได้ด้วยตัวเอง ซึ่งเป็นความแตกต่างที่สำคัญที่สุดระหว่างมันกับ AI แบบแชท

สุดท้ายแล้ว เทอร์มินัลให้มือและเท้าแก่ AI

การนำ AI ใส่ในเทอร์มินิล โดย本质แล้วคือการให้ความสามารถในการดำเนินการ ไม่ใช่แค่การแนะนำ

มันทำให้ repository โค้ดของคุณไม่ใช่แค่ข้อความที่อ่านได้อีกต่อไป แต่กลายเป็นสภาพแวดล้อมจริงที่ AI สามารถ "สัมผัส" แก้ไข และตรวจสอบได้ นี่คือการก้าวกระโดดครั้งใหญ่

คุณยังคงควบคุมทิศทางของโปรเจกต์และการตัดสินใจสำคัญทั้งหมด แต่งานที่ยุ่งยาก มีความคิดสร้างสรรค์ต่ำ และต้องกระโดดไปมาบ่อยครั้ง ก็มีผู้รับผิดชอบที่เหมาะสมมากขึ้น

评论

暂无已展示的评论。

发表评论(匿名)