过去一年,大模型从 Demo 阶段 走向 生产系统。
很多团队已经发现:真正困难的不是“接入一个模型”,而是 如何把大模型稳定接入业务系统。
一个可用的 AI / Agent 系统,本质上是一个新的 软件架构层:
大模型只是推理引擎,系统工程才是核心。
在实践中,一个 AI Agent 系统通常需要解决以下核心问题:
- 上下文怎么管理?
- 长对话怎么做记忆?
- 知识库怎么更新?
- 检索怎么避免召回垃圾?
- 模型输出怎么校验?
- 失败了怎么重试?
- 怎么做日志?
- 怎么做权限?
以及更关键的工程问题:
- 能不能把大模型接入业务系统?
- 能不能自动调用工具?
- 能不能跑流程、做决策、出结果?
- 能不能 稳定交付?
这篇文章从 系统架构角度,梳理 AI / Agent 系统落地的关键设计。
一、AI Agent 系统的整体架构
一个生产级 AI Agent 系统通常包含五层:
┌─────────────────────┐
│ Application │
│ (业务应用 / Agent) │
└─────────▲───────────┘
│
┌─────────┴───────────┐
│ Orchestration │
│ (任务规划 / 工具调用) │
└─────────▲───────────┘
│
┌─────────┴───────────┐
│ LLM Runtime │
│ (Prompt / Context) │
└─────────▲───────────┘
│
┌─────────┴───────────┐
│ Knowledge Layer │
│ (RAG / Memory) │
└─────────▲───────────┘
│
┌─────────┴───────────┐
│ Infrastructure │
│ 日志 / 权限 / 监控 │
└─────────────────────┘
核心思想:
LLM 不直接面对业务系统,而是通过一个 Agent Runtime 层。
这个 Runtime 层负责:
- Context 管理
- 工具调用
- 记忆管理
- 任务编排
- 输出校验
二、上下文管理(Context Management)
上下文是 AI 系统最核心的资源。
问题在于:
上下文窗口是有限的,但业务信息是无限的。
常见的上下文结构:
System Prompt
+ Tool Descriptions
+ Conversation History
+ Retrieved Knowledge
+ Task State
一个比较合理的 Context 结构:
context = {
system_prompt
conversation_summary
recent_messages
retrieved_documents
tool_schema
task_state
}
实践经验:
1️⃣ 长历史必须压缩
常见方法:
- sliding window
- conversation summary
- memory extraction
例如:
最近5轮对话 + 历史摘要
而不是全部历史。
三、长对话记忆(Memory)
Agent 的记忆一般分三种:
1 短期记忆
当前任务上下文。
例如:
当前对话
当前任务状态
存储方式:
in-memory / redis
2 长期记忆
用户长期信息,例如:
- 用户偏好
- 历史行为
- 重要事实
存储方式:
vector db
kv storage
例子:
user_memory:
- 用户偏好 Python
- 用户公司是 SaaS 公司
3 语义记忆
用于检索的知识。
embedding
vector search
典型实现:
OpenAI embedding
BGE
E5
- Vector DB:
- Milvus
- pgvector
- Weaviate
四、知识库更新(Knowledge Refresh)
RAG 最大的问题不是检索,而是 知识更新。
很多系统上线后知识库就“死了”。
常见架构:
Data Source
│
ETL Pipeline
│
Chunking
│
Embedding
│
Vector DB
关键问题:
1 文档切分(Chunking)
过大:
召回不精准
过小:
上下文不完整
经验值:
300 ~ 800 tokens
2 增量更新
知识库必须支持:
document version
incremental embedding
否则会产生 脏数据召回。
五、如何避免检索垃圾(RAG Quality)
RAG 系统最大的问题:
召回很多垃圾内容。
常见优化:
1 Hybrid Search
vector search
+ keyword search
例如:
BM25 + embedding
2 Rerank
流程:
query
↓
vector search (top50)
↓
rerank
↓
top5
常见模型:
- bge-reranker
- cohere rerank
3 Query Rewrite
让 LLM 先改写查询。
例如:
用户问题 → 检索查询
六、模型输出校验(Guardrails)
LLM 输出是 概率结果。
必须校验。
常见方式:
1 JSON Schema
{
"name": "string",
"date": "date"
}
让模型输出结构化数据。
2 LLM Validator
使用第二个模型校验:
generate → validate
例如:
是否符合规则?
是否包含敏感内容?
3 Deterministic Rule
例如:
金额
日期
ID
使用代码校验。
七、失败与重试机制
生产系统里,LLM 调用失败是常态。
常见原因:
- API timeout
- token overflow
- hallucination
- 工具调用失败
标准处理:
try
↓
retry
↓
fallback
例如:
LLM → Tool → LLM
↓
fail
↓
retry
建议:
指数退避
八、日志与可观测性
AI 系统必须有 可观测性。
需要记录:
prompt
context
model response
tool calls
latency
token usage
典型日志结构:
trace_id
conversation_id
prompt
response
tools
latency
tokens
常见工具:
- LangSmith
- Helicone
- OpenTelemetry
九、权限与安全
AI Agent 如果能调用工具,就必须做权限控制。
例如:
Agent 可以调用:
发邮件
查数据库
改 Jira
必须限制:
谁能调用
调用什么
调用范围
常见架构:
User
↓
Auth
↓
Agent
↓
Tool
十、工具调用(Tool Use)
工具调用是 Agent 能力的核心。
常见方式:
Function Calling
模型返回:
{
"tool": "search_ticket",
"args": {...}
}
系统执行:
tool.execute()
再把结果返回给 LLM。
循环:
LLM → Tool → LLM
十一、Agent Workflow
复杂任务需要流程。
例如:
用户问题
↓
检索知识
↓
生成方案
↓
调用API
↓
输出结果
可以使用:
- LangGraph
- Temporal
- Airflow
实现:
LLM + Workflow
十二、AI 系统真正的难点
很多团队以为:
“接个 GPT API 就完了。”
但真实情况是:
80% 的工作是系统工程。
包括:
- RAG 架构
- 工具调用
- workflow
- 监控
- 权限
- 数据治理
真正的 AI 系统架构更像:
Search Engine
+
Workflow Engine
+
Decision System
+
LLM
结语
AI / Agent 系统不是一个模型问题,而是一个 系统架构问题。
一个稳定的 AI 系统需要:
- Context 管理
- Memory 体系
- 高质量 RAG
- Tool 调用
- Workflow 编排
- Guardrails
- Observability
最终目标是让 AI 能够:
- 接入业务系统
- 自动调用工具
- 执行流程
- 做出决策
- 输出结果
并且 稳定运行在生产环境。
这才是真正的 AI Engineering。