Agent 工程

Milvus 心智模型

把新術語映射到熟悉的“表、列、行”,再補上向量索引與記憶體載入兩個關鍵概念。

核心對象
Milvus 可類比為 職責
Collection 表 一組具有同一 Schema 的 Entity
Schema / Field 表結構 / 列 約束主鍵、向量維數與標量類型
Entity 行 一條業務對象;主鍵必須能穩定定位
Index 索引 加速向量近鄰搜索
一條知識庫 Entity
{
  "id": 42,                 # 主鍵:用於更新、刪除、追蹤
  "vector": [0.12, ...],   # 向量字段:用於 Search
  "text": "退款通常 3 天到帳",
  "category": "refund", # 標量字段:用於 Filter / Query
  "active": true
}
Search、Query、Load 各做什麼

Search

輸入查詢向量,按距離返回 Top-K;可附加 filter='active == true'。答案是“語義上誰最像”。

Query

不傳向量,按主鍵或標量表達式取數據。答案是“哪些記錄滿足條件”。

Load

搜索前把 collection 的索引與數據準備到查詢節點。創建成功不代表已經可搜,資源不足時也要規劃釋放。

索引選型不是“越高級越好”
Index 優勢 代價 / 場景
FLAT 精確、無需訓練 全量比較;小數據集或 Recall 基綫
IVF_FLAT 通過聚類縮小候選 需調 nlist / nprobe;數據量較大、成本可控
HNSW 高 Recall、低延遲 佔更多記憶體且建索引較慢;在綫檢索常用
生命週期:定義 Schema → 創建 Collection → 寫 Entity → 建 Index → Load → Search / Query。主鍵是業務追蹤錨點,向量字段負責相似度,標量字段負責權限、租户、時間和狀態過濾。
收穫 Search 是“按含義找”,Query 是“按條件取”;Index 解決速度,Load 決定是否進入可查詢狀態。