PromptEngine
AI提示词

PromptEngine

PromptEngine是微软开源的NPM工具库,帮助开发者结构化构建和管理LLM提示词,支持描述、示例与对话历史组合,提升提示工程效率。

快点收藏起来

PromptEngine是Microsoft开源的一款NPM工具库,专为开发者构建和维护大型语言模型(LLM)的提示词而设计。它通过结构化方式组合描述、示例和对话历史,减少手动字符串拼接,提升提示工程效率。该库提供PromptEngine、CodeEngine和ChatEngine等核心类,支持自动管理提示长度(通过maxTokens移除最早交互),并兼容YAML格式,便于版本控制和团队协作。CodeEngine适用于自然语言转代码场景,ChatEngine则专注于多轮对话管理。其模型无关设计可兼容GPT-3、Codex等LLM,帮助开发者将提示模式代码化,实现可维护、可复用的提示构建流程。

PromptEngine是什么?

PromptEngine 是 Microsoft 开源的一款 NPM 工具库,专为开发者构建和维护大型语言模型(LLM)的提示词而设计。它通过结构化方式帮助用户组合描述、示例和对话历史,减少手动字符串拼接,提升提示工程效率。

该库采用 TypeScript 开发,主要提供 PromptEngineCodeEngineChatEngine 等核心类。CodeEngine 适用于自然语言转代码场景,ChatEngine 则专注于多轮对话管理,支持用户与机器人角色配置。PromptEngine 可处理提示溢出问题,通过配置 maxTokens 自动移除最早的交互记录。

技术结构上,PromptEngine 基于模块化设计,支持 YAML 格式表示提示,便于版本控制和快速切换。提示构建模式通常为:描述 + 示例 + 对话历史 + 当前查询。它独立于具体 LLM 模型,可兼容 GPT-3、Codex 等。

安装与运行

npm install prompt-engine

安装后即可在 TypeScript 或 JavaScript 项目中使用:

import { CodeEngine } from "prompt-engine";

const description = "Natural Language Commands to JavaScript Math Code...";
const examples = [
  { input: "what's 10 plus 18", response: "console.log(10 + 18)" }
];
const codeEngine = new CodeEngine(description, examples);
const prompt = codeEngine.buildPrompt("What's 2 + 2?");

多轮对话时可通过 addInteraction(query, response) 维护上下文。

PromptEngine 采用 MIT 许可协议开源。当前仓库拥有约 2700+ stars、120+ forks,贡献者包括 Microsoft 团队成员。仓库最后主要更新于 2022 年,包含完整示例、测试和 YAML 支持文件。

作为 AI 提示词领域的实用工具,PromptEngine 适合开发者将提示模式代码化,实现可维护、可复用的提示构建流程。

PromptEngine 仓库首页截图

核心能力与技术结构

PromptEngine 是 Microsoft 开发的开源 NPM 工具库,用于帮助开发者构建和管理大型语言模型(LLM)的提示词。它通过结构化方式将提示工程中的常见模式进行编码,特别适用于 few-shot 学习、自然语言转代码以及多轮对话场景。

该库的核心能力包括创建包含描述、示例和对话历史的结构化提示,支持提示溢出时自动移除最早的交互记录以控制 token 数量,并提供 YAML 格式的提示配置支持,便于外部管理和版本控制。主要引擎有三个:通用 **PromptEngine**、专注于自然语言到代码生成的 **CodeEngine**,以及处理对话场景的 **ChatEngine**。这些引擎均继承自基础 PromptEngine 类,通过配置对象自定义行为,如起始序列、换行结束符以及用户/机器人标识。

在技术结构上,PromptEngine 采用 TypeScript 实现(代码占比 99.6%),设计模块化。提示组成主要包含三部分:任务描述(description)、输入输出示例对(examples)以及持续对话历史(dialog)。开发者可通过 `buildPrompt()` 方法生成最终提示字符串,使用 `addInteraction()` 添加新交互,`removeFirstInteraction()` 处理溢出,或 `resetContext()` 重置上下文。该架构有效管理 LLM 输入长度限制,适用于 GPT-3、Codex 等模型,但保持模型无关性。

安装与运行非常简便。使用以下命令通过 NPM 安装:

npm install prompt-engine

安装后,在 TypeScript 或 JavaScript 项目中导入使用,例如:

import { CodeEngine } from "prompt-engine";

无需额外运行命令,直接在代码中实例化引擎并调用方法即可。仓库中提供了丰富的示例,包括 YAML 加载方式,位于 examples 目录下。

当前仓库版本为 0.0.3(2022 年发布),许可协议采用宽松的 MIT License。社区方面,仓库拥有约 2700 个 Star 和 120 个 Fork,贡献者包括 Abhishek Masand、Ryan Volum 等共 4 人。最后一次提交记录于 2022 年 10 月,整体维护活动已暂停,但代码结构清晰、文档完整,仍适合参考和学习提示工程模式。

PromptEngine 的设计理念是将提示工程最佳实践固化为可复用代码组件,帮助开发者高效构建可靠的 LLM 应用提示模板。其 YAML 支持进一步提升了提示的配置化和可移植性,适合团队协作场景。

(本章节基于 GitHub 仓库公开信息撰写,聚焦开源技术细节与实用结构。)

安装与运行

PromptEngine 是微软开源的 NPM 工具库,用于帮助开发者结构化构建和维护大型语言模型(LLM)的提示词。它提供通用 PromptEngine 基类,以及专用于代码生成场景的 CodeEngine 和对话场景的 ChatEngine

该库采用 TypeScript 开发(源代码占比 99.6%),核心技术结构围绕提示词的模块化组成:描述(Description)、示例(Examples)和多轮对话历史(Dialog)。它支持自动管理提示词长度,当超过 maxTokens 限制时会自动移除最早的交互记录,同时提供 YAML 格式的提示词表示,便于版本控制和模块化管理。

安装

确保已安装 Node.js 和 npm 环境,然后在项目目录下执行以下命令:

npm install prompt-engine

基本引入与使用

安装完成后,在 TypeScript 或 JavaScript 文件中引入所需引擎:

import { CodeEngine, ChatEngine } from "prompt-engine";

通用 PromptEngine 示例:

let promptEngine = new PromptEngine(
  description, 
  examples, 
  flowResetText, 
  { modelConfig: { maxTokens: 1000 } }
);

CodeEngine(自然语言转代码)示例:

const description = "Natural Language Commands to JavaScript Math Code. The code should log the result of the command to the console.";
const examples = [
  { input: "what's 10 plus 18", response: "console.log(10 + 18)" },
  { input: "what's 10 times 18", response: "console.log(10 * 18)" }
];

const codeEngine = new CodeEngine(description, examples);
const query = "What's 1018 times the ninth power of four?";
const prompt = codeEngine.buildPrompt(query);

ChatEngine(对话场景)支持自定义用户与机器人标识,并通过 addInteraction(query, response) 方法维护多轮上下文。

运行与核心方法

库无独立 CLI,主要以编程方式集成使用。核心方法包括:

  • buildPrompt(prompt: string):构建完整提示词
  • addInteraction(query, response):添加对话交互记录
  • buildContext() / buildDialog():分别构建上下文和对话部分
  • resetContext():重置上下文

支持自定义语言配置,例如 Python 注释符号:

const pythonConfig = { commentOperator: "#" };
const codeEngine = new CodeEngine(description, examples, flowResetText, pythonConfig);

许可与版本信息

PromptEngine 采用 MIT License 开源协议,允许自由使用、修改和分发。仓库当前无正式发布的版本包(No releases published),建议直接通过 npm 安装最新主分支代码。项目最后一次主要更新在 2022 年 10 月,包含约 80 次提交,由微软及社区贡献者共同维护。

社区情况

该仓库拥有超过 2700 个 Star 和 120 个 Fork,属于微软开源项目。贡献者需签署 Contributor License Agreement(CLA),并遵守 Microsoft Open Source Code of Conduct。仓库提供 SECURITY.md 和 SUPPORT.md 文件,社区问题可通过 opencode@microsoft.com 联系。示例代码位于 examples/ 目录,包括 YAML 提示词示例,适合开发者快速上手结构化提示词工程实践。

作为 AI 提示词领域的开源工具,PromptEngine 强调模型无关性,可与 GPT-3、Codex 等任意 LLM 配合使用,帮助开发者将提示词模式化、版本化和可维护化。

prompt-engine/examples at main · microsoft/prompt-engine · GitHub

许可、版本与社区

PromptEngine 是微软开源的 NPM 工具库,用于帮助开发者构建和维护大型语言模型(LLM)的提示词。其核心技术结构包括 PromptEngineCodeEngineChatEngine 三个主要类,支持通过 buildPromptaddInteractionbuildContext 等方法管理提示上下文、多轮对话历史,并可结合描述、示例和对话模式构建提示。

安装运行方式简单,通过 npm 即可完成:

npm install prompt-engine

在 TypeScript 项目中使用时,可按以下方式导入:

import { CodeEngine } from "prompt-engine";

该库支持 YAML 格式的提示表示,示例文件位于仓库 examples/yaml-examples 目录下。项目还提供 maxTokens 配置以控制提示长度,避免溢出时自动移除最早的交互记录。

**许可协议**:本项目采用 MIT License,允许自由使用、修改和分发,仅需保留版权和许可声明。

**版本信息**:当前版本为 0.0.3(基于 package.json 记录),仓库暂无正式发布版本(No releases published),最后主要更新于 2022 年。

**社区情况**:项目遵循 Microsoft Open Source Code of Conduct,贡献者需签署 Contributor License Agreement (CLA)。仓库拥有约 2.7k stars 和 120 forks,贡献者包括 Abhishek Masand 等 4 人。如需支持或联系,可发送邮件至 opencode@microsoft.com。仓库同时提供 CODE_OF_CONDUCT.md、SECURITY.md 和 SUPPORT.md 文件指导社区参与。

适合谁?

PromptEngine 是 Microsoft 推出的开源工具库,主要以 NPM 包形式提供,用于帮助开发者构建和管理大型语言模型(LLM)的提示词(prompt)。

该项目的技术结构聚焦于提供可重用的提示词构建接口,支持结构化 prompt 的创建、维护和优化,适用于各种 LLM 应用场景。其核心代码基于 JavaScript/TypeScript 生态,便于集成到 Node.js 或前端项目中。

适合谁?

  • 前端与后端开发者,需要在应用中动态构造复杂提示词的工程师;
  • AI 应用集成者,希望通过程序化方式管理 prompt 模板的技术人员;
  • 开源贡献者或研究者,对 LLM prompt 工程感兴趣并希望基于成熟库进行二次开发的个人或团队。

安装与运行方式简单,通过 npm 即可快速引入:

npm install prompt-engine

项目采用开源许可协议(具体以仓库 LICENSE 文件为准),支持社区自由使用、修改与分发。目前仓库位于 GitHub microsoft/prompt-engine,社区活跃度以 stars、forks 及贡献者数量体现,开发者可直接参与 issue 与 pull request。

无论你是构建聊天机器人、代码辅助工具还是其他 LLM 驱动的产品,PromptEngine 都能从技术层面提供结构化的提示词管理能力。

优势与局限

PromptEngine 是 Microsoft 推出的开源 NPM 工具库,主要用于帮助开发者结构化构建大型语言模型(LLM)的提示词。它以 TypeScript 实现,包含 PromptEngine 基础类以及专用的 CodeEngineChatEngine,通过标准化描述、示例和对话历史来简化提示词工程。

从技术结构上看,该库将提示词分解为描述部分、少样本示例和多轮对话上下文,支持 buildPromptbuildContextaddExampleaddInteraction 等方法,并内置对话历史管理机制。当提示长度超过 maxTokens 时,会自动移除最早的交互记录,避免上下文溢出。同时支持 YAML 格式的独立提示词文件,便于版本管理和复用。

安装过程简单,通过以下命令即可完成:

npm install prompt-engine

使用示例中,CodeEngine 可快速生成代码相关提示:

import { CodeEngine } from "prompt-engine";
const description = "Natural Language Commands to JavaScript Math Code...";
const examples = [{ input: "what's 10 plus 18", response: "console.log(10 + 18)" }, ...];
const codeEngine = new CodeEngine(description, examples);
const prompt = codeEngine.buildPrompt("What's 1018 times the ninth power of four?");

ChatEngine 则适用于维护多轮对话场景,支持自定义用户/机器人标识和流重置文本。该库采用 MIT 许可协议,仓库位于 GitHub,目前拥有约 2.7k stars、120 forks,贡献者 4 人,最后一次主要更新在 2022 年 10 月。

优势

  • 将提示词最佳实践代码化,减少手动字符串拼接和维护成本;
  • 原生支持多轮对话上下文管理,适合构建对话式 AI 应用;
  • 与具体 LLM 无关,可灵活对接 GPT-3、Codex 等模型;
  • YAML 支持便于提示词的版本控制和团队共享;
  • 轻量级设计,易于集成到 Node.js 项目中。

局限

  • 仅负责提示词构建,不包含 LLM 调用逻辑,需要开发者自行对接模型 API;
  • 仓库活跃度较低,近年缺乏更新,可能在新兴 LLM 特性支持上存在滞后;
  • 对话历史增长仍可能导致提示长度超限,虽有自动清理机制但需合理配置 maxTokens
  • 当前无正式发布的 NPM 版本包,主要依赖源码安装或历史提交。

总体而言,PromptEngine 适合希望将提示工程结构化、复用化的开发者,尤其在代码生成和多轮聊天场景中能显著提升开发效率。但对于需要持续维护或集成最新模型特性的项目,建议结合社区最新实践或自行 fork 扩展。

结论

PromptEngine 是 Microsoft 推出的开源 NPM 工具库,用于帮助开发者结构化构建和维护大型语言模型(LLM)的提示词。它通过封装描述、少样本示例和多轮对话等常见模式,简化提示工程流程,使提示词更易于管理和复用。

该库的核心技术结构包括三个主要类:**PromptEngine**(通用提示构建)、**CodeEngine**(自然语言转代码场景)和**ChatEngine**(对话场景)。它们支持通过 `buildPrompt()` 方法组合上下文与查询,并使用 `addInteraction()` 维护多轮对话历史,同时可通过 `maxTokens` 限制自动处理提示溢出。库还提供 YAML 格式的提示配置支持,适用于各种 LLM,无特定模型绑定。

安装方式简单,在项目目录下执行以下命令即可:

npm install prompt-engine

使用时可直接导入对应类并实例化,例如 CodeEngine 或 ChatEngine,结合描述和示例快速生成结构化提示。项目采用 **MIT 许可**,代码主要基于 TypeScript 编写。

目前仓库拥有约 2.7k stars 和 120 forks,贡献者 4 人,最后更新于 2022 年 10 月,整体处于存档状态。社区遵循 Microsoft 开源行为准则,贡献需签署 CLA,相关支持可联系 opencode@microsoft.com。

作为 AI 提示词领域的早期开源尝试,PromptEngine 为开发者提供了可编程的提示管理思路,尽管更新较少,仍可作为学习提示结构化和多轮上下文处理的参考实现。

相关导航

发表回复