6 tuần sử dụng Claude Code
(blog.puzzmo.com)- Sau khi đưa Claude Code vào sử dụng, cách viết và bảo trì code quy mô lớn đã thay đổi mạnh mẽ — đến mức có thể ví như “thời kỳ nhiếp ảnh du nhập vào thế giới lập trình”, cho phép triển khai nhanh và tự do biểu đạt
- Những công việc lặp lại và từng bị xem là “nợ kỹ thuật” (migration, thay framework, v.v.) giờ có thể được một người xử lý song song rất nhanh, gần như không tạo thêm gánh nặng dù làm cùng công việc chính
- Hình thành kiểu phát triển mang tính thử nghiệm theo tinh thần “cứ làm trước rồi đánh giá sau”, với khả năng dễ dàng tạo/xóa test, abstraction và code thử nghiệm, từ đó nâng cao năng suất và insight trong phát triển
- Prototype game, cộng tác và triển khai thử nghiệm được tăng tốc mạnh — game designer có thể biến ý tưởng thành bản chạy được chỉ trong vài giờ mà không cần tự viết code
- Trong môi trường thân thiện với Claude Code như monorepo, tech stack rõ ràng, codebase cập nhật mới, tốc độ và độ linh hoạt của công việc phát triển thực tế được cải thiện đáng kể
Mở đầu: Những thay đổi sau khi áp dụng Claude Code
- Trong 6 tuần sử dụng Claude Code, tác giả cảm nhận được sự thay đổi lớn trong cách viết và bảo trì code
- Có cảm giác đã có được “tự do biểu đạt” khi không còn cần tự tay viết toàn bộ mã nguồn
- Với Claude Code, có thể hình dung toàn bộ cấu trúc ngay từ đầu rồi dùng khả năng review và chỉnh sửa để tạo ra thành phẩm
- Giống như khi nhiếp ảnh xuất hiện làm giảm sức hút của việc vẽ tay, cách con người nhập liệu và tạo ra sản phẩm trong lập trình hiện cũng đang thay đổi mạnh
- Dù sự thay đổi này có thể khiến người ta bất an, sự xuất hiện của các công cụ dựa trên LLM đang tạo ra một chuyển dịch mô hình trong lập trình
1. Claude Code đã thay đổi cách viết và bảo trì code như thế nào
- Những việc như migration, refactoring, xử lý nợ kỹ thuật vốn trước đây mất hàng tuần đến hàng tháng, sau khi dùng Claude Code đã có thể được triển khai song song và hoàn tất chỉ trong 6 tuần
- Ví dụ: chuyển hàng trăm component React Native sang React, thay thế hệ thống RedwoodJS, migration từ Jest sang Vitest, server-side rendering, refactor design system, nâng cấp Node 22, v.v.
- Các side project hoặc backlog vốn phải “xếp lịch riêng để xử lý” giờ có thể làm song song với công việc chính trong thời gian rảnh, gần như không tạo áp lực công việc
- Công thức cũ kiểu “nợ kỹ thuật phải chờ có lịch rồi dồn lực lớn để xử lý” đã bị phá vỡ, thay vào đó là tính tức thời: bắt đầu ngay → tiến hành → hoàn thành
2. Văn hóa phát triển thử nghiệm theo kiểu “cứ làm trước rồi đánh giá sau”
- Khi có ý tưởng, tác giả thử ngay với Claude Code trước, đồng thời lặp lại việc tự động tạo rồi xóa test code ngay từ giai đoạn đầu để học hỏi
- Ngay cả khi chưa có chiến lược test frontend, vẫn có thể dùng Claude Code để tạo/xóa test theo nhiều cách khác nhau cho từng PR ngay tại chỗ, từ đó tích lũy kinh nghiệm và hỗ trợ quyết định hướng đi chung
- Những băn khoăn về ý tưởng hay abstraction cũng có thể được kiểm chứng và khám phá rất nhanh theo cách “thử trực tiếp → thất bại cũng không tốn kém”
- Chi phí của thất bại giảm mạnh, khiến chu kỳ thử nghiệm - học hỏi - ra quyết định được tăng tốc đáng kể
3. Thay đổi trong phát triển song song và cách cộng tác
- Tận dụng hai git clone/profile VSCode để tiến hành các công việc độc lập trên từng clone (ví dụ: một bên viết PR, một bên phát triển thử nghiệm)
- Trong lúc Claude Code đang làm việc trên một clone, có thể làm song song trên clone còn lại, đồng thời dùng theme hoặc port khác nhau để phân biệt rõ ràng
- Có thể viết Pull Request song song, tránh xung đột port của dev server và cải thiện hiệu quả làm việc
4. Đổi mới quy trình phát triển prototype game và thử nghiệm
- Quy trình tạo prototype game → triển khai nội bộ → nhận phản hồi → công khai hoặc hủy bỏ vốn trước đây mất từ vài tuần đến vài tháng, sau khi dùng Claude Code thì ngay cả designer cũng có thể tự tạo code và deploy lên site chỉ trong vài giờ
- Chu kỳ ý tưởng → thực thi → nhận phản hồi từ nhóm → kết thúc thử nghiệm/chuyển sang production (viết lại) đã rút ngắn một cách mạnh mẽ
- Tuy nhiên, điều này cũng kéo theo những băn khoăn vận hành mới như quản lý các game tạm thời, tiêu chí chính thức hóa hoặc loại bỏ
5. Cách sử dụng Claude Code trong coding và cộng tác hằng ngày
- Trong quá trình triage hằng tuần, tác giả dùng Claude Code GitHub action để tạo PR/thử nghiệm ngay tại chỗ, các issue nhỏ có thể áp dụng ngay
- Những thành viên có năng lực cả về sản phẩm lẫn kỹ thuật, đồng thời có tính chủ động là người tận dụng Claude Code hiệu quả nhất — kiểu ‘full-breadth developer’
- "Full-breadth developers": giúp một lập trình viên có thể chủ động dẫn dắt toàn bộ luồng công việc một cách linh hoạt
- Khi con người vẫn giữ vai trò review code, cung cấp ngữ cảnh, chỉnh sửa và đưa ra quyết định, năng suất và sức sáng tạo của cả nhóm sẽ tăng lên
6. Môi trường codebase thân thiện với Claude Code
- Monorepo: toàn bộ code/schema DB/API/logic giao diện nằm trong một nơi, rất tối ưu để Claude Code nắm ngữ cảnh và tự động hóa công việc
- Áp dụng tech stack tiêu chuẩn hóa (React, Relay, GraphQL, TypeScript, StyleX, Bootstrap, v.v.), giúp LLM dễ hiểu và dễ tự động hóa
- Việc cập nhật codebase mới và giảm thiểu legacy giúp tối đa hiệu quả khi tận dụng LLM
7. Giới hạn của Claude Code và thay đổi thực tế có thể cảm nhận
- Các thay đổi định lượng như số PR/commit không quá lớn, nhưng tốc độ cảm nhận trong công việc, độ linh hoạt và năng suất đã tăng rõ rệt
- Claude Code đóng vai trò như một pair programmer ở mức “junior giàu kinh nghiệm+” — nếu kỹ sư quản lý tốt chất lượng code, logic và ngữ cảnh thì đây là đối tác rất mạnh
- Với các công việc lặp lại, xử lý nợ kỹ thuật và thúc đẩy nhanh side project, công cụ này mang lại trải nghiệm công việc khác biệt về chất
8. Chiến lược “triển khai song song” được khuyến nghị cho junior/người học
- Không cần ám ảnh quá mức với những xu hướng mới nhất trong hệ sinh thái LLM
- Với lập trình viên mới, tác giả khuyến nghị tự viết code trước, sau đó giao cùng bài toán đó cho Claude Code để học bằng cách so sánh/phân tích
- Có thể nhanh chóng học được nhiều abstraction và pattern thực tế bằng cách tham khảo lời giải của Claude Code
- Dùng LLM như một “đối thủ cạnh tranh + người cố vấn”, từ đó phát triển đồng thời năng lực thực chiến và cảm nhận về hệ sinh thái mới
- Claude Code giống như điện thoại di động, không cần lúc nào cũng phải bật
- Điều quan trọng là giữ quyền chủ động và sử dụng nó một cách hiệu quả
9. Sự bùng nổ của side project và thử nghiệm ngắn hạn
- Những việc như thử nghiệm nhỏ, phát triển công cụ, cải thiện blog vốn khó thực hiện do hạn chế về thời gian và năng lượng, giờ có thể làm được trong vài giờ với Claude Code
- Ý tưởng → triển khai ngay → thất bại cũng không áp lực — dễ dàng song song giữa thử nghiệm sáng tạo/dự án cá nhân với production
10. Các ví dụ thực tế về hội thoại với Claude Code và review code
- Có các ví dụ cụ thể về script dọn dẹp DB, puzzle REPL, layout PDF cho crossword cùng toàn bộ quá trình yêu cầu → sinh code → chạy → chỉnh sửa → review
- LLM vẫn có thể mắc lỗi (suy luận sai, phóng đại, hardcode, v.v.) — để có giá trị thực sự, kỹ sư bắt buộc phải chịu trách nhiệm kiểm chứng logic và chất lượng
11. Vị trí của Claude Code trong kỹ nghệ phần mềm và kết luận
- Claude Code rất giỏi tiếp nhận ngữ cảnh rộng như reference code, screenshot, giải thích bổ sung, v.v.
- Claude Code là một lập trình viên hỗ trợ ở mức “post-junior (từ junior đã thành thạo trở lên)” — với sự kiên nhẫn vô hạn và tốc độ cao, nó rất hiệu quả như một đối tác làm việc thực tế
- Thiết kế/chất lượng/kiểm soát cuối cùng vẫn do kỹ sư con người đảm nhiệm, còn Claude Code mở rộng mạnh phạm vi và tốc độ của triển khai, thử nghiệm và tự động hóa
- Từ bỏ ràng buộc “phải tự tay code từng dòng”, môi trường phát triển mới cho phép tập trung nhiều hơn vào thiết kế, quản lý chất lượng và đổi mới
7 bình luận
Tôi cũng đang dùng Claude Code rất hài lòng.
Giờ chắc tôi cũng đã dùng được khoảng 6 tuần rồi.
Phần lớn nội dung đều rất đồng cảm.
https://jeho.page/essay/2025/07/15/claude-code.html
Ý kiến Hacker News
Sau khoảng 2 tuần dùng Claude Code, tôi vốn thường hoài nghi về AI coding nhưng thực sự đã rất ngạc nhiên. Muốn tích lũy kinh nghiệm thì phải vượt qua một chút đường cong học tập, đồng thời việc cung cấp đúng ngữ cảnh và chia nhỏ công việc là bắt buộc. Dĩ nhiên vẫn cần kỹ năng lập trình, và nếu ném hết những thứ mình không biết cho AI thì chắc chắn sẽ phát sinh vấn đề. Vì có hơn 25 năm kinh nghiệm nên dù Claude Code tạo ra kết quả gì tôi cũng tự tin có thể review và chỉnh lại ngay khi nó sai. Khoảng 10~15 năm trước tôi từng mơ tới thứ gì đó như giao diện thần kinh để không cần trực tiếp viết code, và Claude Code mang lại cảm giác đã phần nào hiện thực hóa điều đó. Thỉnh thoảng bị vướng giới hạn sử dụng hằng ngày nên tôi cũng chủ yếu thử dùng Gemini CLI model 2.5 pro thay thế, nhưng hoàn toàn không cùng đẳng cấp với Claude Code. Gemini quá bực bội nên không thể dùng nổi. Trước đây tôi chưa từng tưởng tượng mình sẽ dùng công cụ dev hơn 100 đô một tháng, nhưng giờ đang nghiêm túc cân nhắc nâng cấp lên gói Max.
Tôi nghĩ công cụ này rất hợp trong những tình huống mà senior developer có thể đưa lời khuyên và hướng dẫn cho junior developer. Nghe các senior xung quanh kể thì họ thường phàn nàn rằng junior lại tạo ra code còn kỳ quặc hơn, chậm hơn, kém an toàn hơn hoặc hoàn toàn hỗn loạn bằng LLM rồi đưa lên PR mà chẳng hiểu code đó. Thứ hữu ích nhất với tôi là tạo boilerplate (chỉ cần mô tả là có thể sinh luôn thiết kế class), chuyển JSON sang class hoặc định dạng khác, và các câu hỏi kiểu “Code này có vấn đề gì? Nếu là kỹ sư cấp Staff thì sẽ sửa thế nào?”. Thực tế Claude Code cũng từng phát hiện trước bug trong chính phần code do tôi tự tay gõ.
Điều thú vị là những người hoài nghi về “vibe coding” thường có kỳ vọng cực thấp trước khi thật sự dùng thử công cụ. Nhiều người nghĩ code do LLM sinh ra sẽ là rác và lấy vài ví dụ cực đoan làm mức trung bình. Nhưng khi tự dùng rồi thì lại ngạc nhiên vì nó tốt hơn dự đoán rất nhiều. Dĩ nhiên không thể dùng Claude Code để thần tốc làm ra một SaaS trị giá tỷ đô với đội 10 người, nhưng vẫn có rất nhiều người đang đánh giá thấp sức mạnh thực tế của công cụ này.
Nói chính xác thì bạn không thực sự đang làm vibe coding. Nó gần hơn với software engineering có sử dụng AI. Vibe coding nghĩa là cứ thế dùng nguyên code AI đưa ra mà không hiểu gì rồi tiếp tục tiến lên. Vì cách định nghĩa thuật ngữ này mỗi người một khác, tốt nhất cũng đừng quá tin vào chính khái niệm vibe coding.
Mới vài tháng trước thôi tôi còn không trả quá 20 đô cho bất kỳ dịch vụ subscription nào, nhưng giờ đang trả 200 đô mỗi tháng cho gói Max 20. Có lẽ vì tôi là lập trình viên người Slovakia sống ở Mỹ với 20 năm kinh nghiệm nên chính tôi cũng thấy bất ngờ. Tôi cũng đã thử các công cụ khác, nhưng rất khó cảm nhận trực tiếp mức tăng năng suất và hiệu quả đến cỡ này. Claude Code thật sự ở một tầm khác. Tất nhiên vẫn phải theo sát từng chi tiết, nhưng cách của tôi là dùng Plan Mode để lên yêu cầu và kế hoạch thay đổi code thật kỹ, khi đã đồng ý 100% thì mới cho chạy, sau đó review kết quả bằng code review. (Compiler error, unit test, lint issue thì AI tự sửa.) Cảm giác như có một junior engineer hơi kỳ quặc nhưng rất hiểu biết và cực kỳ nhanh. Hướng phát triển của software development rõ ràng đang đi theo phía này, và đó là tương lai.
Gần đây tôi thấy các model Claude không đáng tin lắm khi viết/sửa SQL. Ví dụ nó tạo điều kiện
WHEREkhá tốt nhưng lại không nhómAND/ORbằng dấu ngoặc, còn Gemini pro thì phát hiện chính xác đây là một bug.Tôi hoàn toàn đồng ý rằng Claude Code đang dẫn trước rõ ràng mọi công cụ cạnh tranh. Từ năm 2023 tôi đã tự làm cli tool cho AI code generation và có thể nói là đã thử gần như mọi lựa chọn lớn. Tôi rất đồng cảm với nhiều phương pháp của tác giả:
docs/external-deps)Ở mục thứ hai (bắt đầu với spec tốt), tôi tò mò cụ thể bạn tổ chức spec như thế nào. Bạn có tách ra thành tài liệu Markdown riêng không, và cần chi tiết tới mức nào? Ngoài ra tôi cũng đồng ý với lời khuyên “phải chuẩn bị test ngay từ đầu”, nhưng trên thực tế khi Claude có sẵn test hooking thì đôi khi nó lại bỏ qua bước viết test trước, chỉ lặp lại việc sửa lỗi mà không xác minh bug/giả định. Tôi thậm chí còn tạo cờ để bật/tắt hành vi liên quan đến test.
Monorepo có thể giúp bạn tiết kiệm thời gian, nhưng lượng tool call và token Claude tiêu thụ lại tăng lên rất nhiều. Tôi nghĩ cách như Aider, chỉ chọn đúng các file cần thiết để đưa cho AI, sẽ tốt hơn. Tôi không thật sự hiểu vì sao Claude lại nổi tiếng đến vậy. Aider tốt hơn gần như mọi mặt và còn có thể tích hợp nhiều LLM khác nhau.
Muốn dùng CC cho ra trò thì project structure phải được tổ chức tốt. Với một Django project có test, type, tài liệu được chuẩn bị tốt thì CC làm gần như mọi thứ rất ổn, dù vẫn cần hướng dẫn ở từng chặng. Gần đây tôi còn làm side project chạy CC offline bằng model local. Phiên bản đầu tiên tôi làm khá ổn nhờ ChatGPT, nhưng khi chuyển sang CC thì CC lại có xu hướng đi vòng vo ở các vấn đề cốt lõi, né tránh lỗi, và thay vì refactor code cũ hay sửa bug thì cứ thích tạo thêm file/script mới.
Tôi muốn hỏi bạn có trực tiếp format tài liệu bên ngoài vào trong project không. Phần lớn project chỉ có tài liệu trên website, nên tôi tò mò liệu bạn có dành thời gian tạo riêng các file Markdown gọn gàng không.
Sức mạnh thực sự của Claude Code là không chỉ dừng ở coding mà còn ở khả năng điều khiển cả máy tính. Nếu có CLI tool thì Claude có thể dùng được, và ngay cả khi không có thì hỏi Claude vẫn thường khiến tôi bất ngờ. Ví dụ tôi đã giao cho nó đủ loại việc lặt vặt như crop/resize ảnh, trích xuất mp3 từ video YouTube, xóa đoạn im lặng trong file âm thanh, v.v. Nhờ vậy tôi tiết kiệm được một lượng thời gian khổng lồ. Tôi thậm chí không còn nhớ mình từng làm thế nào trước đây. Có lẽ sẽ không thể quay lại cách cũ nữa.
Tốt hơn là cấp cho Claude một máy tính riêng thay vì nối nó vào máy thật của bạn (và luôn là máy riêng, không phải máy chính của bạn). Với tôi, IDE chạy trên cloud VM, Claude được kết nối vào đó và tôi truy cập qua trình duyệt (https://brilliant.mplode.dev). Theo tôi đây là UX tối ưu nhất, gần nhất với việc vận hành agent. Không cần chuẩn bị terminal hay ssh, chỉ cần đăng nhập là xong, instance sẽ tự tạo/tự tạm dừng. Kết quả là Claude + Linux instance cá nhân + IDE có thể mở ra ngay chỉ bằng một đường link. Sau này tôi còn định cho phép bật nhiều instance tùy ý và kiểm soát chi tiết quyền hạn, filesystem, quyền container (JWT, v.v.). Nếu có sự cố hay cần review thì chỉ việc vào thẳng IDE để xử lý. Cũng không cần UI riêng, có thể xem trong nhiều panel của IDE hoặc chạy trực tiếp web app trong container để dùng. Đã lâu lắm rồi tôi mới thấy phấn khích trước sự phát triển công nghệ như lúc này.
Dù mọi thứ trông có vẻ rất tuyệt, nhưng nếu chỉ xét đầu ra code thực tế thì dữ liệu trước và sau gần như không khác mấy. Dù làm việc với Claude thì commit, PR, số dòng code cũng không khác đáng kể so với trước đây. Tức là AI coding tạo cảm giác “năng suất đã tăng” và “thật vui vì mình tạo được gì đó mà không phải tự tay làm hết”, nhưng trên thực tế vẫn cần một lượng lớn review, chỉnh sửa và re-prompt, nên tổng sản lượng cuối cùng lại tương tự. Và khi giao các phần khó cho AI, năng lực thiết kế/tư duy của bản thân dần yếu đi. Nếu bạn chỉ dùng Claude hay LLM trong một tháng rồi thử tự làm một app nhỏ, bạn sẽ thấy không chỉ code mà ngay cả việc thiết kế cấu trúc tổng thể cũng khó hơn. Về lâu dài, codebase có nguy cơ xuống cấp từ từ và rốt cuộc thành tác động âm (ít nhất là với thế hệ LLM hiện tại).
Trước đây tôi từng phải tự làm từng câu lệnh ImageMagick
mogrifytheo kiểu cũ. Nhờ có công cụ AI hỗ trợ mà tiết kiệm được điên cuồng thời gian.Tôi từng nhờ Claude chẩn đoán nguyên nhân chiếc Linux PC cứ bị crash, nó lấy log bằng
journalctlrồi xác định được nguyên nhân nên đã giúp rất nhiều. Đó là một trải nghiệm nó trực tiếp giúp giải quyết vấn đề.Một ví dụ khác là việc tạo static site giờ cực kỳ dễ. Viết bài bằng cú pháp nào cũng được, chỉ cần bảo Claude Code chuyển post này sang định dạng blog là nó tự xử lý. Chẳng hạn chỉ cần ghi “hãy chèn ảnh
image.jpeg” là nó làm ngay. Không cần bị ràng buộc bởi Markdown hay định dạng Hugo nên rất tiện.Với tư cách người đã dùng Claude code 12~16 tiếng mỗi ngày, tôi rút ra được vài mẹo như sau:
Mục 5 không chỉ áp dụng cho Docker; nếu tích hợp với playwright MCP server thì còn có thể kiểm tra ngay UI và request nữa. 6. Bắt đầu bằng plan mode rồi chỉnh sửa lặp lại cho tới khi kế hoạch vừa ý. 7. Tích cực dùng tính năng slash command (
/command) như các mini prompt để liên tục cải thiện, cung cấp context và cả chỉ thị sử dụng công cụ ngoài nhưgh. Với compacting, tuyệt đối đừng để từ 0% rồi đột ngột mới làm, mà nên áp dụng ở thời điểm trung gian hợp lý. Còn mục 1 (khuyên dùng sonnet) thì có thể có người không đồng ý.Tôi vốn có xu hướng tránh Docker, nhưng rất tò mò về mẹo số 5 (dùng Claude để orchestration Docker). Muốn biết bạn dùng format prompt như thế nào.
Tôi cũng đã dùng thành công cách tạo trước một file
plan.mdcực kỳ chi tiết (kết nối giữa các hệ thống, kiến trúc tổng thể, v.v.), rồi chạy qua đêm bằng công cụ như claude-loop (https://github.com/DeprecatedLuke/claude-loop), sáng ra thì vá thủ công.Tôi tò mò không biết dùng Claude Code 16 tiếng mỗi ngày là dùng kiểu gì.
Đôi khi Claude có xu hướng lục lọi quá mức bên trong container. Tôi chỉ muốn nó hiểu code thôi, nhưng nó lại cố chạy code trong container bằng đủ mọi cách khiến mọi thứ hóa tệ hơn. Trước đây nó cũng từng pipe file vào lệnh cli mà chẳng tạo ra hành động gì, như một ví dụ cho thấy nó có xu hướng ám ảnh với việc phải chạy thử gì đó.
Tôi không biết Claude Code thực sự tốt đến mức nào (vì chưa trực tiếp dùng), nhưng có một điều cá nhân tôi đang trăn trở. Tôi muốn refactor một dự án cá nhân viết bằng gdscript (kiểu Python) vốn rất chậm và lộn xộn sang C# để gọn hơn và nhanh hơn. Đây là một thử thách mới đối với tôi và cũng có giá trị học tập lớn. Nếu dùng Claude thì có cảm giác như tự tước đi một cơ hội quý giá để học (và về lâu dài có lẽ cũng tốt cho sự phát triển của bản thân), còn nếu không dùng thì lại thấy mình đang lãng phí thời gian vào một công việc chán ngắt mà sau này sớm muộn cũng sẽ được tự động hóa. Thế là cứ lặp đi lặp lại tình thế tiến thoái lưỡng nan này.
Trong 35 năm làm nghề, với bất kỳ LLM nào tôi cũng chỉ giao cho AI những việc tôi tự giải được nhưng không muốn làm vì quá chán hoặc lặp lại. Ví dụ sửa schema Open API 3.0 thì tự làm cũng chẳng học thêm gì nên tôi giao cho Claude; sinh code ví dụ cũng để AI làm. Khi có điểm học mới thực sự thì tôi ghi lại thành flashcard trong ứng dụng như Anki SRS hoặc viết vào blog TIL. Hoặc tự tay implement ví dụ vài lần để biến thành kinh nghiệm. Mấu chốt là phải gắn kiến thức mới vào não ít nhất hai lần thì mới học hiệu quả. Cũng như khi học một từ mới trong ngôn ngữ tự nhiên thì phải dùng nó trong 3 câu khác nhau.
Nếu không tự review code được sinh ra (tức là chưa nắm đủ C#) thì codebase sẽ hỏng rất nhanh. LLM coding có xu hướng tích lũy lỗi nên nhất định phải cải thiện, nếu không nó sẽ thành một đống rác không thể bảo trì. Bạn bè xung quanh tôi nói họ để AI sinh đủ test code để phát hiện vấn đề sớm, nhưng tôi vẫn chưa áp dụng được cách đó. Code của tôi lại thiên về logic hơn là thuật toán nên việc viết test cũng khá mơ hồ.
Sau 16 năm làm developer chuyên nghiệp, tôi cảm thấy Claude Code giúp giải quyết dễ hơn nhiều những thứ từng khiến mình bế tắc vò đầu bứt tai. Khi cần học thứ mới thật nhanh thì công cụ AI (đặc biệt là chế độ hỏi đáp như "ask") rất hiệu quả; tôi còn chủ động dùng phép so sánh, case study và mẹo ghi nhớ. Nếu mục tiêu là học sâu thông qua tăng trưởng chậm thì cách cổ điển, tự làm dù chậm vẫn tốt hơn. Nhưng nếu mục tiêu là học nhanh thì tận dụng AI cũng không tệ. Nếu chỉ cần ra kết quả thì điều quan trọng là viết spec cho tốt và chuẩn bị test cho đủ. Dù theo cách nào, cuối cùng việc liên tục tạo ra thứ gì đó vẫn là điều có ý nghĩa.
Trước đây từng có trào lưu blog kiểu “hãy tự làm thư viện x của riêng bạn”. Chính quá trình tự tay hiện thực hóa thứ gì đó mới là lúc học được nhiều nhất. Ví dụ nếu tò mò về client-side router thì hãy tự làm một router. Trong thời đại LLM, thứ gì cũng có thể bị thay bằng code thư viện, nhưng nếu tôi thật sự muốn học C# thì tốt hơn là tự port lấy. Nếu chỉ cần sản phẩm đầu ra và muốn tập trung vào chỗ khác thì có thể giao cho Claude. Việc học luôn đi kèm một giai đoạn đau đớn; nếu mọi thứ quá dễ thì thực ra bạn chẳng học được gì cả.
Trước thời AI, copy-paste mới là trào lưu chính. Những người bạn từng chép code từ Stackoverflow mà không hiểu lý do thì cuối cùng cũng chẳng học được gì. Tôi nghĩ dùng AI để hỏi lời khuyên hay giải thích khái niệm thì không sao. Nhưng nếu bảo nó viết thay tất cả thì chắc chắn sẽ không có sự học hỏi nào. Dù vậy, biết bảo vệ thời gian của mình với tư cách developer cũng là điều khôn ngoan. Có vô số thứ phải học, nên nếu mục tiêu của bạn là game development thì việc port GDscript có thể không phải là trải nghiệm bắt buộc, dù rõ ràng nó vẫn có những điều để học.
Sau khoảng 3 tuần coding với Claude Code, tôi là người có 10 năm kinh nghiệm chủ yếu làm Python ML/data engineering. Có nhiều lý do:
Việc loại bỏ nỗi đau lúc bắt đầu thật sự rất lớn. Trước đây có những thứ tôi vẫn nghĩ “giá mà có thời gian thì muốn làm”, còn bây giờ chỉ vài prompt là triển khai được. Thực tế tôi từng muốn làm game NYT Connections trên terminal, và chỉ sau 3 prompt là xong (https://github.com/jleclanche/connections-tui).
Mục số 4 đặc biệt gây ấn tượng với tôi. Trước đây để lại test hay technical debt là chuyện bình thường, còn giờ chỉ cần nói “cần cái này” là có thể tự động sinh ra cả test suite khá ổn. Dù chưa hẳn hoàn hảo, nhưng những đầu việc độ khó trung bình giờ đúng là đã có thể xử lý được.
Là một trong số ít người hiếu kỳ liên tục thử agent-based coding, tôi vẫn suy nghĩ vì sao trải nghiệm của mình lại khác số đông. Có lẽ mấu chốt nằm ở mô tả dưới đây:
Tôi muốn hỏi liệu môi trường mà người ta vẫn còn vẽ tranh và trả tiền cho tranh có thực sự tiếp tục tồn tại không. Phần lớn nghề thủ công bị lấn át bởi các quy trình lắp ráp, sản xuất hàng loạt; giờ giá trị dường như nằm ở chỗ người làm và người mua cùng tưởng tượng, cùng trải nghiệm với nhau, hơn là ở món hàng thuần túy. Không chỉ đơn giản là đặt đồ trên Amazon, mà còn là mối quan hệ với người thợ thủ công, là câu chuyện của quá trình sáng tạo. Có lẽ coding muốn tồn tại về sau cũng sẽ cần đi theo hướng như vậy.
Tôi cũng rất hiểu quan điểm này. Tôi công nhận lợi ích của agent coding cho các việc nhỏ, sửa bug, làm bản nháp. Nhưng tôi không hiểu vì sao lại nổ ra tranh luận gay gắt ủng hộ/phản đối xung quanh các giao diện khác nhau chỉ bọc một vài model. Còn tác động với junior dev thì tôi vẫn đang suy nghĩ. Nếu AI tự động cả code review thì đời tôi chắc còn vui hơn nữa.
Tôi không nghĩ phép so sánh đó hoàn toàn đúng. Trong lịch sử, painting từng là phương tiện duy nhất để tái hiện thế giới thực, còn art thì không chỉ là sao chép mà là cách diễn giải của người sáng tạo. Đó là lý do người ta vẫn vẽ tranh. Nếu xem coding là nghệ thuật thì vẫn có thể tiếp tục làm như vậy. Tuy nhiên, với nhiều người mục tiêu là product development, và bản thân sản phẩm mới là tác phẩm nghệ thuật. Nếu có thể dùng AI để đến đích đó nhanh hơn thì chẳng phải chọn AI là hợp lý sao? Mặt khác, tôi cũng hơi nhớ thời “code monkey” (chỉ chuyên viết code thuần túy). Có vẻ sắp đến lúc ai cũng sẽ như lead developer, chỉ còn làm direction, code review và quyết định kỹ thuật. Việc phải bớt chạm tay vào coding trong công việc thực tế có phần đáng tiếc.
Phép so sánh phù hợp hơn có lẽ là sự chuyển đổi từ hand-tool sang power tool. So sánh painting với photography giống như đang nói về sự xuất hiện của một medium mới, nên hơi bị kéo quá đà. Agent coding không mang tính cách mạng đến mức đó.
Tôi đã cố dùng Claude Code thật nhiều, nhưng nó quá chậm và lúc nào cũng hơi lệch nhịp nên rất bực bội. Trong phần lớn công việc tôi không có cảm giác nó giúp tiết kiệm mental energy. Có vài việc nó hữu ích, nhưng cũng nhiều lần khiến tôi bị “đâm sau lưng” nên không muốn dùng thường xuyên. Ví dụ tôi nhờ chuyển
.zshrcsang nushell mà vật lộn suốt 30 phút vẫn không chạy được, trong khi tự đọc tài liệu chính thức còn chưa tới 10 phút. Những trải nghiệm thất vọng như vậy khiến tôi rất ngại quay lại dùng Claude.Trải nghiệm này cũng gần giống tôi. Tôi từng muốn nhờ nó viết test code nhưng rồi lần nào cũng phải tự viết lại từ đầu. Debugging thì chưa một lần thấy hiệu quả. Nó chỉ tạm ổn cho các việc rất đơn giản như chuyển script (parse output lệnh, v.v.) hoặc scaffold project mới (nhưng mấy việc này đâu có diễn ra thường xuyên). Dùng để port code đơn giản thì được, nhưng số lần thất bại vẫn nhiều hơn hẳn.
Tôi muốn hỏi bạn đã thử dùng thứ như context7 MCP chưa. LLM thường yếu ở những ngôn ngữ ít phổ biến hoặc domain lạ. Cách như context7, kéo trực tiếp reference từ source mới nhất, cho cảm giác tốt hơn.
Vì RSI và hội chứng ống cổ tay nên trước đây tôi đã code ít đi, nhưng nhờ Claude mà giờ tôi lại có thể lập trình trở lại (vì cơn đau giảm còn 1/10). Ban đầu tôi còn muốn từ chối công nghệ này, nhưng nếu muốn tiếp tục sự nghiệp thì giờ nó đã trở thành thứ bắt buộc.
Tôi đã nghe rất nhiều câu chuyện tương tự. Với những người bị RSI, công cụ như Claude đúng là game changer thực sự. Nó giúp xử lý dễ dàng hơn rất nhiều các công việc lặp đi lặp lại và nhàm chán như boilerplate. Trước đây cứ nhìn thấy code lặp là cả cổ tay lẫn tinh thần đều đau, còn giờ thì không cần bận tâm nữa, thậm chí còn có thể tập trung vào các vấn đề trừu tượng/mới lạ nên việc lập trình trở nên vui hơn. Có người lo rằng “chính công cụ này sẽ kết thúc sự nghiệp của tôi”, nhưng tôi lại tin điều ngược lại: nó sẽ cứu sự nghiệp của tôi.
Từ khi bắt đầu dùng Claude, cơn đau RSI của tôi gần như biến mất. Đặc biệt, có thể thay thế các công việc lặp đi lặp lại bằng những câu lệnh và diễn đạt cực kỳ chính xác. Tôi cũng nghe nhiều trường hợp dùng nhận diện giọng nói, và có cảm giác điều này đang mở ra cánh cửa cho accessibility.
Tôi nghĩ sẽ còn hữu ích hơn nếu có thể dùng Claude Code trực tiếp bằng giọng nói. Trên MacOS có các lựa chọn TTS/ASR miễn phí, và cũng có thể gắn thêm engine giọng nói khác bằng BYOK (https://github.com/robdmac/talkito)
Nếu dùng ứng dụng STT/nhận diện giọng nói đủ chính xác và tiện lợi thì việc truyền đạt ngữ cảnh chi tiết cho Claude Code bằng giọng nói cũng rất hiệu quả. Sau khi thử nhiều ứng dụng nhận diện giọng nói, tôi thấy Wispr Flow phù hợp nhất vì có cả chế độ hands-free dựa trên phím tắt lẫn độ chính xác/tốc độ tốt. Dù vậy, tôi vẫn mong nó hỗ trợ cả ứng dụng local.
Tôi tò mò không biết bạn có đang nhập text bằng giọng nói không.
Ở góc độ bảo trì, tôi rất đồng ý với suy nghĩ của tác giả. Trước đây những việc như refactor hay TODO/ticket để nhắc lại thường chỉ được ghi ra đó, còn giờ nhờ Claude mà có thể triển khai ngay tại chỗ. Nhờ vậy lượng công sức lặp lại giảm đi rất nhiều. Cũng rất dễ thử nhanh các ý tưởng refactor, nếu không thích thì bỏ luôn. Năng lượng kích hoạt cho kiểu công việc này đã giảm xuống rõ rệt. Tôi cũng đồng ý rằng nếu cứ chạy AI agent song song/offline một cách vô tội vạ thì ngược lại sẽ dẫn tới burnout và giảm chất lượng code, nên nhất định phải giữ nó trong chế độ human supervision. Tôi có viết thêm một bài tổng hợp ở https://www.modulecollective.com/posts/agent-assisted-coding...
Tôi cũng có cảm xúc y hệt tác giả bài gốc haha
Tôi trả 200 USD và chỉ trong một giờ đã giải được bài toán nan giải kéo dài 4 năm.
Có lẽ nếu chỉ một mình tôi thì..., còn với Cursor thì tuyệt đối không giải được.
Có ai biết sự khác biệt khi dùng Claude Code so với dùng Cursor + Claude LLM không?
Hiện tại tôi đang dùng Cursor và đang phân vân có nên chuyển sang Claude Code hay không.
Ý bạn là API key của Claude LLM phải không?
Hay là bạn đang nói đến các model Agent nằm bên dưới cửa sổ chat nhỉ?
Tôi cũng đã khá hài lòng khi dùng Cursor, nhưng vì hay vướng giới hạn sử dụng nên dù dùng gói $60 vẫn luôn nơm nớp lo bị dính limit.
Vì thế tôi còn phải luân phiên dùng cả gemini cli nên khá là stress.
Cursor + Claude 4 sonnet cũng đã rất tốt rồi, nhưng vấn đề lớn nhất là qua một ngày là bị dính limit, mà một khi đã dính limit thì lại không dùng được suốt cả tháng.
Còn Cursor + Claude 4 opus thì tôi thậm chí còn không dám nghĩ tới chuyện dùng thử.
Cuối cùng vì Claude Code là dạng CLI, lại không phụ thuộc đặc tính của IDE nên tôi quyết định thử dùng.
Ban đầu tôi dùng gói $20, nhưng mà gói này cũng không có opus.
Thế là đến lúc sắp bị dính limit, tôi nghĩ thôi thì cứ thử dùng một tháng xem sao nên trả $200 để dùng, và rồi
đúng là mở ra một thế giới mới. opus... đẳng cấp khác hẳn...
Giờ mới là ngày thứ 4 kể từ lúc dùng gói $200 mà tôi đang giải quyết được hết những bài toán khó đã để tồn từ lâu haha
Không sửa bài được nhỉ
Hình như không phải một tháng mà là một ngày thì phải. Suốt cả tháng lúc nào cũng thấp thỏm.
Với lại tôi cũng cãi nhau khá nhiều với Cursor,
nhưng với Claude Code thì không cãi nhau nhiều lắm.
Ôi, cảm ơn bạn vì câu trả lời chi tiết.
Mình cũng bị dính limit nên bất đắc dĩ phải dùng Cursor ở chế độ Auto, chắc cũng phải chuyển qua thôi.