【S1W3 交叉评测】matchmaker 项目评测意见 #7
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?
Link-Matchmaker 项目交叉评测报告
1. 项目理解
做什么
AI Matchmaker(学习型 AI 相亲代理人平台) 是一个面向社交/婚恋匹配场景的 AI+ 应用。其核心创新不在于传统标签匹配,而是为每个用户创建一个 会学习、会追问、会代表用户参与初筛的 AI 代理人。
核心闭环包括 7 个步骤:
extract_memory):从自然语言用户资料中抽取结构化关系记忆create_agent):根据用户画像生成 AI 相亲代理人simulate_match):两个 AI 代理进行 AI-to-AI 初筛对话run_scenario):模拟冲突修复、异地规划、家庭边界等关系场景identify_gaps):发现画像信息不足的维度,生成追问update_memory):将用户回答写入长期记忆generate_report):输出可解释兼容性报告解决什么问题
传统婚恋匹配存在三大核心痛点:
AI Matchmaker 试图通过 代理间初步筛选 + 追问闭环 + 可解释报告,帮助用户在投入真实时间前,降低低质量试探成本。
当前交付定位
复赛 Wave 2 原型是一个 零依赖、本地运行、纯 Python 标准库实现的产品闭环。不依赖外部 LLM、数据库或网络,确保评测环境可直接验证。
2. 项目亮点
2.1 完整的 Skill 闭环设计,与 SPECS 严丝合缝
项目的 7 个 Skills 与
SPECS.md中描述的 7 步产品流程一一对应,且每个 Skill 都有完整的输入/输出 Schema、独立的 HTTP API 入口和可组合调用能力。2.2 动态评分引擎,非硬编码分数
兼容性分数不是固定文案,而是由 5 个动态维度加权计算:
每个维度的计算都有明确的公式和证据输出(
score_factors),评审可以直接检查评分逻辑。2.3 隐私设计从代码层可验证
隐私不是一句口号,而是直接体现在代码中:
PRIVACY_GUARDRAILS字典声明了 6 项隐私约束(第 18-26 行)GET /api/privacy返回当前隐私边界和代码层控制点(第 349-351 行)log_message()被覆盖为空函数,不打印请求日志(第 397-398 行)POST /api/agent/run响应中返回privacy_boundary字段(第 221 行)2.4 积极吸收交叉评测反馈并落地改进
项目 README 明确列出了针对上一轮评测反馈的改进:
energy_match_score、relationship_energy_type、energy_dynamics三维能量分析EXTREME_CASES.md,提供"高吸引但高冲突"的极端案例confidence字段和low_confidence_notesrelationship_evolution(0-3 月 / 3-12 月 / 长期)VALIDATION_ROADMAP.md2.5 双重可读性设计:人类友好 + 机器可解析
项目提供三份接口说明文件,覆盖不同阅读者:
SKILL.md(第 1-231 行):面向人类评审和 AI Agent 的 Skill 使用说明,包含 Purpose、When To Use、Input/Output Schema、Scoring Logic、Safety Boundaryskills.json(第 1-20 行):面向自动评测系统的机器可读 Skills 清单agent_manifest.json(第 1-25 行):Agent 定位、能力、决策策略和 Demo 入口2.6 零依赖,开箱即跑
项目仅依赖 Python 标准库(
http.server、json、dataclasses、argparse、pathlib),无需pip install、无需 API key、无需数据库。评测环境可以直接运行:3. 当前不足
3.1 代理对话内容是模板化的,非真正的自然语言生成
simulate_agent_match()函数生成的对话内容是固定的英文模板字符串,并非由 LLM 基于双方画像动态生成。例如所有代理的开口白都是类似的句子结构:这导致代理对话缺乏个性化,无法体现不同性格用户的语言风格差异。
3.2 记忆抽取依赖简单关键词匹配,无语义理解能力
extract_memory()使用预定义的关键词列表(DIMENSIONS)做字符串包含匹配,无法处理同义词、上下文语义或复杂表达。例如"我受不了冷战"无法匹配到conflict_style维度(因为关键词列表中只有"冲突"、"争吵"、"复盘"等)。3.3 能量动态分析使用关键词计数,过于粗粒度
_estimate_energy_dynamics()通过统计正面关键词("成长"、"支持"、"共同"等)和消耗关键词("冷处理"、"争吵"、"控制"等)的出现次数来计算能量分数。这种方法:3.4 Trait 推断同样基于关键词,阈值设定主观
_infer_traits()从 bio 文本中通过关键词推断directness、empathy、planning三个维度,使用硬编码的分界值(如directness >= 0.6判定为 "direct")。当用户手动传入traits时,关键词推断会直接覆盖手动值(第 506 行traits.update(profile.traits or {})先以默认值初始化,然后关键词逻辑再调整),这可能导致用户意图被关键词逻辑意外覆盖。3.5 场景库仅有 3 个场景,覆盖面有限
SCENARIO_LIBRARY只包含冲突修复、异地规划、家庭边界 3 个场景。真实关系中的关键议题如财务观念(已存在于关键词中但无场景)、育儿观念、宗教信仰、事业与家庭平衡等均未覆盖。场景选择逻辑也较简单,仅按shared_memory中缺失的维度做优先级排序。3.6 测试覆盖不足,缺少异常路径测试
测试文件仅有 2 个测试用例,且都只测试正常路径(happy path):
test_wave2_demo_runs_core_closed_loop:验证闭环能否跑通test_wave2_report_contains_required_review_fields:验证报告字段完整性缺少的测试场景包括:空 profile、只有 1 个 profile、无效 scenario_type、极端 traits 值、超大 memory、JSON 解析异常等。
4. 下一步建议
4.1 [高优先] 将规则引擎替换为可插拔的 LLM Provider
当前的核心 Skills 内部实现(
extract_memory、simulate_match、run_scenario、generate_report)都是规则引擎。建议按照项目自己提出的"零依赖动态规则引擎 + 可替换 LLM Provider 入口"策略,在保留现有 API 接口不变的前提下:extract_memory的关键词匹配替换为 LLM 调用,基于完整语义做结构化抽取simulate_agent_match的模板拼接替换为 LLM 基于双方画像生成个性化对话_estimate_energy_dynamics替换为 LLM 做细粒度情感/能量分析具体建议:先实现一个
LLMProvider抽象接口,然后同时保留RuleBasedProvider和可选的OpenAIProvider,确保离线评测依然可用。4.2 [高优先] 丰富场景库,覆盖更多关系维度
当前 3 个场景远不足以覆盖真实关系决策。建议扩充到 8-12 个场景,覆盖:
同时,
select_relationship_scenario应从当前简单的缺失维度优先级排序,升级为基于风险权重的场景推荐。4.3 [中优先] 增强测试体系
建议补充以下测试:
POST /api/agent/run发送多种 payload 变体log_message确实不输出、privacy_boundary字段始终存在4.4 [中优先] 改进记忆系统为可持久化的 Memory Vault
当前 Wave 2 的 memory 仅在单次 HTTP 请求中存活,进程重启即丢失。虽说是原型阶段的故意设计,但
PRIVACY.md中提出的"本地 Memory Vault"思路值得在 Wave 3 实现:user_id读写、更新、删除PRIVACY_GUARDRAILS的本地运行约束4.5 [中优先] 增加用户反馈回路
当前系统缺少用户对报告的反馈机制。建议新增:
POST /api/feedback:用户对兼容性报告的评分和评论VALIDATION_ROADMAP.md中"阶段 1:小样本可用性测试"的技术基础4.6 [低优先] 前端页面国际化与无障碍优化
当前
index.html是一个很好的可视化演示页,但仅支持中文硬编码。建议:aria-label等无障碍属性5. 综合评价
总体评价:优秀(推荐通过复赛评审)
AI Matchmaker 是一个 设计思路清晰、实现完整度高、文档体系成熟 的复赛提交项目。
核心优势:
PRIVACY_GUARDRAILS+/api/privacy+ 空日志函数构成三层防线主要改进空间:
建议评审关注点:
在评测时建议重点关注 (1) 动态评分的可解释性(检查
score_factors是否随输入变化而合理变化)、(2) 隐私边界是否在每次响应中正确返回、(3) 极端案例(EXTREME_CASES.md)的运行结果是否呈现出"不简单否定也不简单肯定"的复杂性分析。