AI & AUTOMATION

Cognee: Thiết lập bộ nhớ tri thức cho AI Agent chỉ với 6 dòng code

Tóm tắt:

  • Tích hợp siêu tốc: Chỉ cần 6 dòng Python để khai báo bộ nhớ có cấu trúc cho bất kỳ AI Agent nào.
  • Kiến trúc đồ thị tri thức: Cognee không chỉ lưu văn bản – nó tự động trích xuất thực thể, mối quan hệ và liên kết chúng thành một đồ thị sống động.
  • Đa nguồn dữ liệu: Xử lý được văn bản, tài liệu PDF, ảnh, âm thanh và dữ liệu có cấu trúc trong cùng một pipeline.
  • Tìm kiếm lai (Hybrid Search): Kết hợp tìm kiếm ngữ nghĩa (vector) và tìm kiếm quan hệ (graph) để trả lời câu hỏi chính xác và giàu ngữ cảnh hơn.
  • Mã nguồn mở, chạy được cục bộ: Không cần phụ thuộc vào dịch vụ đám mây bên thứ ba để bắt đầu.

Vấn đề cốt lõi: tại sao AI Agent “quên” mọi thứ?

Khi xây dựng một AI Agent thực thụ – không phải một chatbot đơn giản – bạn sẽ nhanh chóng va vào một giới hạn căn bản: Agent không có bộ nhớ dài hạn. Mỗi phiên hội thoại mới là một tờ giấy trắng. Mọi ngữ cảnh từ các cuộc trò chuyện trước, mọi tài liệu đã đọc, mọi quyết định đã thực hiện – tất cả đều biến mất.

Giải pháp phổ biến nhất hiện nay là RAG (Retrieval-Augmented Generation): lưu tài liệu vào một vector store, khi có câu hỏi thì truy xuất những đoạn văn bản tương đồng nhất và nhét vào prompt. Cách tiếp cận này hoạt động được trong nhiều trường hợp, nhưng có một điểm yếu cơ bản: nó truy xuất văn bản, không truy xuất tri thức.

Hãy thử tưởng tượng: bạn có một kho tài liệu nội bộ gồm hàng trăm văn bản về quy trình, nhân sự, sản phẩm. Khi AI hỏi “Ai phụ trách dự án X và dự án đó liên quan đến sản phẩm nào?”, vector store sẽ trả về những đoạn văn bản chứa từ khóa gần đúng, nhưng không thể tự nó đi theo chuỗi quan hệ: người → dự án → sản phẩm. Đây chính là khoảng trống mà Cognee lấp đầy.

Cognee là gì và tại sao nó được gọi là “Knowledge Engine”?

Cognee là một knowledge engine mã nguồn mở, được thiết kế để biến dữ liệu thô thành một “bộ não” có cấu trúc cho AI Agent. Điểm khác biệt cốt lõi so với một vector database thông thường nằm ở chỗ: Cognee không chỉ lưu trữ và tìm kiếm – nó hiểu dữ liệu.

Khi bạn đưa một tài liệu vào Cognee, hệ thống sẽ không đơn thuần cắt nhỏ văn bản thành các chunk rồi nhúng (embed) chúng. Thay vào đó, Cognee:

  1. Phân tích nội dung để trích xuất thực thể (người, tổ chức, khái niệm, sự kiện).
  2. Xác định mối quan hệ giữa các thực thể đó.
  3. Liên kết chúng vào một đồ thị tri thức (knowledge graph) có cấu trúc.
  4. Đồng thời lưu các embedding vector để hỗ trợ tìm kiếm ngữ nghĩa.

Kết quả là một lớp bộ nhớ vừa có thể tìm kiếm theo nghĩa (semantic search), vừa có thể điều hướng theo cấu trúc quan hệ (graph traversal). Đây là lý do Cognee được định nghĩa là “Knowledge Engine” thay vì chỉ là một “Vector Store”.

Kiến trúc cốt lõi của Cognee

Ba tầng lưu trữ hoạt động song song

Cognee được xây dựng trên nguyên tắc rằng không có một loại cơ sở dữ liệu đơn lẻ nào đáp ứng được đầy đủ nhu cầu bộ nhớ của AI. Vì vậy, hệ thống sử dụng ba tầng lưu trữ bổ sung cho nhau:

  • Relational store: Theo dõi tài liệu, các đoạn văn bản (chunks) và nguồn gốc dữ liệu (provenance). Đây là tầng “hành chính” – biết dữ liệu nào đến từ đâu, được xử lý khi nào.
  • Vector store: Lưu trữ các embedding – biểu diễn số học của nội dung – để thực hiện tìm kiếm ngữ nghĩa. Khi bạn hỏi một câu, vector store tìm những đoạn văn bản có nghĩa gần nhất, kể cả khi từ ngữ hoàn toàn khác nhau.
  • Graph store: Lưu trữ các thực thể và mối quan hệ dưới dạng đồ thị (nodes và edges). Đây là tầng “hiểu biết” – nơi Cognee biết rằng "Alice"nhân viên của "Công ty X""Công ty X"đối tác của "Dự án Y".

DataPoint – đơn vị cơ bản của tri thức

Khái niệm trung tâm trong kiến trúc Cognee là DataPoint. Mỗi DataPoint vừa định nghĩa một node (thực thể) vừa định nghĩa các edge (mối quan hệ) thông qua các trường dữ liệu của nó. Khi nhiều DataPoint được tạo ra từ cùng một nguồn tài liệu, chúng tự động liên kết với nhau, hình thành một mạng lưới tri thức chứ không chỉ là một danh sách các mảnh văn bản rời rạc.

Pipeline xử lý dữ liệu

Luồng xử lý của Cognee đi theo ba bước chính:

  1. add() – Nạp dữ liệu đầu vào: văn bản, file PDF, ảnh, âm thanh, hay URL.
  2. cognify() – Đây là bước cốt lõi. Cognee phân tích dữ liệu, trích xuất thực thể và quan hệ, lưu vào cả ba tầng storage. Quá trình này biến “tài liệu” thành “tri thức có cấu trúc”.
  3. search() – Truy vấn sử dụng hybrid search: kết hợp vector similarity và graph traversal để trả lời câu hỏi với ngữ cảnh đầy đủ.

Cài đặt Cognee trên môi trường Python

Yêu cầu hệ thống

  • Python phiên bản từ 3.10 đến 3.13.
  • Một API key cho LLM provider (mặc định là OpenAI, có thể thay thế bằng các provider khác).

Cài đặt thư viện

Cognee có thể cài đặt qua pip, poetry hoặc uv:

# Sử dụng pip
pip install cognee

# Hoặc sử dụng uv (khuyến nghị cho môi trường ảo hiệu năng cao)
uv pip install cognee

Cấu hình biến môi trường

Cách đơn giản nhất là khai báo API key trực tiếp trong code:

import os
os.environ["LLM_API_KEY"] = "your_openai_api_key_here"

Hoặc tạo file .env tại thư mục gốc của dự án:

LLM_API_KEY=your_openai_api_key_here
LLM_PROVIDER=openai
LLM_MODEL=gpt-4o-mini

Cognee hỗ trợ nhiều LLM provider khác nhau bao gồm Anthropic, Google Gemini, Ollama (cho mô hình chạy cục bộ hoàn toàn), và nhiều provider khác thông qua LiteLLM.

Triển khai bộ nhớ AI Agent trong 6 dòng code

Dưới đây là ví dụ tối giản thể hiện toàn bộ vòng đời của một pipeline bộ nhớ – từ nạp dữ liệu đến truy vấn:

import cognee
import asyncio

async def main():
    await cognee.add("Nguyễn Văn An là Trưởng phòng Kỹ thuật tại Công ty Tối Giản. Anh phụ trách dự án Atlas.")
    await cognee.cognify()
    results = await cognee.search("Ai phụ trách dự án Atlas?")
    for result in results:
        print(result)

asyncio.run(main())

Chỉ với sáu dòng lệnh có nghĩa (không tính import và boilerplate), AI đã có thể:

  • Ghi nhớ thông tin về một thực thể cụ thể.
  • Xây dựng mối quan hệ giữa người, vai trò, tổ chức và dự án.
  • Truy xuất câu trả lời chính xác dựa trên cấu trúc quan hệ, không chỉ dựa trên sự tương đồng từ ngữ.

Mở rộng với nhiều nguồn dữ liệu

Cognee không giới hạn ở văn bản đơn thuần. Pipeline có thể mở rộng để xử lý file và URL:

import cognee
import asyncio

async def main():
    # Nạp nhiều loại dữ liệu trong cùng một pipeline
    await cognee.add("reports/Q1_2025.pdf")
    await cognee.add("https://company.internal/wiki/org-chart")
    await cognee.add("Chính sách bảo mật dữ liệu phiên bản 3.2 được phê duyệt bởi CISO vào tháng 3 năm 2025.")

    # Cognify sẽ xử lý tất cả các nguồn, trích xuất thực thể và quan hệ
    await cognee.cognify()

    # Truy vấn hybrid: vector + graph
    results = await cognee.search("Chính sách bảo mật hiện hành do ai phê duyệt?")
    for result in results:
        print(result)

asyncio.run(main())

Ứng dụng thực tế

Chatbot hỗ trợ khách hàng doanh nghiệp

Trong bối cảnh doanh nghiệp, một chatbot nội bộ thường phải trả lời câu hỏi liên quan đến nhiều thực thể: nhân viên, dự án, sản phẩm, chính sách. RAG truyền thống có thể trả về đoạn văn bản liên quan, nhưng không thể truy theo chuỗi quan hệ nhiều bước.

Với Cognee, toàn bộ tài liệu nội bộ – SOP, hợp đồng, báo cáo kỹ thuật – được đồng hóa thành một đồ thị tri thức. Chatbot có thể trả lời câu hỏi như “Hợp đồng nào liên quan đến khách hàng A và hiện đang do phòng nào quản lý?” một cách chính xác và có thể truy vết nguồn gốc.

Trợ lý cá nhân có bộ nhớ liên tục

Với người dùng cá nhân, Cognee đóng vai trò là “bộ não thứ hai” (second brain) thực sự có cấu trúc. Thay vì chỉ lưu ghi chú dưới dạng văn bản phẳng, mọi thông tin được liên kết với nhau. Trợ lý có thể nhớ rằng “cuốn sách X đề cập đến khái niệm Y, khái niệm đó cũng xuất hiện trong ghi chú của bạn từ tuần trước khi xem video Z” – và đây là cấp độ kết nối mà vector search đơn thuần không thể đạt được.

Agent nghiên cứu tự động

Trong các hệ thống agentic phức tạp – nơi nhiều Agent phối hợp để thực hiện tác vụ dài hạn – Cognee cung cấp một lớp bộ nhớ chia sẻ. Agent A có thể ghi nhận phát hiện vào knowledge graph; Agent B sau đó truy vấn và xây dựng dựa trên những phát hiện đó. Đây là nền tảng cho khả năng cross-agent knowledge sharing – tính năng không thể có với vector store độc lập của từng agent.


Cognee đại diện cho một bước tiến thực chất trong kiến trúc bộ nhớ AI: từ “lưu trữ và tìm kiếm” sang “hiểu và kết nối”. Việc tự động trích xuất thực thể và quan hệ từ dữ liệu thô, kết hợp với hybrid search trên cả vector store lẫn graph store, tạo ra một lớp nhận thức mà AI Agent thực sự cần để hoạt động hiệu quả trong các môi trường phức tạp.

Với chỉ sáu dòng code để bắt đầu và kiến trúc có thể mở rộng cho production, Cognee là điểm khởi đầu xứng đáng cho bất kỳ nhà phát triển nào đang xây dựng AI Agent cần bộ nhớ dài hạn có chiều sâu.

Duy Nghiện
Hãy làm khán giả, đừng làm nhân vật chính :)

You may also like

Nhận thông báo qua email
Nhận thông báo cho
guest

0 Bình luận
Mới nhất
Cũ nhất Nhiều like nhất
Phản hồi nội tuyến
Xem tất cả bình luận