Robyn 的未来:Flask 和 Django 的 AI 精神继承者

2025年06月24日,Robyn 的作者在发布Robyn v0.7时同时附上了一篇热情洋溢的博文。在文中他宣布了Robyn v0.7开始对AI大模型和MCP的原生支持,这确实是Web框架中的先驱者,CRUD不是Web框架的全部,它在AI时代应该有新的定位!让我们满怀信心期待Robyn v1.0的早日到来!

以下为原文的中文翻译:


四年前,我着手构建一个快速的 Flask 框架,一个真正Fast的 Flask,取名为 Robyn。它拥有大家喜爱的、基于装饰器的简洁 API,但底层引擎使用 Rust 编写,性能超越 Python 生态中的任何框架。我一直执着于性能、异步正确性以及保持核心轻量。如今,Robyn 已从一个玩具项目发展成为数千人使用的工具。

但在前进的每一步,总有一个想法萦绕在我心头:如果我们不止追求速度呢?

Robyn 是首个内置 Web 服务器的现代 Python 框架,随后又增加了认证功能和脚手架功能。它采用 “开箱即用” 的方式,但实现得恰到好处:简洁、可组合,而且真正有趣。

然而,世界并非静止不变!AI 颠覆了 Web 技术栈,我们都在努力应对。

在过去两年里,AI 已从 “可选” 变为基础。API 不再仅仅用于 CRUD 操作,它们还能进行对话、规划、推理和记忆。但相关工具却未能跟上步伐。

我们只能用 LangChain 勉强搭配 Flask,给 FastAPI 套上 RAG 的 hacks,在笔记本中运行代理循环。这一切都显得杂乱、痛苦,而且极难扩展。在这个新时代,没有真正能接替 Django 的框架。于是,我们只能应付、拼凑、打补丁。

但或许…… 我们不再需要这样了。如果 Robyn 能成为 Flask 和 Django 的精神继承者呢?它依然快速,依然原生支持异步。但现在,它为 AI 原生工作流提供了 “开箱即用” 的功能。

试想一个能理解现代应用语言的框架:记忆、上下文、代理和工具,而不仅仅是视图和模型。

  • 以记忆为核心(由 Mem0 或任何后端提供支持)

  • 原生支持代理原语(LangGraph、Autogen 或其他运行器)

  • 具有实时验证和追踪功能的类型安全 API

  • 统一的管理界面 —— 同时为人类和代理提供权限控制

  • AI 感知的认证机制

  • 类似 FastAPI 的参数和 Pydantic 的验证

  • 兼容 RSGI/ASGI,可使用现有中间件

  • 同一个框架中同时支持 MCP 和 Web 路由

简而言之:开箱即用,但又有自己的设计理念且易于扩展。就像 Django 和 Flask 的结晶,但专为有 “思考” 能力的应用而设计。

为什么AI Agent应该成为 Web 技术栈的一部分?

如今,Agent只是事后考虑的东西。你启动一个 LangChain 运行器,接入一个Memory后端,祈祷一切顺利,然后发布拼凑的代码。Robyn 旨在改变这一现状。代理应该成为新的原语,就像路由、认证或表单一样。只需定义一次,为其提供记忆功能,然后将其暴露为简单的端点,就这么简单。

from robyn.ai import agent, memory

mem = memory(provider="mem0", user_id="guest")
chat = agent(runner="simple", memory=mem)

@app.get("/chat")
async def ask(request):
	q = request.query_params.get("q", [""])[0]
	return await chat.run(q)
	

无需管理各种微服务,只需像管理 HTTP 路由一样管理你的代理。我希望它们是可插拔的 —— 可以使用我们内置的运行器,也可以替换为 LangGraph、CrewAI 或你自己的运行器。就像ORM,但具有异步、可组合和 Python 风格的特点。

如果 MCP 只是路由呢?

目前,模型上下文协议(MCP)感觉像是学术实验,实现分散,框架也各不相同。但如果它们只是路由呢?如果可以像 API 一样,以原生和可组合的方式暴露代理呢?在 Robyn 中,你完全可以做到:

from robyn import Robyn, auth
from robyn.ai import agent, memory
from typing import Optional, Dict, Any

app = Robyn(__file__)

@app.before_request()
@auth(required=True)
async def check_user(request):
    return request.user

@app.mcp.tool()
def simple_chat(message: str) -> str:
     return f"Processed: {message}"

@app.mcp.resource("notes://{note_id}")
    """Get a note by ID"""
    return f"Note {note_id}: This is a sample note"

无需额外的服务器,无需额外的辅助组件。

Robyn 应用会是什么样的?

@app.get("/agent")
async def agent_endpoint(request):
  q = request.query_params.get("q", [""])[0]
  user_id = request.query_params.get("user_id", ["guest"])[0]
  
  # 为该用户初始化带记忆的代理
  mem = memory(provider="mem0", user_id=user_id)
  agent = chat_agent(runner="openai", memory=mem)
  
  return await agent.run(q)

@app.get("/memory")
async def memory_endpoint(request):
  user_id = request.query_params.get("user_id", ["guest"])[0]
  action = request.query_params.get("action", ["get"])[0]
  
  mem = memory(provider="mem0", user_id=user_id)
  
  if action == "get":
    return {"memories": await mem.get_all()}
  elif action == "clear":
    await mem.clear()
    return {"message": "Memory cleared"}

@app.post("/users")
async def create_user(request):
  data = request.json()
  
  # 类似ORM的数据库操作
  user = User.create(
    name=data.get("name"),
    email=data.get("email"),
    preferences=data.get("preferences", {})
  )
  
  return {"user_id": user.id, "created": True}
  

从小处着手,无需任何样板代码即可快速扩展。性能仍然是核心 Python 应该让人感觉快,而不是打补丁后的快。Robyn 在关键之处保留了 Rust 运行时:底层异步 I/O、并发和路由。其余部分则保持 Python 风格。我们正在与 Granian 合作,以获得原生 RSGI/ASGI 支持 —— 将服务器内部工作交给经过验证的、生产级的实现。

为什么这一切都很重要?

现在,你正在用代理、记忆和 LLM 构建应用,但你的框架对这些概念一无所知。Robyn 将会理解。因为它不仅仅是增加 AI “支持”,而是围绕 AI 应用实际需要的工作流重新设计。

接下来会发生什么?(非 AI 原生功能)

Robyn 现在已经很快了,但接下来还会有:

  • 更强的类型和验证
  • 更 Python 风格、更简洁的 API
  • 完整的 RSGI/ASGI 集成(通过 Granian)
  • 一流的表单支持
  • 即插即用的类型化查询参数
  • 更好的文档和更多内容等等……

最重要的是:Robyn v1.0—— 用于认知软件的全栈框架的稳定发布。

我们的方向

Robyn 一开始就拥有你期望从微框架中获得的简洁魅力,只需一个路由和一个 return。但在那个简单的装饰器背后呢?是一个完整的栈,等待被解锁。如果你需要,就有 ORM。当你需要时,就有记忆、代理、类型、认证、管理界面、上下文…… 第一天使用时界面简洁,第三十天就有丰富的功能。这才是现代框架应有的样子。

感谢你一直以来参与 Robyn 的发展历程。是你们将它从一个副业项目变成了一个严肃的平台。接下来的步骤是构建 Robyn v1.0。这是一个雄心勃勃的项目,但我相信它值得一试。我想这需要几个月的时间。请参与进来,我期待听到你的反馈、质疑,当然还有你的支持。请传播这个消息!了解 Robyn 的人越多,我们就能一起构建更多东西。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值