Claude Code và Tương Lai Lập Trình Với AI Agent

Trong vòng một năm trở lại đây, cách chúng ta viết code đã thay đổi nhanh đến mức chóng mặt. Nếu như trước kia AI chỉ dừng ở mức autocomplete vài dòng trong IDE, thì nay các công cụ như Claude Code đã tiến hóa thành những “người đồng hành” thực sự: có thể đọc hiểu toàn bộ project, viết, sửa, refactor, và thậm chí xây dựng ứng dụng từ đầu đến cuối.

Bài viết này tổng hợp những ý chính từ buổi trò chuyện giữa Alex và Boris (Anthropic) về Claude Code, đồng thời chia sẻ thêm vài góc nhìn cá nhân.

Link video: https://www.youtube.com/watch?v=iF9iV4xponk

Claude Code là gì?

Để hiểu Claude Code, hãy bắt đầu từ Claude. Đây là mô hình ngôn ngữ (LLM) do Anthropic phát triển, nổi tiếng nhờ khả năng suy luận tốt, trả lời an toàn và viết code khá mạnh. Tuy nhiên, nếu chỉ có một mô hình ngôn ngữ thì vẫn còn thiếu nhiều thứ để làm việc trong môi trường lập trình thực tế.

Ví dụ: nếu bạn thả Claude “chay” vào một dự án, nó có thể viết code hoặc trả lời câu hỏi, nhưng sẽ gặp khó khăn khi:

  • Không biết trạng thái repo hiện tại.

  • Không có quyền chỉnh sửa file.

  • Không thể chạy test hoặc commit.

  • Không tích hợp được vào workflow của team.

Đây chính là khoảng trống mà Claude Code ra đời để lấp đầy.

Claude Code = “Agentic IDE”

Anthropic gọi Claude Code là agentic IDE (một môi trường phát triển dựa trên agent). Nó giống một IDE thông minh, nhưng có khả năng tự hành động chứ không chỉ gợi ý.

Cấu trúc Claude Code gồm nhiều thành phần:

  1. Harness – Lớp điều phối giữa mô hình, ngữ cảnh project, và người dùng.

    • Harness giống như “bộ não phụ” để nối Claude với codebase.

    • Nó đảm bảo Claude có cái nhìn đầy đủ về repo, không chỉ một file rời rạc.

  2. Tools & Permissions – Cơ chế kiểm soát.

    • AI có thể thực hiện hành động thực sự: chỉnh sửa file, chạy script, cài dependency, commit.

    • Nhưng mọi hành động đều trong phạm vi cho phép, tránh “AI phá repo”.

  3. MCP Servers (Model Context Protocol) – Hệ thống plugin/API.

    • Cho phép mở rộng Claude Code ra ngoài: kết nối tới database, API, CI/CD, issue tracker (GitHub, Jira…).

    • Đây là điểm giúp Claude Code không chỉ làm code “trên máy”, mà còn tham gia vào toàn bộ pipeline.

  4. Settings, Hooks & Slash Commands – Tùy biến workflow.

    • Dev có thể định nghĩa shortcut (ví dụ: /fix-tests, /deploy) hoặc viết hook để AI làm việc theo cách riêng.

    • Tính năng này khiến Claude Code hackable, khác biệt so với nhiều công cụ AI coding “đóng hộp”.

  5. CLAUDE.md – Tài liệu hướng dẫn dành riêng cho AI.

    • Bạn có thể tạo file này trong repo để mô tả project, convention, style guide.

    • Claude sẽ đọc và hiểu ngữ cảnh như một dev mới join team.


Điểm khác biệt với AI coding khác

So với GitHub Copilot hay Cursor, Claude Code không chỉ dừng ở gợi ý code trong editor, mà là:

  • Có trí nhớ dài: hiểu và thao tác trên codebase lớn.

  • Có quyền hành động: sửa file, chạy lệnh.

  • Có khả năng mở rộng: thông qua MCP và plugins.

  • Có thể hack/tùy biến: lập trình viên điều chỉnh workflow theo ý mình.

Sự tiến hóa: từ autocomplete đến agent

Trong vòng một năm qua, AI coding đã thay đổi nhanh đến mức khó tin. Điểm đáng chú ý là sự tiến hóa không chỉ đến từ bản thân mô hình (model), mà chủ yếu nằm ở cách chúng ta đóng gói và sử dụng nó trong workflow thực tế.

  • Trước đây – thời kỳ autocomplete
    AI chỉ đóng vai trò như một “bộ gợi ý thông minh” trong IDE. GitHub Copilot (ra mắt 2021) là ví dụ điển hình: nó dự đoán vài dòng code tiếp theo, giống như autocomplete trong Gmail, nhưng dành cho lập trình viên. Rất tiện, nhưng vẫn giới hạn trong phạm vi vài dòng code.

  • Hiện tại – AI như đồng nghiệp
    Với các công cụ mới như Claude Code hay Cursor, AI không chỉ gợi ý từng dòng, mà có thể:

    • Đọc và phân tích toàn bộ repo.

    • Sửa lỗi và refactor hàng loạt file.

    • Review Pull Request (PR) và đưa ra nhận xét.

    • Hiểu ngữ cảnh project (nhờ cơ chế long context window như Claude 3.5 Sonnet với 200k tokens).

    Điều này biến AI từ một “công cụ hỗ trợ viết code” thành một trợ lý phát triển phần mềm thực thụ.

  • Tương lai gần – AI hiểu ý định (intent)
    Anthropic mô tả tầm nhìn tiếp theo: AI sẽ không chỉ viết code theo prompt, mà còn quản lý mục tiêu của lập trình viên.
    Ví dụ: bạn nói “Xây API thanh toán với Stripe”, Claude Code sẽ:

    1. Thiết kế cấu trúc.

    2. Tạo endpoint.

    3. Viết test.

    4. Deploy và thông báo kết quả.

    Ở giai đoạn này, AI giống một “agent” thực sự – tự động hóa toàn bộ chu trình dựa trên ý định của con người, thay vì chỉ thao tác cục bộ trên từng file.


Điều gì thúc đẩy sự tiến hóa này?

Theo chia sẻ từ Boris Cherny (Anthropic), chính feedback thực chiến từ dev nội bộ đã dẫn dắt sản phẩm. Anthropic không xây Claude Code trong phòng lab, mà cho chính nhân viên sử dụng hàng ngày để làm việc thật. Model và công cụ đồng tiến hóa:

  • Dev phản hồi về điểm yếu (ví dụ AI refactor chưa sạch → cải tiến).

  • Model mạnh hơn lại mở ra use case mới (ví dụ context dài → đọc cả repo).

Đây là lý do tại sao Claude Code không chỉ “mạnh về lý thuyết”, mà còn thực sự hữu dụng trong quy trình phát triển phần mềm.


Hackability là gì và vì sao quan trọng?

Một trong những điểm khác biệt khiến Claude Code nổi bật so với nhiều công cụ AI coding khác chính là tính hackability – tức khả năng tùy biến, mở rộng, và “bẻ cong” công cụ theo cách mà lập trình viên mong muốn.

Vì sao hackability quan trọng?

Trong thế giới phần mềm, mỗi đội và mỗi dự án có workflow riêng:

  • Có team ưu tiên CI/CD tự động, để code merge là deploy ngay.

  • Có team lại yêu cầu review thủ công và check kỹ lưỡng.

  • Một số lập trình viên thích command-line tool, số khác muốn UI trực quan.

Nếu một công cụ AI bị “đóng khung” theo một quy trình cứng nhắc, nó sẽ không thể đáp ứng được sự đa dạng này. Do đó, tính hackable là yếu tố then chốt giúp AI coding trở thành công cụ thực sự linh hoạt, thay vì chỉ là demo đẹp.

Hackability trong Claude Code

Claude Code được thiết kế để cực kỳ hackable với nhiều cơ chế:

  • CLAUDE.md: file cấu hình cho phép mô tả project, hướng dẫn AI hiểu ngữ cảnh (giống như README nhưng dành riêng cho AI).

  • Configurable workflows: bạn có thể cấu hình lại workflow qua settings, hooks hoặc script tùy chỉnh.

  • MCP servers (Model Context Protocol): cơ chế mở rộng theo kiểu “plugin/API”, cho phép AI tương tác với tool, service hoặc dữ liệu riêng của bạn.

  • Slash commands & sub-agents: tạo lệnh chuyên biệt (ví dụ: /generate-tests, /lint*) hoặc định nghĩa agent con để xử lý tác vụ hẹp.

Ví dụ thực tế

  • Một công ty fintech có thể viết MCP server riêng để Claude trực tiếp đọc dữ liệu từ hệ thống nội bộ, thay vì copy-paste code.

  • Một startup game có thể tạo slash command /render để AI gọi engine dựng hình trong quá trình phát triển.

  • Team backend có thể thêm CLAUDE.md để AI luôn tuân thủ chuẩn code style và kiến trúc microservices của họ.

👉 Chính vì vậy, hackability quan trọng ở chỗ: nó giúp AI không chỉ phù hợp với lập trình nói chung, mà còn thích nghi với phong cách làm việc riêng của từng lập trình viên và từng đội ngũ.


Tương lai của lập trình với AI agent

Bức tranh được Alex và Boris vẽ ra khá rõ:

  • Ngắn hạn: dev vẫn viết code thủ công, nhưng AI sẽ gánh phần “text manipulation” (refactor, đổi tên biến, viết test, v.v.).

  • Trung hạn: AI sẽ review code, đề xuất thay đổi, và có thể merge PR.

  • Dài hạn: dev chỉ cần nói “Xây API thanh toán với Stripe”, AI sẽ tự thiết kế, viết, test, deploy. Lập trình viên sẽ dần trở thành người định hướng, review và tư duy giải pháp thay vì “người gõ từng dòng code”.


Suy nghĩ cá nhân

Thật sự thì khi nhìn vào những gì Claude Code (và các agent AI khác) đang làm được, mình có cảm giác việc viết code không còn khô khan và đã trở nên dễ dàng hơn rất nhiều. Trước đây, để tạo ra một ứng dụng, chúng ta phải bỏ ra hàng tuần hay thậm chí hàng tháng để gõ từng dòng code, fix bug, rồi refactor. Nhưng giờ, AI có thể giúp sinh ra hàng nghìn dòng code chỉ trong vài phút.

Điều đó có nghĩa là: giá trị thật sự không còn nằm ở việc bạn viết được bao nhiêu dòng code, mà nằm ở việc bạn muốn xây dựng cái gì, thiết kế ra sao, và giải quyết vấn đề gì cho người dùng.

Điều này cũng kéo theo sự thay đổi lớn trong kỹ năng mà một developer cần. Thay vì chỉ tập trung vào “gõ code”, lập trình viên trong tương lai sẽ phải biết cách:

  • Đặt câu hỏi và mô tả yêu cầu rõ ràng cho AI. Đây giống như việc ra đề thi: đề càng rõ, đáp án càng đúng.

  • Hiểu và review code mà AI tạo ra, vì cuối cùng trách nhiệm với sản phẩm vẫn là của con người.

  • Kết hợp nhiều công cụ và agent để đạt được mục tiêu nhanh và hiệu quả hơn.

  • Có thể sẽ hình thành 2 nhóm nghề: người phát triển sản phẩm (product developer) và người lập trình ở mức thấp hơn (low-level developer) để xây dựng module cốt lõi.

Nếu nghĩ kỹ thì kỹ năng này khá giống với vai trò của một technical architect hơn là một coder thuần túy: định hình giải pháp, kết nối các mảnh ghép, và đảm bảo hệ thống hoạt động ổn định.

Về cơ hội và thách thức thì mình thấy rõ ràng:

  • Cơ hội: thời gian từ ý tưởng → sản phẩm rút ngắn cực kỳ nhiều. Một cá nhân giờ đây có thể làm được những thứ mà trước kia phải cần cả một team. Điều này mở ra rất nhiều cơ hội cho sáng tạo và khởi nghiệp.

  • Thách thức: nếu chỉ dừng lại ở việc “biết code”, bạn sẽ nhanh chóng bị thay thế. AI có thể viết, sửa, refactor code rất nhanh, nhưng AI chưa thể giao tiếp và thấu hiểu con người. Những kỹ năng như trao đổi với khách hàng, lắng nghe nhu cầu, đàm phán, thuyết phục, hay đơn giản là xây dựng niềm tin vẫn là phần không thể thiếu – và chỉ con người mới làm được.