Parlant 对话控制框架

为客户服务型 AI 对话提供可控、可追踪的上下文与行为编排。

Star 数
★ 18k
最近更新
1 天前
License
Apache-2.0
主语言
Python

30 秒速览

运行形态
代码库 / SDK自托管服务
可在哪里用
通用 · 跨平台OpenAI API · Claude API
费用
软件免费,模型调用费用自付
上手难度
中 · 需要几步配置
开始前需要
Python 3.10+Shell / 命令行网络访问
典型场景
航空公司客服团队需要根据用户是否熟悉金融或票务术语,选择技术性回答或通俗解释。
不适合
  • 希望用现成聊天机器人开箱即用的用户,需自行编写行为规则与旅程
  • 需要工作流编排或知识检索的团队,Parlant 不替代 LangGraph、LlamaIndex 等

这个 Agent 能做什么,适合哪些场景?

Parlant 是一个 Python 交互控制框架,用于构建面向客户的 AI 对话代理,而非替代业务工作流或知识检索系统。开发者通过 SDK 定义 Guidelines、Observations、Journeys、Glossary、Variables、Retrievers 和工具;引擎在每轮对话中筛选相关上下文,再生成消息或选择预批准的 Canned Response。工具只会在关联 Observation 匹配时被调用,工具结果还可返回数据和动态 guidelines。它提供 OpenTelemetry 日志、指标和链路追踪,用于记录 guideline 匹配和决策。该项目以 pip install parlant 交付,支持 Emcie、OpenAI、Anthropic,并可经 LiteLLM 使用其他模型提供商。

应用代码通过 import parlant.sdk as p 创建 p.Server 和 agent,并调用 agent.create_guideline、agent.create_observation、agent.create_journey、agent.create_canned_response 或 agent.create_term 配置对话行为。每收到一轮用户输入,Contextual Matching Engine 会匹配 Guidelines、解析 Journey 状态,并把当前相关的指令、术语、记忆、知识及可调用工具组成聚焦上下文。匹配到 Observation 后,系统可执行以 @p.tool 声明的异步 Python 函数;函数返回 p.ToolResult,可携带数据和动态 guidelines。随后系统以流式生成模式输出消息,或在严格模式下从 canned responses 中选择预批准文本;每项匹配和决策可由 OpenTelemetry 追踪。

  1. 航空公司客服团队需要根据用户是否熟悉金融或票务术语,选择技术性回答或通俗解释。
  2. 银行、保险或医疗机构要为受监管的客户对话配置可追踪的行为规则和预批准回复。
  3. 已有 LangGraph 退款流程的团队,希望仅在客户提出退款时才将该工作流作为 Parlant tool 调用。
  4. 客服产品团队需要把“预订航班”之类的多轮标准作业流程建模为可分支、可前进或回退的 Journey。
  5. 知识库团队希望只在用户询问服务功能时调用 query_docs,而不是把检索工具持续放入模型上下文。

如何安装或部署这个 Agent?

运行:pip install parlant。运行时要求为 Python 3.10+。所提供材料没有说明任何模型提供商的凭证名称、环境变量、配置文件或服务器部署命令;在实际调用模型前,需按所选的 Emcie、OpenAI、Anthropic 或 LiteLLM 提供商完成其未列出的认证与配置。

如何使用这个 Agent?

从材料可确认的 SDK 起点是:import parlant.sdk as p,然后在异步 p.Server 生命周期内创建 agent,例如调用 await server.create_agent(name="Customer Support", description="Handles customer inquiries for an airline")。接着用 await agent.create_guideline(condition=..., action=...) 添加规则,或用 await agent.create_observation(condition=..., tools=[...]) 将 @p.tool 异步函数与条件关联。材料中的片段写作 async with p.Server():,但随后使用未绑定的 server 变量,因此它本身不是完整可直接运行的首次调用;同时缺少提供商认证配置,无法仅据此给出可验证的端到端运行命令。

这个 Agent 有哪些优点和局限?

优点
  • 按对话轮次筛选相关 guidelines、journey 状态、工具和知识,而不是将全部规则塞入单一系统提示词。
  • 支持 guideline 的依赖与排除关系,可显式处理规则优先级和冲突上下文。
  • 严格组合模式可在关键场景从预批准的 canned responses 中选择输出文本。
  • 内置 OpenTelemetry 日志、指标和 traces,覆盖 guideline 匹配与决策。
局限
  • 材料未给出模型提供商凭证、环境变量、配置格式或部署服务器的完整步骤。
  • 要获得行为控制,团队需要把业务政策拆分并维护为 conditions、actions、dependencies、exclusions 和 journeys。
  • 工具必须实现为异步 Python 函数并返回 p.ToolResult,现有非 Python 或同步集成需要适配。
  • 对于较小、现成模型,材料明确提示其输出可能不一致;模型质量仍会影响结果。

这个 Agent 与同类方案有什么区别?

Parlant 将自身定位为对话治理与行为控制层:LangGraph 更适合工作流自动化,DSPy 更适合底层提示词优化。它可与 LangGraph、Agno 或 LlamaIndex 并用,把外部工作流或查询引擎封装成按条件触发的 Parlant tool。

与相关度最高的同类 agent 并排比较关键指标。

Agent 源码审查 形态 / 费用 Star 最近更新 主语言 完整支持的平台
Parlant 对话控制框架 当前 53 · 缺口较多 代码库 / SDK免费 + 模型费 ★ 18k 1 天前 Python OpenAI API · Claude API
Acontext 44 · 缺口较多 代码库 / SDK免费版 + 付费版 ★ 3.7k 13 天前 JavaScript OpenAI API · Claude API
ACE 智能体经验学习引擎 51 · 缺口较多 代码库 / SDK免费 + 模型费 ★ 2.6k 1 个月前 Python Claude Code · OpenAI API · Claude API
Microsoft Agent Framework 49 · 缺口较多 代码库 / SDK免费 + 模型费 ★ 15k 今天 Python OpenAI API

FollowAgents 如何评估这个 Agent?

FollowAgents 源码审查 · FARS-2.1
缺口较多
53/ 100 五分制 2.7 / 5
本评测基于 2026年8月9日 的源码;此后该项目发布了 1 个正式版本,尚未复审。分数与结论只代表评测时的版本。 最近版本 ↓
信任安全 10/29
可靠稳定 8/14
适用触发 12/18
规范维护 11/18
有效结果 9/13
证据核验 3/8
查看各维度的扣分理由
信任安全10 / 29 · 1.7/5

证据显示:项目使用Apache-2.0许可证,依赖中明确列出了安全约束(如CVE修复的版本覆盖),但未提供权限最小化、用户确认、数据流透明、敏感数据处理、外部影响、回滚或来源归属的明确机制。扣分原因:缺少这些安全特性的具体实现或文档。

可靠稳定8 / 14 · 2.9/5

证据显示:项目有CI测试流程,测试文件覆盖数据库适配器,但未提供失败消息的详细说明。扣分原因:失败消息的清晰度不足,依赖可用性未充分验证。

适用触发12 / 18 · 3.3/5

证据显示:README描述了多种使用场景(客户支持、金融等),提供了丰富的示例,但未明确说明能力边界和触发精度。扣分原因:能力边界和触发精度的文档不充分。

规范维护11 / 18 · 3.1/5

证据显示:有README、LICENSE、pyproject.toml,安装说明清晰,命名稳定,有示例,但缺少已知限制和变更日志。扣分原因:已知限制和变更日志缺失。

有效结果9 / 13 · 3.5/5

证据显示:README展示了实际使用价值,但未提供成本效益分析。扣分原因:成本效益未量化。

证据核验3 / 8 · 1.9/5

证据显示:README中的声明未提供可追溯的证据,测试文件存在但未与声明直接关联。扣分原因:声明缺乏可追溯性,事实与推断未明确分离。

风险与缓解建议
  • 源码中未见:执行前用户确认开启或自行加上执行前确认;先在沙箱或测试环境跑通,确认行为后再接入真实数据。
  • 未验证的发布者身份,需谨慎评估供应链风险。
  • 依赖中包含多个第三方包,需关注其安全性和维护状态。
  • README中的生产部署声明(如银行)缺乏可验证证据。
证据充分度:低 评估于 2026年8月9日 审查版本 ea737442b8ae 评估后仓库已有新提交,评分可能未覆盖最新改动
查看完整评分方法 →

最近版本

来自该项目 GitHub Releases 的最新发布记录,说明为上游原文摘录,未经本站改写或测试。

  1. v4.0.2
    发布说明摘录
    [4.0.2] - 2026-11-05 Added - The chat widget lets the AI agent in a visitor's browser talk to your agent over WebMCP (document.modelContext; in Chrome behind a flag today). On every page it's on, the widget registers an ask_agent tool described with the agent's name. A call starts the widget's conversation if there is none yet, as one an agent holds for the customer (customer_represented_by_an_agent), sends the question through the chat, so it shows there with the reply, opens the chat, and answers the browser agent once the turn has ended. Follow-up …
    在 GitHub 查看 ↗
  2. v3.3.2
    发布说明摘录
    [3.3.2] - 2026-04-28 Added - Add PARLANT_TOOL_CALL_TIMEOUT environment variable to control the plugin tool-call timeout Changed - Include guideline description (in addition to the condition) in matcher prompts - Render active journeys' descriptions in the canned response draft prompt - Improve error messages surfaced by EmcieService to be more diagnostic - Relax the aiopenapi3 pin to >=0.8.1,<0.9.0 Fixed - Fix redundant batch creation in ToolCaller across guideline matches, which in some agents caused a lot of latency unnecessarily …
    在 GitHub 查看 ↗
  3. v3.3.1
    发布说明摘录
    [3.3.1] - 2026-04-14 Added - Allow passing ToolId when attaching tools throughout the SDK - Add AnyOf(tag) and AllOf(tag) modifiers for explicit control over tag dependency semantics in depend_on() — AnyOf requires at least one tagged member to be active, AllOf requires all of them (bare Tag defaults to AllOf) - Add depend_on_any() to Guideline, Tag, and Journey for OR dependency relationships — at least one target must be active. Multiple depend_on_any() calls create independent OR groups that are AND'd together …
    在 GitHub 查看 ↗

常见问题

许可证是否允许商业使用?
是。材料标明 Apache 2.0,并称可免费用于商业用途。
能否使用 OpenAI 或 Anthropic 以外的模型?
可以。材料称可通过 LiteLLM 使用其他模型和提供商,但也提示较小的现成模型可能产生不一致结果。
Parlant 会替代 LangGraph 或知识检索框架吗?
不会。材料将其描述为行为控制层;工作流自动化和知识检索可保留在 LangGraph、Agno、LlamaIndex 或其他系统中,并作为工具接入。
如何审计一次回复为何产生?
材料称每个 guideline 匹配和决策都会通过 OpenTelemetry 记录为日志、指标和 traces。
在 GitHub 查看 ↗ 安装 ↓

对比同类 Agent

用同一套 FARS 评审,横向比较这个 Agent 所属的短名单。

相关 Agents