返回 FEED
CLAUDE2026-05-25

Claude Code 构建首个 B2B 潜在客户名单(无需数据库)

每个 Claude Code 外展教程都以同一个假设开始:你已经有一个 Apollo CSV 放在文件夹里。

你没有。大多数人没有。真正让操作员停滞的时刻是在那之前——当你已经决定卖给谁,但还没有付费购买能让你查询他们的数据库。

ColdIQ 在 400 多个 B2B 客户中发送了 2300 万+ 封冷邮件,操作员最常问的问题不是如何给名单评分。而是如何在什么都没有的情况下构建一个名单。

这就是冷启动。空文件夹,没有导出的 CSV,没有 Apollo 订阅。三个提示词后,你有一个包含 100 家公司和 16 个已验证决策者的分层名单,准备输入到系统的其余部分。

名单构建的变化

Apollo、ZoomInfo 等工具是围绕基于筛选的搜索构建的。你选择行业、员工人数范围、融资阶段、地理位置。你得到一个名单。工作在于筛选。

基于筛选的搜索在你确切知道买家长什么样时有效。当你的 ICP 仍然是你脑海中的一个句子,还不确定哪些筛选组合描述了市场的正确 slice 时,它就崩溃了。新操作员花费第一个月订阅数据库,为他们不知道如何设置的筛选器付费,并拉出包含他们想要定位的类别中错误一半的名单。

语义搜索填补了这个 gap。Exa.ai 是生产中最干净的例子。你用 plain language 描述你的买家,API 返回其网络存在语义匹配描述的公司,没有筛选对话框,也没有你必须付费访问的层级。免费层级附带足够的积分,在刷卡之前构建多个名单。

Claude Code 让 Exa 可用于外展。终端读取你的业务上下文,调用 Exa API,根据你的 ICP 对返回的内容评分,并以准备充实和序列化的格式将名单交给你。三个提示词,没有电子表格操作,没有点击你 barely understand 的 SaaS UI。

打开终端前构建的文件夹

在 Finder 中,Alex 保留一个主 Claude Code 文件夹。每个项目都作为子文件夹住在里面,项目文件夹是 Claude Code 实际运行的地方。对于名单构建,创建一个名为 claude-code-list-builder 的文件夹。在打开 Claude Code 之前,里面放入两个文件。

第一个是 CLAUDE.md。这是项目的操作系统,在每个会话的顶部读取,应用于每个提示词。对于名单构建项目,保持简短。你的业务卖什么,谁买它,目标公司长什么样,目标 persona 长什么样,什么明确超出范围。五个短部分,保持在 200 行以内。你不是在写宣言,你是在确保模型无论你今天还是六周后运行会话都产生相同的名单。

第二个文件是 .env。前导点是保持秘密本地的标准约定:包括 Anthropic 和 GitHub 发布的大多数样板 .gitignore 文件在内的现代栈默认排除 dotfiles,这在你推送后保持密钥不进入公共仓库。在 .env 中,将 Exa.ai API 密钥粘贴在一行中,并在运行时告诉 Claude Code 密钥住在那里。这种纪律在第一天不花费你任何东西,并在密钥泄漏到提交后节省你原本会承担的账单。

文件夹的最终状态:

  • CLAUDE.md(项目操作系统,200 行以内)
  • .env(Exa API 密钥,前导点隐藏)

两个文件。没有别的。在终端中打开指向此文件夹的 Claude Code,会话就知道开始所需的一切。

三提示词序列

三个提示词带你从空文件夹到 16 个已验证联系人。每个都建立在最后一个之上。

提示词 1:从上下文定义 ICP

阅读 CLAUDE.md 并定义我的 ICP。输出目标行业、目标公司规模、相关目标融资阶段、目标 persona 的角色和资历,以及取消资格标准。

Claude Code 读取你写的 markdown 文件并将其转换为结构化的 ICP。在继续之前验证两件事。行业块是否匹配你实际销售的对象。Persona 是否匹配会实际批准你 offer 的人。如果任何一个偏离,编辑 CLAUDE.md 并再次运行提示词。模型只和它读取的文档一样好。

提示词 2:构建名单

基于 ICP,构建一个包含 100 家符合公司的名单。使用 Exa.ai 进行搜索。API 密钥在 .env 中。根据 ICP 对每家公司评分 1-10,并按行业、评分和地理位置显示细分。

Claude Code 调用 Exa,拉出 100 家公司,并根据你刚刚确认的 ICP 对它们进行分层。演练返回了 26 家评分 9 或 10 的公司,其余分布在较低评分中。同一运行还给出了行业细分和地理细分,这是 Apollo 不会在没有电子表格中手动 pivoting 的情况下显示的内容。

查看列表底部而非顶部。一级公司通常第一眼看起来是对的,这就是为什么取消资格行才是真正的诊断所在。如果你的 DQ 列表包含你实际会销售的公司,ICP 正在泄漏,运行需要重做。

提示词 3:找到决策者

在前 10 家公司每家找到最相关的决策者。返回姓名、职位、公司、公司域名和 LinkedIn URL。

模型自己处理联系人解析。Alex 将其限制在前 10 名以进行第一次运行,因为这对于验证工作流而不消耗积分来说足够了。演练在 10 家公司中返回了 16 个联系人,这是你在实践中期望的:一些账户有一个明显的决策者,其他账户有两个或三个值得保留在漏斗中的相关角色。

输出作为表格落在项目文件夹中,每行携带充实电子邮件和发送第一个序列所需的五个字段。

三分钟后你实际拥有什么

  • 一个包含 100 家公司的名单,分层,带有行业和地理分布。
  • 26 个高匹配度账户的短名单,用于聚焦第一个活动。
  • 前 10 名的 16 个已命名决策者,带有已验证的 LinkedIn URL。
  • 产生所有内容的精确 CLAUDE.md 和 .env 配置,坐在你的文件夹中准备为下一个活动 fork。

最后一点是大多数操作员在第一次运行时错过的。你保留的是文件夹,不是名单,因为为新的 ICP fork 文件夹只是复制、编辑 CLAUDE.md,并再次运行相同的三个提示词。在该循环迭代两三次后,冷启动已经停止成为每季度重新做的一次性工作,而变成了你实际拥有的工作流。

冷启动结束和系统开始的地方

16 个联系人不是活动。它是让你发现你写入 CLAUDE.md 的 ICP 是否实际映射到存在的买家的种子名单。一旦这 16 个被验证,其余的外展系统就有真实的地方可以行动。

将这一切转化为 pipeline 的是冷启动之后的工作:充实以获取缺少的联系人上的已验证工作电子邮件,一个包含针对你的 offer 和你的 ICP 痛点训练的序列的 copy framework 文件,推入你运行的任何 sequencer(Instantly 等),然后是活动和从中返回的回复数据。该回复数据反馈回 CLAUDE.md 和 framework 文件,之后的活动开始得更 sharp。

所有这些的架构存在于过去两个月发布的较长 Claude Code 手册中。Alex 没有将它们折叠到本指南中,因为冷启动值得自己的 focus。正确获得前 16 个联系人,其余的引擎就有东西可以操作。跳过冷启动去追逐"真实"名单,你会花费下个季度试图评分你还没有权利评分的公司。

杀死冷启动的错误

几乎每个操作员的第一次运行都会出现四个错误。

  1. 臃肿的 CLAUDE.md 是最常见的。操作员试图在一个文件中教模型他们的整个业务,文件膨胀到 400 行以上,模型产生模糊输出,因为信噪比崩溃。保持在 200 行以内。五个短部分。当业务实际变化时更新它,而不是每次你想到要添加的东西时都更新。

  2. 模糊的 ICP 是第二个。"B2B SaaS 创始人"产生的名单横跨 HR tech、物流 tech、垂直 SaaS 和 dev tools。修复方法是推动定义直到它消除比包含更多的公司。你的 ICP 的第一个版本应该拒绝 90% 的可寻址市场。如果没有,它是一个 positioning statement,不是名单构建器。

  3. 在纯文件中硬编码 API 密钥 是第三个。永远不要将其命名为 api-key.txt 并留在项目根目录中。.env 上的前导点约定不是 aesthetic。它是保持你的密钥和你在推送到公共仓库后发现在别人账单上的密钥之间的区别。

  4. 不运行评分、修复标准、再运行循环 是第四个。API 出来的第一个名单很少是你想要的。你的一级集群通常方向正确,但混杂着实际上不符合的公司,所以调整提示词中的评分标准并再次运行,然后继续迭代直到一级看起来像你今天会发邮件的账户。两到三次迭代是正常的。 untouched 发送第一次运行是你最终序列化市场错误一半的方式。

成本情况

  • $20 的 Claude 订阅。
  • Exa 免费层级,足够慷慨,Alex 在任何项目的初始冷启动工作期间都没有付费。
  • 在你验证 ICP 并在前 16 个联系人上证明工作流之前,零数据库订阅。

这个冷启动的旧版本让操作员每月至少在数据库访问上花费几百美元,然后他们才知道他们的 ICP 是否正确。

新版本花费不到一顿晚餐,运行时间为三分钟。


启动外展动作的昂贵部分曾经是首先订阅哪个数据库的决定。那个决定已经死了。终端加上语义搜索 API 是新的起点,你构建来运行它们的文件夹是你保留的 artifact。名单在文件夹的下游。花第一天写 markdown。