AI & Automation

Smart Context System: Cho AI Nhớ Lâu Như Một Senior Developer Thực Thụ

By Ginbok6 min read

Vấn Đề: AI Của Bạn Bị Mất Trí Nhớ

Hãy tưởng tượng bạn vừa tham gia một dự án mới. Bạn mở Cursor, hỏi tại sao một đoạn tính thuế lại hoạt động theo cách đó — và AI không biết. Nó thấy code, nhưng không biết câu chuyện phía sau.

Bây giờ hãy tưởng tượng một senior developer ngồi cạnh bạn. Họ sẽ nói: "À cái đó à? Quý trước mình có một bug khó chịu lắm — ticket #456 — luxury tax đang được áp dụng sau VAT thay vì trước. Mất hai ngày mới tìm ra. Đây commit này."

Đó chính là khoảng trống. AI coding assistant rất giỏi đọc code, nhưng chúng không có ký ức về tại sao mọi thứ được xây dựng theo cách đó.

Smart Context System là một ý tưởng hackathon lấp đầy khoảng trống này — bằng cách cho Cursor AI bộ nhớ dài hạn được nuôi bởi hai nguồn mà team bạn đã dùng hàng ngày: Git historyAzure Boards.


Nó Thực Sự Làm Gì?

Nói đơn giản:

  • Mỗi khi developer commit code → hệ thống lặng lẽ lưu lại tóm tắt commit đó.
  • Mỗi khi một ticket chuyển sang Done trong Azure Boards → hệ thống lưu tiêu đề, mô tả, và thread thảo luận của ticket.
  • Khi sau này bạn hỏi Cursor về một bug hoặc tính năng → hệ thống tìm các commit và ticket liên quan nhất trong quá khứ, rồi tự động đưa vào prompt của bạn.

Kết quả: Cursor có thể nói "Trường hợp này trông giống ticket #456 — LuxuryTaxCalculator cần chạy trước VAT — đây commit liên quan."


Một Kịch Bản Thực Tế

Hãy xem qua cách hệ thống hoạt động trong thực tế.

Ngày 1 — Một bug được sửa

Một developer sửa xong bug tính thuế phức tạp. Họ đóng ticket WI-456 trong Azure Boards (chuyển sang Done) và push commit a3f9c1 với bản fix.

Phía sau, Smart Context System:

  1. Nhận webhook từ Azure Boards: "WI-456 đã Done."
  2. Lấy thông tin ticket và thread comment từ Azure DevOps API.
  3. Lấy code diff của commit a3f9c1 từ Git.
  4. Tùy chọn: tóm tắt cả hai bằng một LLM call nhỏ.
  5. Chuyển thành vector và lưu vào Vector Database.

Không cần làm thủ công. Tất cả diễn ra trong nền.

Ngày 30 — Một developer mới gặp vùng code đó

Một thành viên mới mở Cursor và gõ: "Tôi thấy kết quả lạ trong phần tính thuế cho hàng xa xỉ nhập khẩu."

Cursor (qua Retrieval API) tìm kiếm trong vector database, tìm thấy WI-456 và commit a3f9c1, rồi tự động đưa context này lên:

📎 Fix liên quan trong quá khứ: WI-456 — "LuxuryTaxCalculator phải chạy trước VAT để tránh double-compounding trên hàng nhập khẩu." Commit: a3f9c1 · dev@company.com · 15/01/2025

Developer mới không cần tìm trong Jira, đào git log, hay ping senior trên Slack. Câu trả lời tự tìm đến họ.


Hệ Thống Được Xây Dựng Như Thế Nào?

Đây là kiến trúc, đơn giản hóa cho người mới:


  Git Repository          Azure Boards
  (commit mới)            (ticket → Done)
       │                       │
  Scheduler              Webhook listener
  (kiểm tra mỗi N phút)  (kích hoạt ngay lập tức)
       │                       │
       └──────────┬────────────┘
                  ▼
               Queue
          (jobs xếp hàng chờ)
                  │
               Worker
          ┌────────────────┐
          │ 1. Lấy dữ liệu │  ← diff từ Git / fields+comments từ Azure
          │ 2. Normalize   │  ← chuẩn hóa metadata
          │ 3. Tóm tắt?    │  ← tùy chọn, LLM call cho text dài
          │ 4. Chunk       │  ← chia thành đoạn có thể tìm kiếm
          │ 5. Embed       │  ← chuyển thành vector
          └────────────────┘
                  │
            Vector Database
                  │
          Retrieval API / MCP
                  │
           Cursor IDE Context

Mỗi thành phần có một nhiệm vụ đơn giản. Không có gì là phép màu — chỉ là một pipeline được kết nối tốt.


Hai Loại Job

Worker xử lý hai loại job khác nhau:

Commit Job

BướcĐiều gì xảy ra
TriggerScheduler poll Git để tìm commit mới kể từ lần chạy trước
FetchWorker gọi Git API để lấy diff cho từng SHA
Lưu trữCommit message + file thay đổi + diff → chunk → embed → upsert

Work Item Job

BướcĐiều gì xảy ra
TriggerAzure Boards webhook bắn khi state = Done
FetchWorker gọi Azure DevOps REST API lấy title, description, comments
Lưu trữNội dung ticket → chunk → embed → upsert (idempotent theo WI ID + revision)

"Retrieval" Trông Như Thế Nào Trong Thực Tế?

Khi bạn prompt Cursor, luồng retrieval là:

  1. Query của bạn được chuyển thành vector.
  2. Vector DB tìm Top-K chunk tương tự nhất đã lưu.
  3. Những chunk đó — kèm link nguồn (SHA, Azure URL) — được inject vào context Cursor.
  4. Bạn nhận được câu trả lời dựa trên lịch sử thực tế của dự án.

Có hai lựa chọn tích hợp:

  • MCP Server — Cursor hỗ trợ native, tích hợp sâu, ít config sau khi setup xong.
  • HTTP Retrieval API — Linh hoạt hơn, gọi được từ .cursorrules hoặc custom tool.

Tại Sao Chỉ Git + Azure Boards?

Câu hỏi thường gặp: tại sao không index thêm PR, deploy log, Slack messages?

Câu trả lời ngắn: hai nguồn đó đã cover 80% giá trị.

  • Git diff trả lời "thay đổi cái gì và như thế nào."
  • Done ticket trả lời "tại sao thay đổi và team đã quyết định gì."

Thêm nguồn khác tăng độ phức tạp mà không tương xứng với lợi ích — đặc biệt với hackathon prototype. Giữ đơn giản, chứng minh nó hoạt động, mở rộng sau.


Bạn Cần Gì Để Xây Dựng

Thành phầnLựa chọn đơn giảnLựa chọn enterprise
BackendFastAPI (Python)Node.js / Azure Functions
QueueRedis + CeleryAzure Service Bus
Vector DBChromaDB (local)Azure AI Search / pgvector
EmbeddingsOpenAI text-embedding-3-smallAzure OpenAI (enterprise)
SummarizerGPT-4o-miniAzure OpenAI
Tích hợp CursorHTTP tool + pasteMCP Server với citations

Cho hackathon: bắt đầu với ChromaDB + FastAPI + GPT-4o-mini. Bạn có thể có prototype chạy được trong một cuối tuần.


Tác Động — Trước và Sau

Tình huốngKhông có Smart ContextCó Smart Context
Dev mới gặp bug cũTìm Jira + git log 20+ phútCursor surface ticket liên quan trong vài giây
Senior dev rời teamKiến thức theo người mà điQuyết định của họ sống mãi trong vector DB
AI đưa ra gợi ý saiKhông có lịch sử để đính chínhRetrieval neo câu trả lời vào các fix trong quá khứ
Onboarding thành viên mớiVài tuần theo dõi và đọc tài liệuHệ thống giải thích "tại sao" theo yêu cầu

Lời Kết

AI assistant tốt nhất không phải là cái có model lớn nhất. Mà là cái biết về dự án của bạn — những bug đã sửa, những quyết định đã đưa ra, những ticket khiến cả team thức khuya.

Smart Context System là một ý tưởng thực tế, có thể xây dựng được mà bất kỳ team nào cũng có thể prototype trong hackathon và phát triển thành một công cụ tăng năng suất thực sự. Hạ tầng thì standard. Dữ liệu đã có sẵn. Bạn chỉ cần kết nối các điểm lại với nhau.

Git + Done tickets → vector memory → Cursor context. Đó là toàn bộ ý tưởng.

#RAG#Cursor AI#Azure Boards#Vector DB#Hackathon#AI Tooling#Developer Productivity
← Back to Articles