【S3W3 交叉评测】TradeMaster:身份授权、数据可信度与多步骤 Agent 编排建议 #2
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
1. 项目理解
我理解 TradeMaster 是一个面向外贸销售人员和中小外贸企业的 AI 业务助理平台。
项目试图覆盖从寻找潜在买家、分析公司背景、生成开发信,到处理客户询盘、发送和跟踪邮件、维护客户 Pipeline 及跟进提醒的完整外贸业务流程。
当前产品已经不是单一聊天机器人,而是由 Flask Web 应用、Function Calling 工具、外部数据源、SQLite 数据存储、邮件系统、询盘流程和客户管理模块共同组成的业务工作台。
2. 项目亮点
3. 当前问题和疑点
3.1 登录接口尚未形成服务端身份授权
当前登录接口只返回用户信息,没有签发 Session、JWT 或其他身份凭证。
前端把用户信息保存在 localStorage,后续接口直接提交 user_email。联系人、仪表盘、会话、询盘和邮件接口均信任客户端传入的邮箱,没有验证调用者是否属于该账号。
此外:
建议引入统一认证中间件,由服务端从 Session 或 Token 获取当前用户,禁止客户端自行声明身份,并对所有用户数据实施强制隔离。
3.2 邮箱和商业事实的可信度规则与代码存在冲突
系统提示词强调“禁止编造邮箱”,但 LLM 买家搜索降级逻辑要求每家公司必须返回邮箱,并允许生成 purchasing@、info@、sales@ 等常见地址。
这些模型生成结果还被标记为“AI Trade Database”,容易被误认为已验证的数据。
开发信和询盘回复的降级模板还会默认宣称:
如果用户没有提供这些事实,不应自动写入真实商务邮件。
建议为所有公司、邮箱、认证、价格和资历增加来源及验证状态;模型推测结果只能作为待核查线索,不能直接进入可发送流程。
3.3 当前多 Agent 协作实际是单次关键词路由
当前系统根据第一个匹配关键词选择一个 Agent,并在整个任务中固定该 Agent 的工具集合。
例如:
“搜索德国 LED 进口商并给他们写开发信”
会被路由到买家搜索 Agent,但该 Agent 没有 draft_email 工具,因此无法执行文档中描述的“搜索完成后切换邮件 Agent”。
建议先把用户请求拆成结构化子任务,再依次执行:
不一定需要启动多个独立模型,但必须支持真正的跨步骤任务规划和状态传递。
3.4 展会和市场情报需要来源及有效期
当前展会日期、规模、认证费用、市场规模和增长率主要以硬编码方式保存,没有来源链接和核验时间。
展会匹配也没有过滤已经结束的活动,因此可能向用户推荐过期展会。
建议每条情报增加:
3.5 需要统一当前项目说明和验证入口
README、架构文档、Demo 文档、API 文档和代码对 Agent 数量、工具数量、数据源及会话存储的描述并不一致。
建议以当前代码为准更新仓库首页,并提供一个可直接执行的验证命令。当前完整 pytest 会因测试脚本在导入阶段退出而无法正常收集,也建议改为标准 pytest fixture 或独立 integration test 脚本。
4. 优先改进建议
建议优先完成以下三项:
完成以上三项后,再补充知识库来源、过期数据过滤和统一文档口径。
5. 综合评价
TradeMaster 已经形成了较完整的外贸业务应用,功能体量、工程模块和业务场景都比较丰富。
当前最重要的提升方向不是继续增加更多功能,而是确保用户身份、客户数据和邮件能力得到真正保护,并保证系统不会把模型推测内容包装成可直接用于真实业务的事实。
在授权机制、数据可信度和多步骤任务编排得到修正后,项目会更接近一个可以安全用于真实外贸流程的 Agent,而不仅是功能丰富的演示平台。
感谢评审老师专业、细致的审阅。以下针对各项问题和建议逐条回应。
一、登录接口尚未形成服务端身份授权(3.1)
回复:已修复。
认证机制:
create_token、decode_token、@login_required、@optional_login 四个接口
全端点鉴权覆盖:
数据隔离:
测试覆盖:
个安全测试全部通过(认证绕过7个、越权访问2个、JWT令牌3个、密码加密2个、安全响应头2个)
二、邮箱和商业事实的可信度规则与代码存在冲突(3.2)
回复:已修复。评审指出三个问题,均已解决。
emails. An empty email is better than a wrong one."
and exporting high-quality products"
已完成的溯源基础:
三、多 Agent 协作实际是单次关键词路由(3.3)
回复:已修复。
评审的判断完全正确。原 detect_intent() 仅返回第一个匹配关键词对应的
Agent,工具集合在整个对话中不变。本轮重构如下:
四、展会和市场情报需要来源及有效期(3.4)
回复:已修复。
source、source_url、last_verified、start_date、end_date、status、product_category
五、统一项目说明和验证入口(3.5)
回复:已完成。
列)、数据源置信度表、环境变量表、安全说明
六、综合评价回应
评审的结论——"当前最重要的提升方向不是继续增加功能,而是确保用户身份、客户数据和邮件能力得到真正保护,并保
证系统不会把模型推测内容包装成可直接用于真实业务的事实"——我们完全认同。
两轮安全加固后的项目状态:
项目已从功能丰富的演示平台向可安全用于真实外贸流程的 Agent 迈出了关键一步。感谢评审老师的指导。
提交记录:github.com/Jack-lei-prog/trademaker
部署地址:http://106.53.100.252