Ngữ cảnh Toàn cục Phải Nằm Ngoài APC
APC là lớp ngữ cảnh có thể di động. APX là lớp runtime cục bộ.
Để duy trì sự ổn định của các lớp này, hãy tuân theo một quy tắc duy nhất. Nếu thứ gì đó cần phải tồn tại sau khi clone mới, hãy đưa nó vào APC. Nếu nó phụ thuộc vào một người dùng, máy tính hoặc quy trình cụ thể, hãy để nó nằm ngoài APC.
Các dự án ngày càng lớn dần và sự cám dỗ cũng theo đó. Bạn có thể muốn thêm một cài đặt nữa hoặc một đường dẫn cục bộ. Nếu bạn không nghiêm ngặt, repo của bạn sẽ trở thành một "bãi rác" dữ liệu máy tính. Điều này khiến repo trở nên mong manh.
APC nắm giữ ý nghĩa thuộc về dự án. Nó là bản hợp đồng chung mà một repository mang theo.
Nội dung APC tốt bao gồm:
- Danh tính dự án
- Vai trò của Agent
- Các kỹ năng có thể tái sử dụng
- Bộ nhớ dự án đã được tinh chỉnh
- Các gợi ý MCP ở cấp độ dự án
- Các hướng dẫn trên toàn repo trong AGENTS.md
Một đồng nghiệp hoặc một máy tính mới nên đọc được những thông tin này ngay sau khi checkout.
Ngữ cảnh toàn cục thì khác. Nó thuộc về một người dùng hoặc một máy trạm.
Ví dụ về ngữ cảnh toàn cục:
- Các khóa API
- Tùy chọn trình soạn thảo
- Các bí danh (alias) cục bộ
- Đường dẫn công cụ đặc thù của máy
- Bộ nhớ runtime riêng tư
- Bộ nhớ đệm (caches)
- Bản ghi phiên làm việc (session transcripts)
- Nhật ký tin nhắn (message logs)
APX giữ trạng thái này ở cục bộ. Nó lưu trữ trạng thái runtime tại ~/.apx/. Điều này giúp dự án có thể chia sẻ được.
Việc trộn lẫn các lớp này gây ra ba vấn đề:
- Tính di động bị phá vỡ. Một repo phụ thuộc vào cấu hình cục bộ sẽ rất khó để tin cậy.
- Các đợt review trở nên nhiễu loạn. Pull requests nên hiển thị các quyết định của dự án, chứ không phải những thứ rườm rà từ máy trạm.
- Rò rỉ bí mật. Việc lưu trữ các chi tiết cục bộ khiến bạn dễ dàng commit nhầm các tệp tin.
Trước khi thêm một cài đặt, hãy tự hỏi: Liệu một người đóng góp khác có cần thứ này ngay sau khi clone không?
Nếu có, hãy dùng APC.
- Một reviewer agent cho mỗi lần clone? APC.
- Một khóa API cá nhân? Không phải APC.
- Một quyết định của dự án về quyền hạn? APC.
- Một đường dẫn trình duyệt cục bộ? Không phải APC.
- Một gợi ý MCP dùng chung? APC.
- Một bộ nhớ đệm chạy (run cache)? Không phải APC.
Quy tắc này giúp việc tự động hóa trở nên bền vững. APC mang lại cho bạn ý nghĩa có thể di động. APX mang lại cho bạn trạng thái cục bộ.
Hãy giữ ranh giới này thật rõ ràng. Nó giúp stack của bạn dễ dàng debug, chia sẻ và di chuyển giữa các công cụ hơn.
Sử dụng APC cho ngữ cảnh đi kèm với repo. Nếu nó mang tính cá nhân hoặc tạm thời, hãy giữ nó ở cục bộ.
Source: https://dev.to/agentprojectcontext/global-context-belongs-outside-apc-4fg8
Optional learning community: https://t.me/GyaanSetuAi
