AgenticPay
收藏AgenticPay 数据集概述
数据集基本信息
- 名称: AgenticPay
- 性质: 一个用于模拟买卖双方多智能体谈判的框架。
- 核心方法: 使用大型语言模型作为智能代理的基础,进行现实的价格谈判。
- API设计: 采用类似Gymnasium的API,便于集成和扩展。
主要特性
- 基于LLM的智能体: 支持由LLM驱动的买方和卖方代理(目前支持OpenAI、vLLM和SGLang)。
- 多轮对话: 支持扩展的谈判对话。
- 记忆系统: 用于上下文感知谈判的对话历史管理。
- 状态跟踪: 全面跟踪价格、轮次和谈判状态。
- 灵活配置: 可自定义谈判参数和代理行为。
- 可扩展设计: 易于添加新的代理类型或LLM提供商。
- 环境注册系统: 类似Gymnasium的环境注册,便于环境管理。
- 多产品谈判: 支持在保持上下文的情况下谈判多种产品。
- 多智能体场景: 支持多种组合下的多个买家、卖家和产品。
- 并行与顺序谈判: 支持并行和顺序谈判模式。
- 用户画像: 影响代理谈判行为的个人偏好系统。
核心组件
环境
框架提供了一套全面的谈判环境,按复杂性组织:
- 单一买家 + 产品 + 卖家: 基础谈判场景。
- 仅多产品: 单个买家和卖家谈判多种产品的环境。
- 仅多卖家: 多个卖家与单个买家竞争的环境。
- 仅多买家: 多个买家竞争产品的环境。
- 多买家多卖家: 多个买家和多个卖家的复杂环境。
- 多产品多卖家: 多种产品和多个卖家的环境。
- 多买家多产品: 多个买家和多种产品的环境。
- 多买家多产品多卖家: 最复杂的环境,包含多个买家、产品和卖家。
通用环境方法:
reset(): 初始化新的谈判。step(): 执行一个谈判回合(接受代理动作)。render(): 显示当前谈判状态。close(): 关闭环境并清理。
智能体
- BaseAgent: 所有代理的抽象基类。
- 子类:
BuyerAgent: 代表买方,根据用户需求和预算进行谈判。SellerAgent: 代表卖方,根据产品信息和市场条件进行谈判。
环境注册系统
类似Gymnasium的环境注册系统,便于环境管理。
- 关键函数:
make(),register(),spec(),pprint_registry()。
ConversationMemory
管理对话历史和上下文。
- 功能: 带元数据的消息存储、历史检索(完整或最近)、基于角色的过滤。
配置
环境参数
max_rounds: 最大谈判轮数。initial_seller_price: 卖方的起始价格。buyer_max_price: 买方可接受的最高价格(保密)。seller_min_price: 卖方可接受的最低价格(保密)。price_tolerance: 达成协议的价格差异阈值。environment_info: 上下文信息(天气、季节等)。reward_weights: 控制不同奖励组件相对重要性的字典(包括buyer_savings、seller_profit、time_cost)。
代理配置
- BuyerAgent:
buyer_max_price(最高可接受购买价格)。 - SellerAgent:
seller_min_price(最低可接受销售价格)。
用户画像
用户描述在谈判初始化期间作为字符串传递给代理。
LLM配置
支持多种提供商:
- 本地模型:
SGLangLM,VLLMLM(支持多GPU设置)。 - OpenAI (API):
OpenAILLM(需要API密钥)。 - HuggingFace (本地/在线):
HuggingFaceLLM(需要模型名称和设备)。
项目结构
AgenticPay/ ├── agenticpay/ │ ├── agents/ # 代理实现(买方、卖方) │ ├── envs/ # 环境实现 │ │ ├── single_buyer_product_seller/ # 基础谈判 │ │ ├── only_multi_products/ # 多产品场景 │ │ ├── only_multi_seller/ # 多卖家场景 │ │ ├── only_multi_buyer/ # 多买家场景 │ │ └── multi_*/ # 复杂多代理场景 │ ├── models/ # LLM实现(支持vLLM、SGLang、OpenAI API) │ ├── memory/ # 对话历史管理 │ ├── utils/ # 工具(状态、用户画像) │ └── examples/ # 按场景组织的示例脚本 ├── README.md ├── setup.py └── requirements.txt
安装与快速开始
- 安装: 创建Conda环境,安装依赖项和包。
- 模型下载: 从Hugging Face下载模型并保存到
agenticpay/models/download_models目录以供本地模型使用。 - 快速开始: 运行示例脚本
python agenticpay/examples/single_buyer_product_seller/Task1_basic_price_negotiation.py。
示例
示例按环境类别组织,涵盖从基础价格谈判到完整多代理场景的各种用例。
扩展性
框架设计为可扩展。关键扩展点包括:自定义奖励函数、高级价格提取、自定义谈判策略、基于学习的代理行为、额外的代理类型、自定义记忆系统。
许可证
MIT License
引用
bibtex @misc{agenticpay2025, title={AgenticPay: A Multi-Agent LLM Negotiation System for Buyer–Seller Transactions}, author={Xianyang Liu, Shangding Gu, Dawn Song}, year = {2025}, publisher = {GitHub}, journal = {GitHub repository}, howpublished = {url{https://github.com/SafeRL-Lab/AgenticPay}}, }

- 1AgenticPay: A Multi-Agent LLM Negotiation System for Buyer-Seller Transactions加州大学伯克利分校 · 2026年



