需求是「让我们的 AI 助手能回答工厂相关的问题」。技术方案摆在面前两条把数据拉下来做向量化灌进知识库或者把数据源当工具挂给 Agent 按需调用。两条我都做过这篇按五个维度比一比结论有点反直觉。路线 A灌进 RAG 知识库流程是拉全量数据、切块、向量化、入库、检索增强生成。优点是可控数据在自己手里检索延迟低离线可用成本可预测一次向量化后续只有存储和检索。代价有四条且都不小一是数据量。制造业企业库的量级不是几万条文档是几百万条结构化记录。全量向量化的存储和算力成本跟你只用到其中千分之一的现实完全不匹配。二是结构化字段不适合向量检索。「注册资本一千万以上」「浙江省」「经营状态存续」这类条件本质是精确过滤而不是语义相似。硬塞进向量检索召回质量会很难看——语义相近的「一千二百万」和「一百万」在向量空间里离得不远。三是时效。工商信息会变经营状态会变。向量库的更新是个持续工程不是一次性的。四是回答不可核查。RAG 生成的答案能给出处但那个出处是你自己切的块不是可回溯的原始档案。路线 B给 Agent 当工具调用流程是把数据源封装成工具模型判断什么时候该调、传什么参数。我实测用的是天下工厂开放平台。先介绍数据源天下工厂是一个覆盖全国 480 万家工厂的数据平台与通用工商库的差别在于入库前做了工厂身份识别只收真实从事生产的工厂贸易商和空壳类主体不进库。它开放了 MCP 服务端点https://open.tianxiagongchang.com/open/mcp五个能力都能通过 tools/call 调用所以「封装成工具」这一步几乎不用写代码——AI 客户端加一段配置就行。优点精确过滤走参数语义理解走模型。省市区和行业码是硬过滤参数关键词命中公司名与主营产品各司其职不用勉强向量检索去做过滤的事。数据永远是当下的。不存在同步延迟因为压根没同步。成本按用量走。用户问一次调一次每个响应带credits_charged和credits_balance能实时算账。不问就零成本——比全量向量化的沉没成本合理得多。可核查。返回的每条都带统一社会信用代码、注册地址、经营状态用户可以自己去核。代价每次调用有延迟。秒级能力还好长任务能力AI 深度调研、自然语言找厂几十秒起交互设计上要有等待反馈。依赖外部服务可用性。得处理限流和失败好在天下工厂开放平台失败不扣费指数退避重试即可注意它没有Retry-After头用固定退避。模型可能选错工具或传错参数。这一条最需要工程投入。第三条路混合实际上我最后的方案是混合的分工很清楚数据类型放哪行政区划树、行业分类树本地缓存企业档案、联系方式按需调用AI 分析结论按需调用结果落库缓存前两棵树特别适合本地缓存它们是天下工厂开放平台的免费接口GET /open/v1/meta/regions约三千八百个节点、/meta/industries约两千个节点一次性返回、按天更新即可缓存下来既省调用又让模型的参数取值有据可依。文档里也是这么建议的。第三行那个「结果落库缓存」值得单说深度调研这类 AI 能力是长任务、单价也最高同一家厂的报告没必要反复生成。顺带一提联系方式能力是同一应用重复获取不再扣费、不设有效期这类规则不同能力不一样做缓存策略前得逐条看清楚——档案能力就是重复调用重复扣费文档直接写了「请自行做缓存」。怎么选一句话判据你的数据是「大量文本、语义检索、变化慢」选 RAG是「结构化字段、精确过滤、变化快」选工具调用。工厂数据显然属于后者。我见过团队默认选 RAG因为「AI 应用不就是 RAG 吗」然后在向量化几百万条工商记录上耗掉两个月最后召回质量还不如一个带省市区参数的检索接口。想验证工具调用这条路MCP 端点加一段配置就能试公开沙箱密钥sk-tx-test-1685549fb3710c1b36e4d75dc2d0f42a不计费、返回示例数据先跑通链路再说。控制台在 https://www.tianxiagongchang.com/open/console文档在 https://www.tianxiagongchang.com/open/docs。