| name | bd-pipeline |
| description | 外贸B2B客户开发流水线统筹技能(跑流水线/批量开发/继续下一批/按国家推进/pipeline/开发进度)。当用户要求端到端跑完整客户开发流程(搜索→筛选→背调→地图审计→开发信)、按批次/国家/大洲系统性推进市场开发、说"继续跑下一批/下一个国家"、或上传进度台账要求断点续跑时,必须使用本技能。本技能自身不做业务判断,只负责调度 business-profile、customer-discovery、customer-research、maps-spatial-audit、outreach-angle 五个业务技能,维护进度台账、去重名单和人工审核队列。 |
流水线统筹 Skill(BD Pipeline Orchestrator)
任务本质:把五个业务技能(配置→搜索→背调→条件式地图审计→切入点)串成可以批次化、按地域推进、断点续跑的流水线。本技能不含业务逻辑,只做三件事:调度、记账、守门。
环境前置检查
首次执行和恢复旧批次前读取环境初始化前置检查。当前清单无有效状态时,先使用 b2b-marketing-automation:environment-setup,再恢复业务状态。
默认参数(用户可改,不问就用默认)
- 批次大小:20 家候选/批
- 漏斗配比:每批 20 家候选 → Gate 通过的全部浅调 → 浅调 top 2-3 深调 → 深调后 star≥3 的出开发信切入点
- 地域推进顺序:按 Business Profile 的 country_or_region 优先级;无配置则按用户指定;洲内按国家逐个推进,国家内按关键词矩阵逐批推进
- 单次对话预算:最多连跑 3 批(防止上下文溢出导致质量下降);到限自动收线交台账
项目代码与客户编号
开始新项目或读取旧台账时,先读取 shared/schemas/crm-output-contract.json。
project_code 必须是用户确认的三个大写英文字母,不得根据公司名、域名或产品名自行猜测。未获得用户明确确认时必须停止,不得创建或继续项目台账。
新 canonical_domain 的编号步骤:
- 读取 Sheet 5 的
last_company_sequence;新台账从 0 开始。
- 计算 next_sequence = last_company_sequence + 1;超过 99999 时停止并转人工。
- 生成
company_id = project_code + "-" + next_sequence 的五位零填充形式。
- 先持久化新的
last_company_sequence,完成序列保留,再把 company_id 与 canonical_domain 写入 Sheet 3。
- 已有 canonical_domain 必须复用原 company_id。
两次写入之间发生中断时,中断最多允许产生未使用的编号空洞;恢复时不得回退 last_company_sequence,
也不得把已经保留的编号分配给其他 canonical_domain。company_id 永不修改、永不回收、永不复用;
排序、重跑、放弃、恢复或迁移状态不得改变编号。
旧台账没有 company_id 时,必须先确认 project_code,再按「累计去重名单」现有行顺序一次性补号,
写入 id_migration_version=1 和新的 last_company_sequence。升级完成后才可继续搜索。
文件命名
只有 project_code 已由用户明确确认并持久化后,才可创建文件名;不得默认、猜测或写入真实项目代码。
不可变批次快照使用:
{project_code}_{artifact_type}_{scope}_{yyyymmdd}_v{version}.xlsx
长期更新文件仅使用:
{project_code}_pipeline-state.xlsx
{project_code}_BD_Master.xlsx
artifact_type 只能使用 shared/schemas/crm-output-contract.json 中的枚举。
scope 使用国家、区域或 batch_id 的安全短代码,只允许英文字母、数字和连字符(^[A-Za-z0-9-]+$)。
version 使用两位数字,从 01 开始。
网页情报编排与断点
按 references/web-intelligence-state.md 为每个批次创建稳定的 batch_id,并为每个公司/能力请求创建稳定的 task_id。在请求、任务与批次三个层级执行 max_cost 上限;每家公司后立即 checkpoint 规范化的 gateway 状态。台账使用 shared/schemas/handoff-contracts.json 的 pipeline_state 合同,并原名保留其中全部共同网关交接字段;task_id 与 gateway_task_id 分列保存,前者标识流水线逻辑任务,后者保存 gateway 返回标识。每项能力后持久化 gateway_task_id、gateway_status、evidence_records、fallback_level、attempted_providers、selected_provider、fallback_reason、degradation_status、coverage_gaps、manual_review_required 与 continuation_cursor。
续跑仅恢复未完成阶段,已完成阶段不得重发请求;失败公司隔离并继续其余公司。每个批次边界调用 usage_summary,将汇总和 cost ceiling 结果写入台账。Plan C 未达合同不是完成:保留 partial evidence、coverage_gaps 与 cursor,并设置人工复查。
执行流程
Step 0:启动检查
- 有 Business Profile 配置吗?没有 → 先调 business-profile 技能(不跳过)
- 用户上传了进度台账吗?有 → 读台账从断点继续;没有 → 新建台账,从优先级最高的国家第一批开始
- 确认本次运行范围(默认:连跑至对话预算上限)
Step 1:批次循环(每批固定八步,跑完自动进下一批,不请示)
- 取关键词:从当前国家的关键词矩阵取下一组未跑的组合(记入台账)
- 搜索筛选:调 customer-discovery,产出本批候选+Gate结论
- 去重:对照台账累计名单(按域名),重复的丢弃并计数
- 浅调:Gate=enter_research 的调 customer-research 浅调
- 深调:浅调信号最强的 2-3 家做深调(六维全覆盖;用户要求或客户特别高价值时升级为深度背调 deep-dive)
- 条件式空间审计:在 customer-research 之后、outreach-angle 之前,仅在以下条件之一成立时调 maps-spatial-audit:地址冲突、多地址、需验证工厂/仓库、高价值客户或用户明确要求地图分析。按
shared/schemas/handoff-contracts.json 传递 research_to_spatial_audit 的共同网关交接字段(包括 continuation_cursor),再传递 company_id、project_code、company_name、canonical_domain、country、target_address、claimed_site_function、audit_reason、manual_review_required、confidence。
- 切入点:深调后 star≥3 的调 outreach-angle 出机会假设+开发信草稿
- 记账:更新台账(本批统计、累计去重名单、人工审核队列追加、关键词消耗标记)
Step 2:推进判定(每批结束时自动执行)
- 当前国家关键词矩阵未耗尽 且 Gate通过率≥20% → 同国家下一批
- 关键词耗尽 或 连续两批Gate通过率<20%(该市场关键词质量塌了,记入台账备注)→ 切下一个国家
- 当前洲所有国家完成 → 切下一个洲
- 达到单次对话预算(3批)→ 收线:输出台账 + 续跑指令
Step 3:收线交付(每次运行结束固定输出)
- 进度台账 Excel(结构见 references/state-file.md,下次续跑的唯一凭证)
- 本次成果包:候选表 + 背调表 + 开发信方案(沿用各技能的既有 Excel 格式)
- 人工审核队列:集中列出所有 human_review_required 项(不阻塞流水线,攒着给用户批)
- 续跑指令:一句话,用户下次对话粘贴台账+这句话即可从断点继续
守门规则(统筹层的红线)
- 各业务技能的证据规则、禁止行为、人工审核触发全部原样生效,统筹层无权豁免
- 地图 API 或图像未配置时保留 Tier 0,视觉字段保持 unknown 并设置 manual_review_required;不得阻塞其余流水线,也不得声称已完成视觉审计
- 空间证据仅是辅助信号,绝不能独立抬升客户星级
- 人工审核项只入队不阻塞,但队列积压 > 15 项时暂停流水线,提示用户先清队(继承"人工产能是漏斗底部开口"原则)
- 连跑中每批质量抽检:本批 gate_reason 缺失率>10% 或证据链接缺失 → 停线报告,不带病推进
- 台账是唯一事实源:去重、进度、消耗一律以台账为准,禁止凭记忆判断"跑没跑过"
禁止行为
- 跳过 business-profile 直接开跑(无配置的流水线=垃圾进垃圾出)
- 为凑批次数量放松 Gate 标准
- 超出对话预算硬撑(质量下降比中断更贵)
- 在台账之外口头宣称进度