Đội Tiên Phong Terminal: Khai Phá Lại Hệ Thống Tệp với Claude Code - Part 2: Bước nhảy vọt Agentic: Điều phối logic đa tệp không cần trình gỡ lỗi

X

Xuperson Institute

Khám phá bản chất 'Agentic' của Claude Code. Tìm hiểu vòng lặp thực thi lệnh, xử lý lỗi và vai trò của Giao thức Ngữ cảnh Mô hình (MCP) trong việc tạo ra sự tự chủ hoàn chỉnh.

The Terminal Vanguard: Làm chủ Hệ thống Tệp với Claude Code - Phần 2: Bước nhảy Agentic: Điều phối Logic Đa tệp mà không cần Debugger

Chuyển từ prompt đơn lẻ sang thực thi nhiệm vụ tự chủ và tự chỉnh sửa

Phần 2 trong loạt bài 4 phần "The Terminal Vanguard: Làm chủ Hệ thống Tệp với Claude Code"

Màn hình nhấp nháy với một loạt các lệnh liên tiếp. ls, cat src/auth/service.ts, grep -r "JWT_SECRET" ., npm test. Không hề có bóng dáng con người bên bàn phím.

Trong một môi trường phát triển truyền thống, chuỗi lệnh này đại diện cho một lập trình viên đang săn tìm lỗi—một quá trình thăm dò trạng thái hệ thống thủ công và có nhịp điệu. Nhưng ở đây, dưới ánh sáng lạnh lẽo của Claude Code CLI, nó đại diện cho một thứ hoàn toàn khác: vòng lặp OODA của một agent tự chủ.

Nếu Phần 1 của loạt bài này nói về sự chuyển giao từ trình duyệt sang terminal, thì Phần 2 nói về sự biến đổi của chính AI. Chúng ta đang tiến xa hơn kỷ nguyên của "chatbox"—nơi tiếp nhận các prompt một cách thụ động và lịch sự—để bước vào kỷ nguyên của "Bước nhảy Agentic" (Agentic Leap). Đây là lúc AI ngừng nói về code và bắt đầu sống trong đó, điều phối logic trên hàng chục tệp, tự thực thi các bài kiểm tra (test) và quan trọng nhất là tự sửa lỗi trước khi con người kịp nhận ra chúng tồn tại.

Vòng lặp OODA trong Shell: Cách Claude "Tư duy"

Để hiểu tại sao Claude Code mang lại cảm giác khác biệt so với một LLM trên web, người ta phải nhìn vào khung ra quyết định nội bộ của nó. Trong khi một mô hình trên trình duyệt về cơ bản là một công cụ "tự động hoàn thành" (autocomplete) suy nghĩ phức tạp, Claude Code hoạt động trên một chu kỳ quen thuộc với các phi công chiến đấu và các nhà lý thuyết chiến lược: vòng lặp OODA (Observe - Quan sát, Orient - Định hướng, Decide - Quyết định, Act - Hành động).

  1. Observe (Quan sát): Thay vì đợi bạn dán một đoạn mã (snippet), Claude Code quan sát toàn bộ hệ thống tệp. Nó đọc package.json, quét cây thư mục và ghi chú sự hiện diện của tệp .env mà nó không nên chạm vào.
  2. Orient (Định hướng): Nó ngữ cảnh hóa yêu cầu của bạn. Nếu bạn nói "sửa lỗi đăng nhập", nó không chỉ nhìn vào login.ts. Nó tự định hướng bằng cách tìm schema cơ sở dữ liệu, middleware xác thực và logic kiểm tra (validation) ở front-end.
  3. Decide (Quyết định): Nó lập kế hoạch đa bước. "Đầu tiên tôi sẽ tạo một test case để tái hiện lỗi, sau đó sửa đổi logic băm (hashing), rồi xác minh lại bằng test."
  4. Act (Hành động): Nó thực thi. Nó viết code, chạy lệnh shell và đọc kết quả đầu ra.

Vòng lặp này chính là nơi "Bước nhảy Agentic" diễn ra. Trong giao diện web, nếu AI đưa cho bạn mã không hoạt động, vòng lặp sẽ bị phá vỡ; bạn phải là người quan sát lỗi và báo cáo lại. Trong CLI, chính AI là người nhìn vào stack trace. Nó thấy ReferenceError, thở dài (theo nghĩa bóng) và ngay lập tức quay lại giai đoạn "Quan sát" để tìm hiểu xem nó đã bỏ lỡ lệnh import nào.

Model Context Protocol (MCP): Cổng USB-C cho Trí tuệ Nhân tạo

Nếu vòng lặp OODA là bộ não, thì Model Context Protocol (MCP) là hệ thần kinh. Được Anthropic ra mắt vào cuối năm 2024 và đạt đến độ chín muồi vào năm 2025, MCP đã trở thành "cổng USB-C" cho các AI agent.

Trước đây, AI giống như một "bộ não trong chậu". Để cung cấp dữ liệu cho nó, bạn phải thủ công mang dữ liệu đó đến trong một chiếc xô (chính là prompt). MCP thay đổi điều này bằng cách tạo ra một giao diện tiêu chuẩn hóa để các agent cắm trực tiếp vào các kho dữ liệu cục bộ và từ xa.

Ngày nay, Claude Code không chỉ đọc các tệp của bạn; nó cắm vào một hệ sinh thái các máy chủ MCP:

  • GitHub Server: Quản lý các PR (Pull Request), tìm kiếm các mẫu (pattern) trong các kho lưu trữ khác của tổ chức và kiểm tra mô tả lỗi (issue).
  • Postgres Server: Kiểm tra schema cơ sở dữ liệu đang hoạt động để đảm bảo bản migration mà nó đang viết thực sự khớp với các kiểu cột trong môi trường production.
  • Google Maps Server: Lấy dữ liệu địa không gian thực tế cho ứng dụng dựa trên vị trí mà bạn đang xây dựng, đảm bảo logic định tuyến dựa trên thực tế.
  • Slack Server: Thậm chí nó có thể "hỏi con người" để làm rõ yêu cầu bằng cách gửi tin nhắn đến kênh dev và đợi phản hồi xuất hiện trong cửa sổ ngữ cảnh (context window) của nó.

Giao thức này đại diện cho một sự thay đổi cơ bản trong tiện ích của AI. Bằng cách tiêu chuẩn hóa cách một agent "nhìn" thế giới, chúng ta đã chuyển từ các tích hợp mã hóa thủ công dễ gãy sang một thực tế "cắm-và-chạy", nơi một agent có thể điều hướng trong cơ sở hạ tầng doanh nghiệp phức tạp dễ dàng như một con người sử dụng VPN.

Debug tự chủ: Sự kết thúc của quy trình "Dán-và-Cầu-nguyện"

Trải nghiệm chân thực nhất về Bước nhảy Agentic là xem Claude Code xử lý một lỗi logic. Trong quy trình làm việc cũ—thứ mà chúng ta có thể gọi là "Dán-và-Cầu-nguyện" (Paste-and-Pray)—bạn sẽ dán một lỗi vào khung chat, nhận bản "đã sửa", dán ngược lại và thấy nó vẫn không hoạt động.

Trong kỷ nguyên Terminal Vanguard, quy trình làm việc diễn ra như sau:

  1. Người dùng: "Có lỗi trong quy trình thanh toán, thuế không được tính cho California."
  2. Claude: Tạo một tệp test mới tests/repro_bug.test.ts.
  3. Claude: Chạy test. Test thất bại.
  4. Claude: Sửa đổi src/logic/tax.ts.
  5. Claude: Chạy lại test. Thất bại với một lỗi khác (lỗi cú pháp).
  6. Claude: Thấy lỗi cú pháp, sửa nó, chạy lại test. Test vượt qua.
  7. Claude: Xóa tệp test tạm thời và trình bày bản diff cho người dùng.

Đây là code "tự phục hồi" (self-healing). AI đang đóng vai trò là kỹ sư QA của chính nó. Đến khi nó trình bày giải pháp cho bạn, giải pháp đó đã vượt qua sự va chạm với thực tế của môi trường runtime. Nó đã chuyển từ "sự chính xác ảo giác" sang "tính năng đã được xác minh".

Tâm lý học về sự Ủy quyền: Từ Trò chuyện sang Điều hành

Sự thay đổi này mang tính tâm lý cũng nhiều như tính kỹ thuật. Khi chúng ta tương tác với một chatbot, chúng ta đang "trò chuyện"—một hoạt động xã hội, ít rủi ro. Khi chúng ta tương tác với Claude Code, chúng ta đang "ủy quyền" (delegating).

Các nhà tâm lý học và nghiên cứu AI đã lưu ý rằng việc ủy quyền cho một agent đòi hỏi mức độ tin tưởng cao hơn nhưng lại giúp giảm đáng kể tải lượng nhận thức. Bạn không còn chịu trách nhiệm về "cách làm" (how); bạn chịu trách nhiệm về "mục tiêu" (what). Điều này thay đổi vai trò của lập trình viên từ "người viết các dòng lệnh" thành "người điều hành ý định".

Tuy nhiên, sự ủy quyền này đi kèm với một bộ kỹ năng mới: Kỹ thuật Ngữ cảnh (Context Engineering). Vì agent sống trong hệ thống tệp của bạn, nên hệ thống tệp chính là bộ nhớ của nó. Các lập trình viên hiệu suất cao hiện đang sử dụng các "tệp ngữ cảnh" như CLAUDE.md hoặc GEMINI.md để lưu trữ các quy tắc cụ thể của dự án, tuyên ngôn kiến trúc và các lệnh phổ biến. Bạn không đang dạy AI; bạn đang thiết lập ranh giới cho sân chơi của nó.

Sự trỗi dậy của Subagent: Điều phối một Đội ngũ Kỹ thuật số

Đến giữa năm 2025, "Bước nhảy" còn tiến xa hơn nữa với sự ra đời của Subagents (Agent phụ) và Background Agents (Agent chạy ngầm).

Claude Code hiện có thể tạo ra các nhiệm vụ phụ chuyên biệt. Trong khi agent chính đang refactor API của bạn, nó có thể tạo ra một "Documentation Subagent" để cập nhật README và một "Testing Subagent" để chạy toàn bộ bộ test trong một tiến trình chạy ngầm.

Tính song song này có nghĩa là terminal không còn là một cuộc hội thoại đơn luồng. Nó là một trung tâm chỉ huy. Bạn có thể thấy đội ngũ agent của mình đang làm việc ở chế độ nền—một agent lấy dữ liệu qua kết nối MCP Postgres, một agent khác kiểm tra kênh Slack để xem phản hồi của đồng nghiệp và agent thứ ba thực hiện merge code cuối cùng.

Kết luận: Sự kết thúc của kỷ nguyên "Lượt đơn"

"Bước nhảy Agentic" đánh dấu sự kết thúc của kỷ nguyên AI "lượt đơn" (single-turn). Chúng ta không còn ném một quả bóng qua bức tường và hy vọng nó quay trở lại như một kiệt tác. Chúng ta đang làm việc cùng với một quản đốc kỹ thuật số có thể điều hướng hệ thống tệp, tự điều chỉnh lộ trình và kết nối với mạng lưới dữ liệu rộng lớn của chúng ta thông qua các giao thức như MCP.

Nhưng khi AI trở nên tự chủ hơn, con người lại càng trở nên quan trọng hơn. Trong Phần 3, chúng ta sẽ khám phá "Trải nghiệm Lập trình viên Mới"—cách vai trò của lập trình viên được định nghĩa lại khi AI có thể viết, kiểm tra và debug tốt hơn một kỹ sư cấp thấp (junior engineer), và tại sao "gu thẩm mỹ kiến trúc" đang trở thành loại tiền tệ giá trị nhất trong terminal.


Tiếp theo trong loạt bài này: [Phần 3: Trải nghiệm Lập trình viên Mới: Kiến trúc hóa Ý định trong Kỷ nguyên Tự chủ - Cách vai trò của con người chuyển từ "coder" sang "người điều phối" và tầm quan trọng ngày càng tăng của gu kiến trúc so với kỹ năng cú pháp.]


Bài viết này nằm trong chuyên mục Stacks của XPS Institute. Khám phá thêm [các ứng dụng thực tiễn của kỹ thuật AI-native trong chuyên mục Solutions của chúng tôi].

Related Articles