AI Agent就绪探针:Agent刚启动时别急着接客
🩺 摘要
Agent刚重启完就收到用户请求——模型还没加载完,工具还没连好——直接报错。就绪探针说「还没好,等会儿再来」。
📝 详情
Kubernetes用户的经验:Pod启动后立刻收到流量,但里面的应用还没完全初始化。Readiness probe就是告诉K8s「这个Pod还没准备好,别发流量过来」。
Agent初始化要多久
| 组件 | 加载时间 | 说明 |
|---|---|---|
| 模型加载(本地) | 5-30秒 | Ollama加载模型 |
| 向量库连接 | 1-3秒 | Chroma/Qdrant |
| 工具初始化 | 0.5-2秒 | 每个工具注册 |
| 缓存预热 | 2-5秒 | Redis连接 |
实现
from fastapi import FastAPI
from pydantic import BaseModel
app = FastAPI()
ready = False
@app.on_event("startup")
async def startup():
await load_model()
await connect_db()
ready = True
@app.get("/ready")
async def readiness():
return {"ready": ready}
总结
就绪探针不是什么高级技术——但少了它,重启Agent时总会有几个请求失败。 几十行代码,换来零宕机重启。
Kubernetes配置
apiVersion: v1
kind: Pod
metadata:
name: agent-pod
spec:
containers:
- name: agent
image: myagent:latest
readinessProbe:
httpGet:
path: /ready
port: 8000
initialDelaySeconds: 5
periodSeconds: 10
K8s会每10秒检查一次/ready。返回200才发流量。重启Agent时零用户感知。
💬 评论 (0)