ell

ell

AI TOOL PROFILE工具资料

把提示词当作函数来写的轻量级语言模型编程库

官网地址 https://docs.ell.so/

访问官网
价格官网未标价
平台Python 库 / 本地 CLI
归类翻译与语言
收录2026-10-10
复核2026-10-10
编辑评分 4.5 / 5

ell编辑总结

EDITOR REVIEW编辑评测

ell 是一个轻量级的提示工程库,把提示词(prompt)当成函数来对待,核心思路是「提示词是程序,不是字符串」。它由曾在 OpenAI 和创业生态中构建、使用语言模型的人设计,通过装饰器把一次语言模型调用封装成可复用的「语言模型程序」(LMP)。它提供自动版本管理与序列化、把每次调用保存到本地存储、以及本地开源的可视化与监控工具 Ell Studio。使用方式就是普通的 Python 代码,不需要特殊 IDE 或编辑器。短板也很明显:官网明确说明 API 参考文档「coming soon」,需要直接阅读源码;所有能力都围绕 Python,非 Python 技术栈无法直接用。

ell是什么?

ell 是一个 Python 库,用来做语言模型编程(LMP)。它的定位是把提示词从「一段字符串」提升为「一段程序」:通过装饰器把一个函数标记为语言模型程序,函数体内写的是系统提示词与用户提示词,返回值既可能是一段字符串,也可能是一组发送给多模态模型的消息。调用语言模型的全部代码被封装进一个函数里,使用者只需要关心这个函数需要哪些数据。

按照官网的说明,ell 的设计来自在 OpenAI 以及创业生态中多年构建和使用语言模型的经验,围绕几条原则展开:提示词是程序而非字符串;提示工程本身是一个优化过程;需要监控、版本管理和可视化工具;test-time compute 很重要;每一次模型调用都有价值;复杂度按需引入。基于这些原则,ell 提供自动版本管理与序列化(通过静态和动态分析),并可用 gpt-4o-mini 自动生成提交信息写入本地存储,机制类似机器学习训练循环里的 checkpoint,但完全靠普通 Python 代码完成。

对不同使用者来说:普通使用者只需要给语言模型程序传参并拿到结果;写提示词的人可以用 Ell Studio 观察版本变化、发现回归;团队可以把每次调用存档,用来生成调用数据集、按版本对比输出,服务于微调、蒸馏、k-shot prompting、基于人类反馈的强化学习等场景。

ell核心功能

CAPABILITIES工具标签

提示词即函数

用 @ell.simple 装饰器把一次语言模型调用写成一个函数,系统提示词写在 docstring 里,用户提示词由 return 的 f-string 生成,调用函数即发起请求。

语言模型程序封装

把使用语言模型的某一种特定方式封装成独立的子程序,称为 language model program(LMP),可返回字符串或多模态消息列表,对调用者只暴露所需数据。

自动版本与序列化

通过静态和动态分析对提示词及调用做版本管理与序列化,并用 gpt-4o-mini 自动生成提交信息写入本地存储,机制类似训练循环中的 checkpoint,无需特殊 IDE。

调用全量留存

除保存每个 LMP 的源码外,还可选地把每一次语言模型调用保存到本地,用于生成调用数据集、按版本对比 LMP 输出,支撑微调、蒸馏、k-shot 等场景。

Ell Studio

本地、开源的提示词版本控制、监控与可视化工具,通过 ell-studio --storage ./logdir 启动,用来长期观察提示优化过程并在回归出问题前发现它。

多次采样组合

把问题做函数式拆解后,容易实现 test-time compute 类技巧,例如先用 n=10、temperature=1.0 生成十份草稿,再用 temperature=0.1 的编辑函数从中挑出最佳草稿。

工具函数装饰器

提供 @ell.tool 装饰器,把普通 Python 函数标记为可被语言模型调用的工具,在需要复杂度时引入复杂度。

配置系统

提供 pydantic 的 Config 类,可配置模型注册表、verbose 日志、包装日志宽度、Store 持久化实例、autocommit、lazy_versioning、默认 API 参数与默认客户端等。

ell适合谁用?

WHO IS IT FOR工具标签

Python 提示词开发者

推荐

日常用 Python 写提示、需要反复迭代版本,想用普通代码而不是专用编辑器管理提示词的人,可以直接把现有函数改写成 LMP。

做微调与蒸馏的团队

推荐

需要把每次模型调用留档、生成调用数据集、按版本比较输出,再用于微调或蒸馏的团队,ell 的本地存储与调用留存贴合这类流程。

排查提示回归的人

推荐

提示词改到第几十版后记不清哪版好用、线上效果突然变差,可以用 Ell Studio 做版本控制与可视化,把优化过程变成可回溯的记录。

非 Python 技术栈团队

不推荐

给出的全部示例与 API 参考都是 Python,库本身也是 Python 库;使用 TypeScript、Java 等语言的团队无法直接接入。

只看重开箱即用的人

有条件

官网明确说明 API 参考文档「coming soon」,需要直接阅读源码;不想读源码、期望完整文档的人上手成本会偏高。

ell优点和缺点

PROS & CONS工具标签

优点

  • 提示词以函数形式书写,与普通 Python 代码同构,便于复用和测试
  • 自动版本管理与序列化,提交信息由 gpt-4o-mini 自动生成并写入本地存储
  • 可选保存每一次模型调用,支持生成调用数据集与按版本对比输出
  • 自带本地开源工具 Ell Studio,可做版本控制、监控和可视化
  • 通过函数拆解支持多次采样组合,如 n=10 生成十份草稿再挑最佳

缺点

  • 官网说明 API 参考文档「coming soon」,需要直接阅读源码
  • 仅有 Python 一种语言的实现,其他技术栈无法直接使用
  • 提示词工程本身需要自建流程,工具只提供版本、存储与可视化支撑

ell常见问题

FAQ工具标签
ell 是做什么的,和直接拼字符串调用模型有什么区别?

ell 是一个轻量级的提示工程库,把提示词当成函数来写。区别在于:拼字符串时提示词散落在代码各处,而 ell 用装饰器把系统提示词和用户提示词一起封装成一个函数,这个函数被称为语言模型程序(LMP)。调用函数即发起模型调用,返回字符串或消息列表。由于提示词成了函数的返回值,版本管理、存储和复用都可以围绕函数来做。

它支持哪些模型?

官网示例中出现的模型包括 gpt-4o-mini 和 gpt-4o,自动生成提交信息的默认模型也是 gpt-4o-mini,Config 类里有模型注册表(registry)用来把模型名映射到各自的配置。文档没有列出完整的支持清单,其他模型是否可用需要以官方页面为准。

提示词和调用记录存在哪里?

存在本地。通过 ell.init(store='./logdir') 指定本地存储目录,ell 会保存每个 LMP 的源码以及该次调用的源码,并可选地保存每一次语言模型调用。官网把这套机制类比为机器学习训练循环里的 checkpoint,区别是它不需要任何特殊 IDE 或编辑器,全部靠普通 Python 代码完成,因此记录可留在本机。

Ell Studio 是做什么的,怎么启动?

Ell Studio 是一个本地、开源的工具,用于提示词的版本控制、监控和可视化。给出的启动命令是 ell-studio --storage ./logdir,指向你存放记录的目录。它的用途是把提示优化过程变成可以持续观察的对象,从而在回归造成问题之前发现它。有了这类工具,提示工程可以从「暗黑艺术」变成一门科学。

写复杂一点的多步提示方便吗?

的说法是「需要复杂度时有复杂度,不需要时保持简单」。因为 LMP 就是函数,可以把问题做函数式拆解,再用多个 LMP 组合。举的例子是:先用 n=10、temperature=1.0 生成十份故事草稿,再用 temperature=0.1 的编辑函数从十份里挑出最好的一份,实现 best of 10 采样。这类 test-time compute 技巧在函数拆解下更容易写得可读。

ell竞品对比

COMPARISON工具标签
工具编辑评分价格核心功能平台
ell本工具 4.5 未标价 提示词即函数;语言模型程序封装;自动版本与序列化;调用全量留存 Python 库 / 本地 CLI
deepin-IDE — 未标价 轻量级多语言跨平台集成开发环境 —
Microsoft Translator Pro — 付费产品/服务,使用前需要付款 企业级语言翻译解决方案,打破工作场所的语言障碍 iOS
SmolVLM2 — 未标价 SmolVLM2 是一个专注于视频内容分析和生成的轻量化语言模型 —
Open Source LLM Tools — 未标价 开源大型语言模型工具集合 Web
Lingua MT — 未标价 基于 OpenAI 语言模型的翻译助手 —