Tôi Đã Xây Dựng Một Control Plane Cục Bộ Cho Các Coding Agent Của Mình

Việc sử dụng các AI agent khác nhau từng là một mớ hỗn độn.

Tôi đã sử dụng Copilot, Claude Code và OpenCode. Mỗi công cụ đều có thư mục home, cài đặt và bộ nhớ riêng. Mỗi khi tôi thêm một kỹ năng hoặc quy tắc mới, tôi lại phải tự hỏi: công cụ này mong đợi nó ở đâu?

Thư mục home của tôi trở thành một "ngăn kéo rác" chứa đầy các thư mục AI.

Tôi đã thử dùng các tệp Markdown để truyền tải kế hoạch giữa các agent. Nó có giúp ích, nhưng vẫn thất bại. Một agent có thể bỏ lỡ một giả định, và agent tiếp theo sẽ đưa ra kết quả sai. Các tệp tin cung cấp dữ liệu, nhưng chúng không cung cấp được ngữ cảnh chung (shared context).

Tôi cần một cách để:

  • Viết các quy tắc cấp cao (high-level rules) một lần duy nhất.
  • Lưu trữ các quy tắc phân quyền tại một nơi.
  • Ngừng việc phải sao chép các kỹ năng bằng tay.
  • Chia sẻ bộ nhớ giữa các dự án và phiên làm việc khác nhau.

Tôi đã xây dựng một control plane cục bộ để giải quyết vấn đề này.

Cốt lõi trong thiết lập của tôi là một thư mục duy nhất: ~/.ai.

Thay vì các thư mục rải rác, tôi sử dụng symlinks. Các công cụ nghĩ rằng chúng đang ở trong không gian riêng, nhưng cấu trúc thực sự lại nằm ở một nơi duy nhất. Tôi điều hướng toàn bộ lưu lượng model thông qua một proxy cục bộ và sử dụng một cơ sở dữ liệu SQLite dùng chung cho bộ nhớ thông qua MCP.

Điều này tách biệt hai nhiệm vụ khác nhau:

  1. Routing (Điều hướng): Các yêu cầu model đi qua một proxy cục bộ trước khi đến nhà cung cấp (provider).
  2. Memory (Bộ nhớ): Các dữ kiện tồn tại lâu dài được lưu trữ trong một kho lưu trữ cục bộ.

Nếu một model hoạt động bất thường, tôi kiểm tra proxy. Nếu một agent quên mất một chi tiết, tôi kiểm tra bộ nhớ. Điều này giúp việc debug trở nên dễ dàng.

Bộ nhớ dùng chung của tôi lưu trữ những thứ tốn công sức để tìm lại:

  • Các quyết định của dự án.
  • Các ghi chú về kiến trúc.
  • Các tùy chọn quy trình làm việc (workflow preferences).
  • Các lỗi lặp đi lặp lại.

Tôi cũng tập trung hóa bảo mật của mình. Tôi sử dụng các tệp dùng chung cho các tiêu chuẩn lập trình và các lệnh bị cấm. Điều này đảm bảo rằng việc chuyển đổi từ agent này sang agent khác không làm thay đổi mức độ an toàn của môi trường.

Đây không phải là việc tìm kiếm một agent hoàn hảo duy nhất. Đó là việc đảm bảo các agent của tôi chia sẻ đủ ngữ cảnh để việc chuyển đổi giữa chúng không mang lại cảm giác như phải bắt đầu lại từ đầu.

Source: https://dev.to/sperekrestova/i-built-a-local-control-plane-for-my-coding-agents-1bf7

Optional learning community: https://t.me/GyaanSetuAi