这正是 AI 工程化发展的核心规律:基础设施层不断下沉,业务逻辑层不断上移。

LangSmith 与 Ollama 不仅是 "异曲同工",更是同一套工程化哲学在 AI 栈不同层级的完美体现。它们都在做同一件事:把所有开发者都需要重复造的 "轮子" 抽离成标准化的基础设施,让上层开发者只需要关注真正创造差异化价值的核心逻辑。


一、完美对称:LangSmith ↔ Ollama 核心能力对比

表格

维度Ollama(大模型层)LangSmith(智能体层)
核心定位大模型统一运行时与运维平台智能体统一运行时与运维平台
解决的核心痛点"大模型能跑通但难部署、难管理、难调用""智能体能写出来但难上线、难调试、难运维"
抽象的基础设施模型下载、量化、GPU 调度、内存管理、多模型管理Web 服务、状态存储、负载均衡、扩缩容、监控追踪
留给开发者的核心工作选择模型、微调模型、设计提示词定义智能体逻辑、设计工作流、集成工具和知识库
统一接口

所有模型都通过标准的

OpenAI 兼容 API 调用

所有智能体都通过标准的

LangGraph API 调用

一键部署

ollama run qwen2:7b

一行命令启动大模型

langgraph deploy

一行命令部署智能体

本地开发体验本地一行命令运行任何开源大模型,零配置本地 langgraph dev 启动可视化调试环境,零配置
生产级特性自动扩缩容、多模型并发、GPU 显存优化滚动更新、蓝绿部署、自动备份、高可用

二、更深层的一致性:"运行时 + 控制平面" 分离架构

两者不仅功能相似,底层架构设计也完全一致,都采用了现代分布式系统的标准架构:控制平面 - 数据平面分离。

Ollama 架构

plaintext

控制平面(Ollama Server)
    ↓ 管理和调度
数据平面(模型推理进程)
  • 控制平面:统一管理所有模型,处理 API 请求,调度 GPU 资源,管理模型生命周期
  • 数据平面:实际执行模型推理的进程,每个模型一个独立进程
  • 开发者视角:不需要关心模型如何加载、GPU 如何分配、内存如何管理,只需要调用统一的 API

LangSmith 架构

plaintext

控制平面(LangSmith 平台)
    ↓ 管理和调度
数据平面(Agent Server 进程)
  • 控制平面:统一管理所有智能体,处理 API 请求,调度计算资源,管理部署版本
  • 数据平面:实际执行智能体逻辑的进程,每个智能体版本一个或多个独立进程
  • 开发者视角:不需要关心 Web 服务如何写、状态如何存、负载如何均衡,只需要定义智能体的图逻辑

三、为什么这种架构是必然趋势?

在 AI 技术发展的早期,每个开发者都需要从头搭建整个技术栈:

  • 想用大模型:需要自己下载模型、配置 CUDA、处理量化、写 API 接口、管理 GPU 资源
  • 想做智能体:需要自己写 Web 服务、管理对话状态、处理并发、写监控日志、部署上线

这导致 90% 的时间都花在了与核心业务无关的基础设施上,真正用于优化模型效果和智能体逻辑的时间不到 10%。

而 Ollama 和 LangSmith 的出现,彻底改变了这一局面:

  • Ollama 把大模型部署的复杂度从 "几个星期" 降到了 "几秒钟"
  • LangSmith 把智能体上线的复杂度从 "几个星期" 降到了 "几分钟"

它们将所有重复性的、非差异化的基础设施工作标准化、商品化,让开发者可以专注于真正重要的事情:

  • 对于大模型开发者:专注于模型架构、训练算法、数据质量
  • 对于智能体开发者:专注于业务流程、提示词工程、工具集成、用户体验

四、完美互补:Ollama + LangSmith 构建全栈本地 AI

更妙的是,两者不是竞争关系,而是完美的上下游互补关系,可以一起构建完全本地化、私有化的 AI 技术栈。

完整的本地 AI 技术栈

plaintext

业务应用层(你的产品)
        ↓
智能体层(LangSmith 运维)
        ↓
大模型层(Ollama 运维)
        ↓
硬件层(GPU/CPU)

代码示例:Ollama + LangSmith 本地智能体

  1. 用 Ollama 启动本地大模型

bash

运行

ollama run qwen2:7b
  1. 编写智能体代码(只关注业务逻辑)

python

运行

# agent.py
from typing import Annotated, TypedDict
from langchain_ollama import ChatOllama
from langgraph.graph import StateGraph, START, END
from langgraph.graph.message import add_messages

class State(TypedDict):
    messages: Annotated[list, add_messages]

# 使用本地 Ollama 模型
llm = ChatOllama(model="qwen2:7b", temperature=0)

def chat_node(state: State):
    return {"messages": [llm.invoke(state["messages"])]}

builder = StateGraph(State)
builder.add_node("chat", chat_node)
builder.add_edge(START, "chat")
builder.add_edge("chat", END)

# 不需要编译、不需要Checkpoint、不需要Web服务
graph = builder.compile()
  1. 用 LangSmith 本地调试

bash

运行

langgraph dev agent.py
  1. 一键部署到生产环境

bash

运行

langgraph deploy

部署完成后,你就得到了一个:

  • ✅ 完全运行在本地的大模型
  • ✅ 完全运行在本地的智能体
  • ✅ 生产级的 API 服务
  • ✅ 完整的监控、追踪、评估能力
  • ✅ 自动扩缩容、高可用

所有这些,你只需要写不到 20 行的业务逻辑代码。


五、延伸:整个 AI 栈的分层抽象趋势

Ollama 和 LangSmith 的出现不是偶然,而是整个 AI 技术栈分层抽象、标准化的必然结果。这和云计算的发展历程如出一辙:

表格

云计算层级AI 栈对应层级标准化产品
IaaS(基础设施即服务)硬件层AWS、阿里云
PaaS(平台即服务)大模型层Ollama、vLLM、TensorRT-LLM
PaaS+(应用平台即服务)智能体层LangSmith、Dify、LangFuse
SaaS(软件即服务)应用层ChatGPT、Claude、各种 AI 应用

每一层的基础设施都会被抽象出来,变成标准化的服务,让上层的开发者可以站在巨人的肩膀上,专注于更高层次的创新。

未来的 AI 开发,一定是:

  • 硬件由云厂商提供
  • 大模型由模型厂商提供,通过 Ollama 等工具统一运维
  • 智能体运行时由 LangSmith 等平台提供,统一运维
  • 开发者只需要专注于自己的业务逻辑和用户体验

这就是为什么说:Ollama 是大模型时代的 Docker,LangSmith 是智能体时代的 Kubernetes。它们都在各自的层级上,定义了行业的标准,推动了整个技术的普及和发展。

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐