橡胶行业销售履约智能体 - 技术方案文档
1. 需求分析
1.1 业务背景
橡胶行业销售履约流程涉及多个环节,包括行情分析、报价生成、合同审核、订单处理、库存管理、物流调度等,传统人工处理效率低、易出错。本智能体系统旨在通过多智能体协作实现全流程自动化。
1.2 核心需求
| 需求编号 |
需求描述 |
来源 |
| REQ-001 |
智能报价:行情获取→策略生成→优惠计算→报价单输出 |
业务流程 |
| REQ-002 |
合同审核:法务/商业/技术三方面并行审核 |
业务流程 |
| REQ-003 |
订单处理:共享状态黑板,异步读写 |
业务流程 |
| REQ-004 |
异常处理:多方案辩论,择优选择 |
业务流程 |
| REQ-005 |
交付调度:库存查询→路线规划→运力分配→排程 |
业务流程 |
| REQ-006 |
报价响应时间 P95 < 5s |
关键指标 |
| REQ-007 |
合同审核置信度 ≥ 85% |
关键指标 |
| REQ-008 |
履约成功率 ≥ 95% |
关键指标 |
| REQ-009 |
异常识别准确率 ≥ 90% |
关键指标 |
| REQ-010 |
系统可用性 ≥ 99.5% |
关键指标 |
1.3 功能范围
graph TD
A[智能报价] --> A1[行情分析]
A --> A2[报价策略]
A --> A3[优惠计算]
A --> A4[报价单生成]
B[合同审核] --> B1[法务审核]
B --> B2[商业审核]
B --> B3[技术审核]
B --> B4[仲裁聚合]
C[订单处理] --> C1[库存查询]
C --> C2[物流规划]
C --> C3[付款验证]
D[异常处理] --> D1[根因诊断]
D --> D2[方案辩论]
D --> D3[方案执行]
2. 技术方案
2.1 技术选型
| 分类 |
技术 |
版本 |
选型理由 |
| 语言 |
Python |
3.11 |
成熟生态、AI工具支持好、异步能力强 |
| 框架 |
LangGraph |
0.2.0 |
多智能体协作框架、状态管理、工作流编排 |
| LLM |
Claude 3.5 / DeepSeek V3 |
- |
Claude适合复杂推理,DeepSeek适合计算类任务 |
| 数据库 |
PostgreSQL |
15 |
关系型数据库,支持JSONB、全文搜索 |
| 缓存 |
Redis |
7 |
状态管理、缓存、队列 |
| 部署 |
Docker / Docker Compose |
- |
容器化部署、环境隔离 |
| 监控 |
Prometheus + Grafana |
- |
指标监控、可视化仪表盘 |
2.2 架构设计
2.2.1 分层混合式拓扑架构
graph TB
subgraph Supervisor层
A[SalesFulfillmentSupervisor]
end
subgraph 智能报价团队
B1[PricingAnalyst]
B2[PricingStrategist]
B3[DiscountCalculator]
end
subgraph 合同审核团队
C1[ContractReviewer]
C2[RiskIdentifier]
C3[ContractAdvisor]
end
subgraph 订单处理团队
D1[InventoryManager]
D2[LogisticsPlanner]
D3[PaymentVerifier]
end
subgraph 异常处理团队
E1[ExceptionHandler]
end
subgraph 外部系统
F1[隆众API]
F2[期货接口]
F3[WMS系统]
F4[物流API]
F5[财务系统]
F6[CRM系统]
end
A --> B1
A --> B2
A --> B3
A --> C1
A --> C2
A --> C3
A --> D1
A --> D2
A --> D3
A --> E1
B1 --> F1
B1 --> F2
D1 --> F3
D2 --> F4
D3 --> F5
B2 --> F6
2.2.2 协作模式矩阵
| 阶段 |
协作模式 |
Agent参与 |
说明 |
| 智能报价 |
顺序流水线 |
PricingAnalyst → PricingStrategist → DiscountCalculator |
串行执行,前一阶段输出作为后一阶段输入 |
| 合同审核 |
广播-聚合 |
ContractReviewer × 3 → 仲裁者 |
并行审核,结果聚合 |
| 订单处理 |
环境驱动 |
多Agent共享状态黑板 |
异步读写,事件触发 |
| 异常处理 |
辩论式协作 |
ExceptionHandler + 方案Agent |
多方案辩论,Supervisor择优 |
| 交付调度 |
顺序流水线 |
InventoryManager → LogisticsPlanner → PaymentVerifier |
串行执行 |
2.3 智能体能力矩阵
| Agent ID |
角色名 |
核心职责 |
主要工具 |
LLM 模型 |
| supervisor |
销售履约总控 |
任务拆解、委派、汇总 |
任务分发、状态查询 |
Claude 3.5 |
| pricing_analyst |
行情分析师 |
获取期货/现货行情,判断走势 |
隆众API、期货接口 |
DeepSeek V3 |
| pricing_strategist |
报价策略Agent |
综合成本/竞争/客户关系生成策略 |
规则引擎、CRM查询 |
Claude 3.5 |
| discount_calculator |
优惠计算Agent |
计算客户折扣、数量折扣、促销优惠 |
折扣规则库 |
DeepSeek V3 |
| contract_reviewer |
合同审核Agent |
OCR解析、条款识别、风险分级 |
PDF解析、模板库 |
Claude 3.5 |
| risk_identifier |
风险识别Agent |
专项识别法律/商业/履约风险 |
风险规则库 |
Claude 3.5 |
| contract_advisor |
合同修改建议Agent |
生成标准条款替代方案 |
历史案例库 |
Claude 3.5 |
| inventory_manager |
库存管理Agent |
查询/锁定/释放库存,跨仓库调拨 |
WMS系统接口 |
DeepSeek V3 |
| logistics_planner |
物流调度Agent |
路线规划、承运商匹配、时效预测 |
物流API |
DeepSeek V3 |
| exception_handler |
异常处理Agent |
诊断异常根因、生成处理方案 |
知识库、历史案例 |
Claude 3.5 |
| payment_verifier |
财务校验Agent |
验证付款状态、开票信息核对 |
财务系统接口 |
DeepSeek V3 |
3. 核心状态定义
3.1 工作流阶段枚举
class WorkflowStage(str, Enum):
QUOTE_REQUEST = "quote_request" # 接收报价请求
MARKET_ANALYSIS = "market_analysis" # 行情分析
PRICING_STRATEGY = "pricing_strategy" # 报价策略
DISCOUNT_CALCULATION = "discount_calculation" # 优惠计算
QUOTE_GENERATION = "quote_generation" # 生成报价单
CONTRACT_REVIEW = "contract_review" # 合同审核
ORDER_CREATION = "order_creation" # 创建订单
INVENTORY_CHECK = "inventory_check" # 库存检查
LOGISTICS_PLANNING = "logistics_planning" # 物流规划
PAYMENT_VERIFICATION = "payment_verification" # 付款验证
DELIVERY_SCHEDULING = "delivery_scheduling" # 交付排程
EXCEPTION_HANDLING = "exception_handling" # 异常处理
COMPLETED = "completed" # 任务完成
FAILED = "failed" # 任务失败
3.2 销售履约状态定义
class SalesFulfillmentState(TypedDict):
task_id: str # 任务ID
stage: WorkflowStage # 当前阶段
quote_request: Optional[QuoteRequest] # 报价请求
customer_info: Optional[CustomerInfo] # 客户信息
market_prices: Optional[List[RubberPrice]] # 市场价格
pricing_strategy: Optional[Dict[str, Any]] # 报价策略
discount_info: Optional[Dict[str, Any]] # 折扣信息
quote_result: Optional[QuoteResult] # 报价结果
contract_info: Optional[ContractInfo] # 合同信息
order_info: Optional[OrderInfo] # 订单信息
inventory_info: Optional[List[Inventory]] # 库存信息
logistics_plan: Optional[LogisticsPlan] # 物流计划
payment_status: Optional[str] # 付款状态
exceptions: Optional[List[ExceptionRecord]] # 异常记录
current_task: Optional[str] # 当前任务
agent_outputs: Dict[str, Any] # Agent输出集合
errors: List[str] # 错误列表
history: List[Dict[str, Any]] # 历史记录
4. 工具集设计
4.1 工具设计原则
| 原则 |
说明 |
示例 |
| 描述即契约 |
tool description完整定义输入/输出/错误处理 |
Pydantic模型定义 |
| 幂等性 |
查询类工具可重复调用不产生副作用 |
get_rubber_prices |
| 事务性 |
操作类工具必须可回滚 |
lock_inventory / release_inventory |
| 容错性 |
提供Mock数据用于测试 |
_get_mock_prices |
4.2 工具分类清单
4.2.1 行情获取工具
| 工具名 |
功能描述 |
参数 |
返回值 |
| get_rubber_prices |
获取橡胶现货行情 |
grade: Optional[str] |
List[RubberPrice] |
| get_futures_quotes |
获取期货报价 |
exchange: str = “SHFE” |
List[Dict[str, Any]] |
4.2.2 定价工具
| 工具名 |
功能描述 |
参数 |
返回值 |
| calculate_discount |
计算客户折扣 |
customer_tier, quantity, grade, promotion_code |
Tuple[float, Dict] |
| apply_pricing_strategy |
应用报价策略 |
base_price, customer_info, market_trend, competitive_pressure |
Dict[str, Any] |
4.2.3 合同工具
| 工具名 |
功能描述 |
参数 |
返回值 |
| parse_contract |
解析合同文本 |
contract_text: str |
Dict[str, Any] |
| analyze_contract_risk |
分析合同风险 |
contract_text, parsed_clauses |
List[RiskRecord] |
| suggest_clause_modifications |
生成修改建议 |
contract_text, risks |
Dict[str, Any] |
4.2.4 库存工具
| 工具名 |
功能描述 |
参数 |
返回值 |
| check_inventory |
查询库存 |
grade, quantity, warehouse_id |
Dict[str, Any] |
| lock_inventory |
锁定库存 |
warehouse_id, grade, quantity, order_id |
Dict[str, Any] |
| release_inventory |
释放库存 |
lock_id: str |
Dict[str, Any] |
| transfer_inventory |
跨仓库调拨 |
from_warehouse, to_warehouse, grade, quantity |
Dict[str, Any] |
4.2.5 物流工具
| 工具名 |
功能描述 |
参数 |
返回值 |
| plan_route |
规划运输路线 |
origin, destination, weight, urgency |
LogisticsPlan |
| match_carrier |
匹配承运商 |
origin, destination, weight |
CarrierInfo |
| estimate_delivery_time |
估算交货时间 |
origin, destination, carrier_id |
Dict[str, Any] |
4.2.6 支付工具
| 工具名 |
功能描述 |
参数 |
返回值 |
| verify_payment |
验证付款状态 |
order_id: str |
Dict[str, Any] |
| check_credit_limit |
检查信用额度 |
customer_id, order_amount |
Dict[str, Any] |
4.2.7 CRM工具
| 工具名 |
功能描述 |
参数 |
返回值 |
| get_customer_info |
获取客户信息 |
customer_id: str |
CustomerInfo |
5. LangGraph 工作流实现
5.1 项目结构
rubber_sales_agent/
├── agents/ # Agent实现
│ ├── __init__.py
│ ├── base_agent.py # 基础Agent类
│ ├── supervisor.py # 总控Agent
│ ├── pricing_analyst.py # 行情分析师
│ ├── pricing_strategist.py # 报价策略Agent
│ ├── discount_calculator.py # 优惠计算Agent
│ ├── contract_reviewer.py # 合同审核Agent
│ ├── risk_identifier.py # 风险识别Agent
│ ├── contract_advisor.py # 合同修改建议Agent
│ ├── inventory_manager.py # 库存管理Agent
│ ├── logistics_planner.py # 物流调度Agent
│ ├── exception_handler.py # 异常处理Agent
│ └── payment_verifier.py # 财务校验Agent
├── tools/ # 工具集
│ ├── market_tools.py # 行情工具
│ ├── pricing_tools.py # 定价工具
│ ├── contract_tools.py # 合同工具
│ ├── inventory_tools.py # 库存工具
│ ├── logistics_tools.py # 物流工具
│ ├── payment_tools.py # 支付工具
│ └── crm_tools.py # CRM工具
├── workflows/ # 工作流
│ └── sales_fulfillment_graph.py # 主工作流
├── models/ # 数据模型
│ ├── data_models.py # 业务数据模型
│ └── states.py # LangGraph状态定义
├── prompts/ # Prompt工程
│ ├── supervisor_prompt.py
│ ├── pricing_prompt.py
│ ├── contract_prompt.py
│ └── exception_prompt.py
├── config.py # 配置管理
├── main.py # 主入口
└── requirements.txt # 依赖声明
5.2 核心工作流节点
5.2.1 智能报价流水线
flowchart LR
A[开始] --> B[获取客户信息]
B --> C[行情分析]
C --> D[报价策略]
D --> E[优惠计算]
E --> F[生成报价单]
F --> G[合同审核]
5.2.2 合同审核广播-聚合
flowchart TD
A[合同审核入口] --> B[法务审核]
A --> C[商业审核]
A --> D[技术审核]
B --> E[仲裁聚合]
C --> E
D --> E
E --> F{置信度 ≥ 85%?}
F -->|是| G[继续订单处理]
F -->|否| H[异常处理]
5.2.3 订单处理状态机
stateDiagram-v2
[*] --> INVENTORY_CHECK
INVENTORY_CHECK --> LOGISTICS_PLANNING : 库存充足
INVENTORY_CHECK --> EXCEPTION_HANDLING : 库存不足
LOGISTICS_PLANNING --> PAYMENT_VERIFICATION
PAYMENT_VERIFICATION --> COMPLETED : 付款通过
PAYMENT_VERIFICATION --> EXCEPTION_HANDLING : 付款失败
EXCEPTION_HANDLING --> INVENTORY_CHECK : 重试
EXCEPTION_HANDLING --> FAILED : 无法解决
COMPLETED --> [*]
FAILED --> [*]
5.3 边路由逻辑
| 节点 |
路由条件 |
下一节点 |
| contract_review |
存在高风险 |
risk_identification |
| contract_review |
置信度 < 85% |
exception_handling |
| contract_review |
正常通过 |
inventory_check |
| inventory_check |
库存充足 |
logistics_planning |
| inventory_check |
库存不足 |
exception_handling |
| payment_verification |
付款通过且信用充足 |
complete |
| payment_verification |
付款失败或信用不足 |
exception_handling |
| exception_handling |
存在严重异常 |
complete(FAILED) |
| exception_handling |
可恢复异常 |
重试对应节点 |
6. Prompt 工程
6.1 Supervisor 系统提示词
你是橡胶行业销售履约智能体的总控Agent (Supervisor)。
你的职责:
1. 接收销售履约任务请求
2. 拆解任务为子任务
3. 委派给专业Agent执行
4. 汇总执行结果
5. 处理异常和回退
工作流程阶段:
- QUOTE_REQUEST: 接收报价请求
- MARKET_ANALYSIS: 行情分析
- PRICING_STRATEGY: 报价策略
- DISCOUNT_CALCULATION: 优惠计算
- QUOTE_GENERATION: 生成报价单
- CONTRACT_REVIEW: 合同审核
- ORDER_CREATION: 创建订单
- INVENTORY_CHECK: 库存检查
- LOGISTICS_PLANNING: 物流规划
- PAYMENT_VERIFICATION: 付款验证
- DELIVERY_SCHEDULING: 交付排程
- EXCEPTION_HANDLING: 异常处理
- COMPLETED: 任务完成
- FAILED: 任务失败
协作模式:
- 智能报价: 顺序流水线
- 合同审核: 广播-聚合
- 订单处理: 环境驱动
- 异常处理: 辩论式协作
决策输出格式:
next_stage: [下一阶段名称]
action: [具体操作描述]
请根据当前阶段和历史记录,做出最优决策。
6.2 各Agent提示词要点
| Agent |
核心指令 |
输出要求 |
| pricing_analyst |
获取行情,分析趋势 |
价格列表 + 趋势判断 |
| pricing_strategist |
综合成本/竞争/客户关系 |
策略列表 + 推荐理由 |
| discount_calculator |
严格按规则计算折扣 |
折扣率 + 明细 |
| contract_reviewer |
OCR解析 + 风险分级 |
解析结果 + 置信度 |
| risk_identifier |
专项风险识别 |
风险列表 + 优先级 |
| exception_handler |
诊断根因 + 生成方案 |
异常列表 + 处理建议 |
7. 数据库设计
7.1 核心表结构
7.1.1 customers(客户表)
| 字段名 |
类型 |
约束 |
说明 |
| customer_id |
VARCHAR(32) |
PRIMARY KEY |
客户ID |
| name |
VARCHAR(100) |
NOT NULL |
客户名称 |
| tier |
VARCHAR(20) |
NOT NULL |
客户等级(VIP/PREMIUM/STANDARD/NEW) |
| credit_limit |
DECIMAL(15,2) |
NOT NULL |
信用额度 |
| outstanding_debt |
DECIMAL(15,2) |
DEFAULT 0 |
未结欠款 |
| discount_rate |
DECIMAL(5,4) |
DEFAULT 0 |
基础折扣率 |
| payment_terms |
VARCHAR(50) |
- |
付款条件 |
| contact_info |
JSONB |
- |
联系方式 |
| created_at |
TIMESTAMP |
DEFAULT CURRENT_TIMESTAMP |
创建时间 |
| updated_at |
TIMESTAMP |
DEFAULT CURRENT_TIMESTAMP |
更新时间 |
7.1.2 quotes(报价单表)
| 字段名 |
类型 |
约束 |
说明 |
| quote_id |
VARCHAR(32) |
PRIMARY KEY |
报价单ID |
| customer_id |
VARCHAR(32) |
REFERENCES customers |
客户ID |
| items |
JSONB |
NOT NULL |
报价明细 |
| total_amount |
DECIMAL(15,2) |
NOT NULL |
总金额 |
| valid_until |
TIMESTAMP |
NOT NULL |
有效期至 |
| expires_in_days |
INTEGER |
NOT NULL |
有效天数 |
| terms |
TEXT |
- |
条款说明 |
| status |
VARCHAR(20) |
DEFAULT ‘active’ |
状态 |
| created_at |
TIMESTAMP |
DEFAULT CURRENT_TIMESTAMP |
创建时间 |
7.1.3 contracts(合同表)
| 字段名 |
类型 |
约束 |
说明 |
| contract_id |
VARCHAR(32) |
PRIMARY KEY |
合同ID |
| quote_id |
VARCHAR(32) |
REFERENCES quotes |
报价单ID |
| content |
TEXT |
NOT NULL |
合同内容 |
| parsed_clauses |
JSONB |
- |
解析条款 |
| confidence_score |
DECIMAL(3,2) |
DEFAULT 0 |
审核置信度 |
| status |
VARCHAR(20) |
DEFAULT ‘pending’ |
状态 |
| created_at |
TIMESTAMP |
DEFAULT CURRENT_TIMESTAMP |
创建时间 |
| updated_at |
TIMESTAMP |
DEFAULT CURRENT_TIMESTAMP |
更新时间 |
7.1.4 orders(订单表)
| 字段名 |
类型 |
约束 |
说明 |
| order_id |
VARCHAR(32) |
PRIMARY KEY |
订单ID |
| contract_id |
VARCHAR(32) |
REFERENCES contracts |
合同ID |
| customer_id |
VARCHAR(32) |
REFERENCES customers |
客户ID |
| items |
JSONB |
NOT NULL |
订单明细 |
| total_amount |
DECIMAL(15,2) |
NOT NULL |
总金额 |
| status |
VARCHAR(20) |
DEFAULT ‘created’ |
状态 |
| delivery_location |
VARCHAR(100) |
- |
配送地点 |
| created_at |
TIMESTAMP |
DEFAULT CURRENT_TIMESTAMP |
创建时间 |
| updated_at |
TIMESTAMP |
DEFAULT CURRENT_TIMESTAMP |
更新时间 |
7.1.5 inventory(库存表)
| 字段名 |
类型 |
约束 |
说明 |
| inventory_id |
VARCHAR(32) |
PRIMARY KEY |
库存ID |
| warehouse_id |
VARCHAR(32) |
NOT NULL |
仓库ID |
| warehouse_name |
VARCHAR(100) |
NOT NULL |
仓库名称 |
| grade |
VARCHAR(20) |
NOT NULL |
橡胶牌号 |
| quantity |
DECIMAL(10,2) |
NOT NULL |
数量 |
| unit |
VARCHAR(10) |
DEFAULT ‘MT’ |
单位 |
| location |
VARCHAR(100) |
- |
库位 |
| batch_no |
VARCHAR(50) |
- |
批次号 |
| expiry_date |
TIMESTAMP |
- |
有效期 |
| locked_quantity |
DECIMAL(10,2) |
DEFAULT 0 |
锁定数量 |
| created_at |
TIMESTAMP |
DEFAULT CURRENT_TIMESTAMP |
创建时间 |
| updated_at |
TIMESTAMP |
DEFAULT CURRENT_TIMESTAMP |
更新时间 |
7.1.6 exceptions(异常记录表)
| 字段名 |
类型 |
约束 |
说明 |
| exception_id |
VARCHAR(32) |
PRIMARY KEY |
异常ID |
| order_id |
VARCHAR(32) |
REFERENCES orders |
订单ID |
| type |
VARCHAR(30) |
NOT NULL |
异常类型 |
| description |
TEXT |
NOT NULL |
异常描述 |
| severity |
VARCHAR(20) |
NOT NULL |
严重程度 |
| resolved |
BOOLEAN |
DEFAULT FALSE |
是否已解决 |
| resolution |
TEXT |
- |
解决方案 |
| created_at |
TIMESTAMP |
DEFAULT CURRENT_TIMESTAMP |
创建时间 |
| resolved_at |
TIMESTAMP |
- |
解决时间 |
7.2 索引设计
-- 订单状态索引
CREATE INDEX idx_orders_status ON orders(status);
-- 合同审核状态索引
CREATE INDEX idx_contracts_status ON contracts(status);
-- 异常解决状态索引
CREATE INDEX idx_exceptions_resolved ON exceptions(resolved);
-- 工作流任务索引
CREATE INDEX idx_workflow_task ON workflow_history(task_id);
-- 库存牌号索引
CREATE INDEX idx_inventory_grade ON inventory(grade);
8. 部署与监控
8.1 容器化部署架构
flowchart TD
subgraph 外部访问
A[客户端请求]
end
subgraph Docker网络
B[橡胶销售智能体]
C[(PostgreSQL)]
D[(Redis)]
E[Prometheus]
F[Grafana]
end
A --> B
B --> C
B --> D
B --> E
E --> F
8.2 Docker Compose 配置要点
services:
rubber-sales-agent:
build: .
environment:
- ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY}
- DATABASE_URL=postgresql://postgres:password@db:5432/rubber_sales
- REDIS_HOST=redis
ports:
- "8000:8000"
depends_on:
- db
- redis
db:
image: postgres:15-alpine
volumes:
- postgres_data:/var/lib/postgresql/data
- ./database/schema.sql:/docker-entrypoint-initdb.d/schema.sql
ports:
- "5432:5432"
redis:
image: redis:7-alpine
volumes:
- redis_data:/data
ports:
- "6379:6379"
prometheus:
image: prom/prometheus:latest
volumes:
- ./monitoring/prometheus.yml:/etc/prometheus/prometheus.yml
ports:
- "9090:9090"
grafana:
image: grafana/grafana:latest
environment:
- GF_SECURITY_ADMIN_PASSWORD=admin
volumes:
- grafana_data:/var/lib/grafana
ports:
- "3000:3000"
8.3 关键监控指标
| 指标 |
目标值 |
说明 |
监控方式 |
| 报价响应时间 P95 |
< 5s |
从请求到报价单生成 |
Prometheus histogram |
| 合同审核置信度 |
≥ 85% |
AI审核置信度 |
业务指标 |
| 履约成功率 |
≥ 95% |
端到端履约完成率 |
业务指标 |
| 异常识别准确率 |
≥ 90% |
异常检测命中率 |
业务指标 |
| 系统可用性 |
≥ 99.5% |
月度可用率 |
Prometheus uptime |
| Agent在线率 |
100% |
智能体服务状态 |
心跳检测 |
| 任务队列长度 |
< 100 |
待处理任务数 |
Redis监控 |
8.4 告警规则
| 告警项 |
触发条件 |
级别 |
通知方式 |
| 报价响应超时 |
P95 > 5s |
警告 |
Slack/邮件 |
| 审核置信度过低 |
< 85%持续10分钟 |
警告 |
Slack/邮件 |
| 履约失败率过高 |
> 5% |
严重 |
电话 + Slack |
| Agent离线 |
连续3次心跳失败 |
严重 |
电话 + Slack |
| 系统不可用 |
健康检查失败 |
严重 |
电话 + Slack |
9. 安全性考虑
9.1 API密钥管理
- 使用环境变量存储敏感信息(
.env文件)
- Docker Compose通过
environment传递环境变量
- 禁止在代码中硬编码密钥
- 使用密钥管理服务(如AWS KMS、HashiCorp Vault)进行生产环境管理
9.2 数据访问控制
| 系统 |
访问方式 |
认证机制 |
| 隆众API |
API Key |
Bearer Token |
| WMS系统 |
REST API |
OAuth2 |
| 财务系统 |
REST API |
OAuth2 |
| CRM系统 |
REST API |
API Key |
| 数据库 |
连接池 |
用户名/密码 |
9.3 数据加密
- 数据库传输:SSL/TLS
- 敏感数据存储:AES加密
- 日志脱敏:敏感字段掩码处理
10. 代码安全性
10.1 注意事项
| 风险类型 |
风险描述 |
关联模块 |
| 注入攻击 |
SQL注入、命令注入 |
数据库操作、外部API调用 |
| 数据泄露 |
敏感信息明文存储 |
配置文件、日志 |
| 未授权访问 |
未验证的API调用 |
外部系统接口 |
| 拒绝服务 |
大量请求导致系统崩溃 |
API接口、任务队列 |
| 数据篡改 |
恶意数据修改 |
订单、合同数据 |
10.2 解决方案
| 风险类型 |
解决方案 |
实施位置 |
| 注入攻击 |
使用ORM(SQLAlchemy)、参数化查询 |
database层 |
| 数据泄露 |
环境变量管理、日志脱敏 |
config.py、日志模块 |
| 未授权访问 |
API Key验证、OAuth2认证 |
工具层API调用 |
| 拒绝服务 |
请求限流、队列长度监控 |
API网关、任务调度 |
| 数据篡改 |
数据校验、签名验证 |
数据模型层 |
附录:文件清单
| 文件路径 |
说明 |
agents/supervisor.py |
销售履约总控Agent |
agents/pricing_analyst.py |
行情分析师Agent |
agents/pricing_strategist.py |
报价策略Agent |
agents/discount_calculator.py |
优惠计算Agent |
agents/contract_reviewer.py |
合同审核Agent |
agents/risk_identifier.py |
风险识别Agent |
agents/contract_advisor.py |
合同修改建议Agent |
agents/inventory_manager.py |
库存管理Agent |
agents/logistics_planner.py |
物流调度Agent |
agents/exception_handler.py |
异常处理Agent |
agents/payment_verifier.py |
财务校验Agent |
tools/market_tools.py |
行情获取工具 |
tools/pricing_tools.py |
定价工具 |
tools/contract_tools.py |
合同工具 |
tools/inventory_tools.py |
库存工具 |
tools/logistics_tools.py |
物流工具 |
tools/payment_tools.py |
支付工具 |
tools/crm_tools.py |
CRM工具 |
workflows/sales_fulfillment_graph.py |
LangGraph工作流 |
models/data_models.py |
业务数据模型 |
models/states.py |
LangGraph状态定义 |
prompts/ |
Prompt工程 |
config.py |
配置管理 |
main.py |
主入口 |
文档版本: v1.0
创建时间: 2026年4月
适用项目: 橡胶行业销售履约智能体