当我决定买房 —— 写了个 AI 工具帮自己砍价

0 阅读14分钟

各位好久不见。

又有一段时间没有更新了,距离上一次「Besu 的 API 与调试体系」又过了 3 个月了。这期间工作上发生了很多事,导致都没有时间更新了。最近家里人吃饭时聊到“别人的孩子多么优秀”的时候,就跟我提起了买房的事情了。

对,就是那种一走进售楼处就浑身难受的事。

(⊙o⊙)… 你给我一个终端,我能搞定 bug;但让我跟中介砍价?算了吧,我连“这个价格还能谈吗”这句话都问不利索。更别提什么 LPR 利率走势、住建部政策解读、开发商资金链风险......打开网页看了十分钟,每个字都认识,连在一起不知道在说什么。

于是就有了个想法:不如让 AI 帮我吧,做好了也可以帮帮大家嘛。


不只是「AI 问答机器人」

你可能觉得:这不就是接个 ChatGPT 问一句「北京 500 万预算买哪里」吗?网上大把这种工具啦。

说实话,一开始我也这么想的,直接问 Qwen、Kimi 不就好了。但问着问着就发现不对劲——让一个模型回答所有维度的问题,跟让一个医生同时看内科、外科、儿科、妇产科一样不靠谱。

市面上绝大多数基于通用模型的「AI 购房助手」长这样:

用户输入 → 单个 LLM 回答 → 输出结果

好一点的会在前面加个搜索,变成:

用户输入 → 联网搜索 → 单个 LLM 回答 → 输出结果

这有个致命问题:再牛的模型也有自己的知识盲区。 Claude 强在逻辑推理但中文政策解读不如 DeepSeek,GPT 算账厉害但不懂中国风水格局,Qwen 懂中文但风险评估容易「过于乐观」。你把这么大的决策压在一个模型上,你能保证它不出问题吗?

所以我做了个不一样的东西:

用户输入
  ↓
画像提取 + 多源情报采集(官方数据 + 政府网站 + 三平台搜索 + 深度研究 Agent)
  ↓
8 位独立 AI 专家并行分析(城市规划师 / 政策研究员 / 金融顾问 / 风险评估师 / 家庭顾问 / 看房专家 / 法务顾问 / 环境顾问)
  ↓
8 位专家交叉辩证(看完彼此的观点,互相挑刺)
  ↓
首席决策官汇总 16 份意见,输出最终购房建议书

这相当于你买房前,同时请了 8 个不同领域的专家关起门来开会,先各自分析,再互相辩论——最后给你一份他们打架打出来的共识结论。


8 个专家到底怎么工作的

专家不只是一个 prompt,而是一整套人格

市面上很多「多 Agent」系统其实就是同一套 prompt 换了个角色名。但我这里,每个专家是真正不同的模型

专家用的模型为什么选它
城市规划师Gemini 3.1 Pro城市发展分析需要大数据推理
金融顾问GPT-5.4房贷计算、税费精算需要强量化能力
风险评估师Claude Opus 4.7找茬需要最强的综合逻辑推理
看房专家Claude Sonnet 4.6户型分析需要结构化 checklist
政策研究员DeepSeek V3.2政策解读需要精确的中文理解
法务顾问DeepSeek V3.2法条引用需要严谨性
家庭顾问Qwen 2.5 72B生活场景分析有温度接地气
环境顾问Qwen 2.5 72B中国传统居住智慧理解更深

通过上图你可以发现,需要强推理能力的走 Poe(Claude/GPT/Gemini),需要中文场景优势的走 SiliconFlow(DeepSeek/Qwen)。 这不是随便分配的——用 Poe 的 Claude Opus 去解读中国房地产政策,不如让 DeepSeek 来;但让 DeepSeek 去做复杂金融模型的风险推演,又不如 GPT-5.4。

不是「调用一下 API」,是一整套容错体系

这里有个真实的工程问题:API 挂了怎么办?Poe 积分耗尽怎么办?硅基流动服务波动怎么办?单个模型抽风返回空怎么办?

为此,我加了三层兜底:

第一层:Poe → SiliconFlow 平台级切换。

每次调用 Poe 前先查余额,低于月预算 10% 就自动切到 SiliconFlow。如果 Poe 返回 402(余额耗尽),直接永久标记为不可用——不再浪费请求去尝试。

第二层:模型级降级链。

每个专家都配了 3-4 个备选模型。主力挂了 → 备选 1 → 备选 2 → 备选 3。

第三层:熔断器。

连续失败 5 次,直接熔断整个平台,等 5 分钟再试探性恢复。防止级联故障打爆下游。

真不是我矫情。你想想,用户提交一次深度分析,背后要走 6 个情报采集阶段 + 16 次专家调用(8 个专家 × 2 轮)+ 1 次首席决策官汇总。只要其中一环挂了没兜底,整条链路就断了。没有这套容错体系,跑三天能成功一次就不错了。

交叉辩证(重点)

8 个专家各自分析完只是第一步。真正有意思的是第二步——把所有人的观点拼在一起,再发给每个人看一遍。

「你看看城市规划师说的,你觉得他推荐的板块靠谱吗?」

「政策研究员说限购有放松趋势,风险评估师你注意到这个风险了吗?」

这不是走形式。真实跑下来,我发现:

  • 金融顾问经常被风险评估师打脸。「你说月供占收入 50% 没问题?万一失业呢?」,然后金融顾问回去重新算了一个 40% 的方案。
  • 环境顾问会让城市规划师重新考虑。「你说的那个新盘,我在高架旁边...晚上噪音 65 分贝你考虑了吗?」
  • 看房专家会 challenge 法务顾问。「你说这个楼盘产权没问题,但我查到开发商在隔壁项目有延期交付的记录,你怎么看?」

两轮下来共 16 份意见打架——最后发给首席决策官的不是 8 段话,是一整场辩论赛的完整纪要。


关于情报,我要的是“挖到底”

专家再牛,喂进去的信息质量决定了产出质量。所以我在情报采集上花了很大力气。

不止是搜索

很多「AI + 搜索」就是调一个 Google API 拉几条结果塞进 prompt。我做了 6 个阶段:

  1. 官方数据:通过 AKShare 直接从国家统计局拉 LPR 利率、70 城房价指数、全国房地产开发投资数据。这不是搜出来的二手信息,是原始数据。
  2. 政府网站定向搜索(频次允许内):对住建部、自然资源部、央行等 5 个 .gov 域名做 site: 定向搜索政策原文。
  3. 三平台轮询搜索:用 Brave、Exa、Tavily 三个搜索引擎轮询执行 10 组查询,单平台连续失败 3 次自动降级到下一个。
  4. 深度研究 Agent:这是一个 ReAct 循环,Agent 先把主题拆成 8-15 个子问题,然后一轮一轮地搜→读→分析→追问,最多执行 20 次搜索调用,直到所有子问题都有答案为止。

三平台轮询不是花架子。Brave 擅长广度搜索和 site: 定向,Exa 擅长语义深度搜索,Tavily 自带 AI 摘要——同一组查询在不同引擎上跑出来的结果差异巨大。

输出不能断在半路

深度研究报告动不动万把字,经常超过模型的上下文窗口。输出被截断了怎么办?

为此,我写了个续写机制。检测到输出被截断(finish_reason="length" 或者末尾在句子中间),自动发起续写请求,把前半段当作上文,让模型接着写。最多续写 3 次(应该也足够了)。就这么个简单的逻辑,解决了「报告写了八成就没了」的问题。


我不能让它骗我

AI 最大的问题不是笨,是太能编了。你问它一个不存在的数据,它能给你编得像真的一样。

所以我加了几条硬约束,贯穿所有专家和最终报告:

  • 每个判断标注确信度:✅ 有数据支撑 / ⚠️ 大概率但缺验证 / ❓ 不确定
  • 引用必须带来源:不能张口就说「业内人士认为」,得标清楚信息从哪来的
  • 不知道就说不知道:「这个区域的真实成交价我没查到」——比编一个数强一万倍
  • 最终报告三大铁律
    1. 必须融合你提过的所有需求(一条不能漏)
    2. 必须推荐一个情报里真实存在的标的(不能编小区名)
    3. 必须逐项检查 12 个维度(宏观周期、利率、城市基本面、板块、楼盘、户型、物业、产权、金融方案、政策风险、隐性陷阱、流动性)

这不是为了显得「专业」,是我自己真的会用这份报告做决策。我不能让它骗我。


跑起来看看

系统用的是 Python 3.10+,依赖就这几个:

pip install -r requirements.txt

.env 里填上 API key:

POE_API_KEY=你的key        # 高质量模型(Claude/GPT/Gemini)
SF_API_KEY=你的key         # 中文模型(DeepSeek/Qwen/Kimi)
BRAVE_API_KEY=你的key      # 搜索引擎
EXA_API_KEY=你的key
TAVILY_API_KEY=你的key

启动:

python app.py
# 打开 http://localhost:5001

如果你拿来二次开发,那么可以加一行 DEV_MODE=true 跳过邮箱验证直接进去用。


和同类项目比,有什么不一样

说几个我认为真正有差异的点(个人主观认为):

  1. 不是单模型回答,是 8 个不同模型各自分析再互相辩论。 大多数同类工具就是接一个 LLM 然后调一两个搜索 API。这里是 8 个模型并行跑两轮,16 份意见丢给首席决策官汇总。
  2. 不是黑盒。 整个分析过程通过 SSE 流式推送到前端——你看到每一步搜了什么、每个专家说了什么、辩论中谁反驳了谁。不做「等 5 分钟弹出一个结果」的黑盒体验。
  3. 有「记性」。 你上次聊过的事儿(预算、城市、家庭结构)下次还记着,换设备换浏览器都没事,完整的 RBAC 结构 + 画像都通过 SQLite 保存在服务端。意味着你用得越多它越懂你。
  4. 它不是 demo,是能跑的生产级代码。 双平台路由、熔断保护、6 阶段情报管线、自动续写、12 维度自检...因为自己用所以这套架构是认真设计过的,绝对不是「能跑就行」。

跟 OpenClaw、Codex 比你有存在的必要吗?

嗯...这个问题问得很好。但拿这个项目跟 OpenClaw 和 Codex 比也太过抬举我了。

它们确实很强

OpenClaw 的架构让我叹服。936K 行 TypeScript,单端口 WebSocket 网关连接 50+ 个消息渠道,13,000+ 个社区技能,设备节点能把手机变成 Agent 外设......这工程能力我这种卡拉米肯定是做不到的。Codex CLI 更不用说,84K Star,macOS 桌面操控、Chrome 扩展、多 Agent 并行...

但这里有一个关键区别,应该很多人没注意到:

它们是「通用 Agent 框架」,我做的是「专用决策管线」。

这是两种完全不同的设计方向来的。

单模型扮演 vs 多模型辩论

OpenClaw 的 Agent 运行时是 pi-agent-core。一个强大的、模型无关的推理引擎。你可以给它挂上技能(SKILL.md),让他「扮演」城市规划师、金融顾问、风险评估师。它甚至可以 spawn 子 Agent 并行工作。

但有个本质问题:无论你 spawn 多少个子 Agent,它们背后跑的都是同一个模型。 你用 Claude Opus 扮演 8 个角色——它还是 Claude Opus。它能模拟辩论,但这是在「自己跟自己下棋」。

这边的的 8 个专家是 8 个真正不同的模型

  • 城市规划师跑的是 Gemini 3.1 Pro——城市发展大数据推理是它的强项
  • 金融顾问跑的是 GPT-5.4——量化计算和财务模型没人比它更擅长
  • 风险评估师跑的是 Claude Opus 4.7——综合推理找茬,这是 Claude 的看家本领
  • 政策研究员跑的是 DeepSeek V3.2——中文政策解读,原生中文模型碾压所有翻译模型
  • 家庭顾问跑的是 Qwen 2.5 72B——生活场景分析,有温度接地气

这不是搞花活。你让 DeepSeek 去做 GPT-5.4 擅长的复杂金融推演,或者让 Claude Opus 去解读中国房地产政策...结果一定不如让对的模型做对的事。个人认为:一个全能模型扮演 8 个角色,不如 8 个专长模型各司其职。

OpenClaw 的「技能系统」确实可以让 Agent 表现出不同领域的专业行为。但技能本质上是 prompt injection——它在教模型「怎么说话」,改变不了模型「怎么思考」。你给一个数学不好的人穿上白大褂,他不会变成数学家。

搜索 ≠ 情报采集

Codex CLI 有 browser-use 和 computer-use。能打开浏览器搜东西,这确实厉害。但买房这件事需要的信息,不是「搜一下」能搞定的。具体已经在**“关于情报,我要的是“挖到底”**章节说过了,这里就不重复了。

你当然可以让 Codex 或 OpenClaw 「帮我研究买房」。它能做。

但通用 Agent 能做任何事,每件事都做不到 90 分。专用管线只做一件事,但能做到 95 分。

用那么多模型费用一定也很高吧?

「你又要买 Poe 会员又要买 SiliconFlow 的 API,做一次分析贵到离谱吧?」

这可能是最大的误解。我来算个真实的账。

Codex CLI 或 OpenClaw 跑一次复杂的 Agent 任务要多少 token?学术界有个叫 AgencyBench 的基准测试——专门评估 Agent 处理真实世界长周期任务的能力。他们的数据:

  • GPT-5.2 完成一个复杂任务平均消耗 340 万 token,耗时 0.6 小时,89 轮工具调用
  • Claude Opus 4.5 消耗 170 万 token,耗时 0.8 小时,36 轮

按 API 价格算:Claude Opus 4.7 的 API 是 5/M 输入、25/M 输出。这一次分析就是 2550GPT5.2便宜点,输入1.75/M,输出14/M,也要25-50**。GPT-5.2 便宜点,输入1.75/M ,输出 14/M,也要 **5-15 一次。这还是「完成任务」的情况,如果中间出错重试,翻倍很正常。

那么我的方案呢?

  • Poe 订阅 $20/月:覆盖了 Claude Opus、GPT-5.4、Gemini 的所有调用。不是按 token 计费,是按积分调用。
  • SiliconFlow API:DeepSeek V3.2 的价格是输入 ¥1/M、输出 ¥2/M(约 0.14/0.14/0.28)。8 个专家中 3 个走 SF,每次调用几千 token,一毛钱都不到。

一次完整的深度分析:5 个专家走 Poe(积分扣除+折扣)、3 个专家走 SF(几分钱)、加上搜索 API 的免费额度。实际增量成本几乎为零。

Poe 的定价模型是订阅制而非 token 制,这才是关键。如果你用 API 按 token 付费跑 Claude Opus 4.7,做 10 次深度分析就要 250-500。但 Poe 不开 Output Effort 为 Max 和 Extra High 的话 20/月也是足够用的。

所以不是「我这个也便宜」,而是「把质量任务走订阅制、把批量任务走廉价 API,比所有调用都走 API 按 token 计费便宜一个数量级」。OpenClaw 自托管也要付 API 费的,你用 Claude Opus API 跑一次复杂 Agent 任务就是几十美元,跑十次就是几百美元。

严谨性不是 prompt 能解决的

OpenClaw 和 Codex 都能被 prompt 要求「严谨」。但「要求严谨」和「系统性地保证严谨」是两回事。

这边的严谨性是架构级的

  • 每个专家被分配了明确的 12 维度覆盖责任。这不是「你看着办」,而是「你负责维度 3、4、8」
  • 交叉辩证不是 prompt 技巧,是第二轮真实调用。每个专家拿到其他 7 个人的完整输出后再跑一遍
  • 最终报告的三大铁律是硬约束。必须融合所有历史需求、必须推荐真实标的、必须逐项检查 12 维度
  • 确信度标注(✅⚠️❓)贯穿全流程。这不是建议,是要求

这些不是靠一段「请严谨分析」的 prompt 能做到的,因为它们是管线设计的一部分。


最后

这个项目会不定期更新吧(主要是要看时间,大家不要抱太大期望)。

欢迎到 Gitee 上试用。代码写得不算漂亮,但每一行都是实打实跑过的——从熔断器到续写机制,从三平台搜索到 8 专家辩论,没有一行是 demo 代码。

gitee: gitee.com/yzh0623/dre…

如果你也是那种写得了代码但砍不了价的人,应该能理解我在说什么。

(未完待续...)