Parlant 对话控制框架
为客户服务型 AI 对话提供可控、可追踪的上下文与行为编排。
按维度查看评分与理由
证据显示:项目使用Apache-2.0许可证,依赖中明确列出了安全约束(如CVE修复的版本覆盖),但未提供权限最小化、用户确认、数据流透明、敏感数据处理、外部影响、回滚或来源归属的明确机制。扣分原因:缺少这些安全特性的具体实现或文档。
证据显示:项目有CI测试流程,测试文件覆盖数据库适配器,但未提供失败消息的详细说明。扣分原因:失败消息的清晰度不足,依赖可用性未充分验证。
证据显示:README描述了多种使用场景(客户支持、金融等),提供了丰富的示例,但未明确说明能力边界和触发精度。扣分原因:能力边界和触发精度的文档不充分。
证据显示:有README、LICENSE、pyproject.toml,安装说明清晰,命名稳定,有示例,但缺少已知限制和变更日志。扣分原因:已知限制和变更日志缺失。
证据显示:README展示了实际使用价值,但未提供成本效益分析。扣分原因:成本效益未量化。
证据显示:README中的声明未提供可追溯的证据,测试文件存在但未与声明直接关联。扣分原因:声明缺乏可追溯性,事实与推断未明确分离。
- 未验证的发布者身份,需谨慎评估供应链风险。
- 依赖中包含多个第三方包,需关注其安全性和维护状态。
- README中的生产部署声明(如银行)缺乏可验证证据。
这个 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 追踪。
- 航空公司客服团队需要根据用户是否熟悉金融或票务术语,选择技术性回答或通俗解释。
- 银行、保险或医疗机构要为受监管的客户对话配置可追踪的行为规则和预批准回复。
- 已有 LangGraph 退款流程的团队,希望仅在客户提出退款时才将该工作流作为 Parlant tool 调用。
- 客服产品团队需要把“预订航班”之类的多轮标准作业流程建模为可分支、可前进或回退的 Journey。
- 知识库团队希望只在用户询问服务功能时调用
query_docs,而不是把检索工具持续放入模型上下文。
这个 Agent 有哪些优点和局限?
- 按对话轮次筛选相关 guidelines、journey 状态、工具和知识,而不是将全部规则塞入单一系统提示词。
- 支持 guideline 的依赖与排除关系,可显式处理规则优先级和冲突上下文。
- 严格组合模式可在关键场景从预批准的 canned responses 中选择输出文本。
- 内置 OpenTelemetry 日志、指标和 traces,覆盖 guideline 匹配与决策。
- 材料未给出模型提供商凭证、环境变量、配置格式或部署服务器的完整步骤。
- 要获得行为控制,团队需要把业务政策拆分并维护为 conditions、actions、dependencies、exclusions 和 journeys。
- 工具必须实现为异步 Python 函数并返回
p.ToolResult,现有非 Python 或同步集成需要适配。 - 对于较小、现成模型,材料明确提示其输出可能不一致;模型质量仍会影响结果。
如何安装或部署这个 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 与同类方案有什么区别?
Parlant 将自身定位为对话治理与行为控制层:LangGraph 更适合工作流自动化,DSPy 更适合底层提示词优化。它可与 LangGraph、Agno 或 LlamaIndex 并用,把外部工作流或查询引擎封装成按条件触发的 Parlant tool。