登记AI研究来源边界并列明覆盖缺项
This commit is contained in:
@@ -131,6 +131,7 @@ MRR×12仅作为显示单位转换,不改写为公司ARR;公司ARR、估算
|
||||
逐条读取对应 YC 官方公开页面,以页面中的成立年份、团队字段和业务描述筛选。
|
||||
962 条初筛匹配,其中 34 条与原表 URL 重合,实际新增 928 条;268 条年份不符或缺失、
|
||||
192 条 AI 业务待确认、6 条成立年份晚于批次年份未纳入本批新增。
|
||||
`content/research/ai-companies.sources.json` 保留最初12项来源与后续补充渠道、用途、覆盖边界及下一步;覆盖报告逐渠道复算证据、公司及观测数量。背景报告、入口可读和候选池逐条读取分别标记,零计数不表示没有公司。
|
||||
`content/research/ai-companies.coverage.json` 保留逐条筛选结果、来源与响应摘要,
|
||||
数据快照中的 `coverage` 也随版本进入同一 SQLite 数据库。只覆盖该候选池,不能称全球全量。
|
||||
|
||||
|
||||
@@ -66,6 +66,34 @@
|
||||
| Sacra | 3 | 3 | 第三方估算;与直接披露分开 |
|
||||
| 其他官网、评测及公开资料 | 72 | 68 | 按每条来源限制理解,不能统一当作独立证据 |
|
||||
|
||||
## 来源清单与验收边界
|
||||
|
||||
S01—S12恢复自已提交用户的《AI公司研究_来源与分类模板》来源清单;S13—S16单列后续已使用的补充证据渠道,不将使用次数当作全量覆盖。
|
||||
|
||||
每条证据在下表只计入一个渠道:先按所列域名归属,再将类型明确标为官方/公司自述/公司披露的剩余项计入S12,其余计入S16。公司可跨渠道出现,所以公司数不可跨行相加。零条证据表示尚未进入研究表,不表示该来源没有相关公司。背景报告不承担公司发现全集的角色。
|
||||
|
||||
| 来源 | 当前状态 | 证据 / 公司 / 观测数 | 已核对范围 | 剩余核查 |
|
||||
| --- | --- | --- | --- | --- |
|
||||
| S01 [Y Combinator](https://www.ycombinator.com/companies) | 候选池逐条已读 | 984 / 969 / 82 | 已读取八个2025—2026批次镜像候选池1428条,再核YC官方页面;不声称覆盖全部YC历年或未公开公司。 | 继续复核规则初分和缺项;候选明细见逐条台账。 |
|
||||
| S02 [TechCrunch AI](https://techcrunch.com/category/artificial-intelligence/) | 定向使用,未穷尽 | 3 / 2 / 1 | 已使用公司相关新闻;尚未逐条清点2025—2026栏目档案。 | 建立两年公司报道候选表,排除老公司新产品及重复转述。 |
|
||||
| S03 [Dealroom](https://dealroom.co/) | 候选台账待建 | 0 / 0 / 0 | 仅核对官网入口与产品介绍,尚无两年筛选结果集;首页示例不是候选全集。 | 确认公开可取得的成立年筛选清单;受权限限制时明确记缺,不填完成。 |
|
||||
| S04 [Product Hunt](https://www.producthunt.com/) | 候选台账待建 | 0 / 0 / 0 | 仅确认首页及发布档案入口可读,尚无两年AI产品候选池;发布不等于公司成立。 | 按发布档案建立候选并回查官网成立信息、区分产品和法人。 |
|
||||
| S05 [Sacra](https://sacra.com/) | 定向使用,未穷尽 | 3 / 1 / 3 | 已用于定向估算及日期口径交叉核查;无全站公司名录读取台账。 | 保留估算与公司披露差异,核实历史截至日。 |
|
||||
| S06 [Bessemer](https://www.bvp.com/atlas/the-state-of-ai-2025) | 背景研究 | 0 / 0 / 0 | 用于行业分类和增长研究背景;不是新成立公司普查。 | 核报告样本、方法与年份,不能将组合公司清单当总体。 |
|
||||
| S07 [Menlo Ventures](https://menlovc.com/perspective/2025-the-state-of-generative-ai-in-the-enterprise/) | 背景研究 | 0 / 0 / 0 | 用于企业采购背景;不把调研比例转换为公司ARR。 | 保留调研方法、采购样本及与新公司样本的差异。 |
|
||||
| S08 [Stripe](https://stripe.com/annual-updates/2025) | 背景研究 | 1 / 0 / 0 | 年度平台观察,不提供可公开穷尽的新AI商户名录。 | 与TrustMRR支付重建数据分开;不据平台总量推算单家公司。 |
|
||||
| S09 [SaaS Capital](https://www.saas-capital.com/research/) | 背景研究 | 0 / 0 / 0 | B2B订阅软件基准,不能直接代表新AI公司、硬件或服务企业。 | 按报告样本及营收规模使用,不强套为行业ARR分布。 |
|
||||
| S10 [机器之心](https://www.jiqizhixin.com/) | 候选台账待建 | 0 / 0 / 0 | 首页及文章库入口可读,部分内容需会员;当前研究表尚无该站公司级证据,未穷尽两年档案。 | 建立中文公司候选台账,会员正文不可读时标明。 |
|
||||
| S11 [36氪](https://www.36kr.com/) | 访问受限 | 0 / 0 / 0 | 2026-10-30仍返回安全检测页面,未把首页作为已读文章。 | 使用可公开读取的具体文章或其他原始来源;不绕过访问保护。 |
|
||||
| S12 公司官网与官方博客 | 随公司逐条核对 | 28 / 14 / 11 | 公司官网和官方材料逐条绑定证据;不是可预先列尽的全站候选池。 | 核定价、主体、交付与收入定义,自述与独立验证分开。 |
|
||||
| S13 [TrustMRR](https://trustmrr.com/) | 定向使用,未穷尽 | 18 / 17 / 51 | 已采集产品与支付快照;公开者自选,不是全部商户或独立财务审计。 | 核同步日、连接失效、支付平台公式及产品/法人归属。 |
|
||||
| S14 [a16z Speedrun](https://speedrun.a16z.com/) | 定向使用,未穷尽 | 11 / 10 / 19 | 投资机构公司介绍定向样本,收入数字仍多来自公司。 | 核币种、相对时间及管线/履历;未读取的页面保持缺项。 |
|
||||
| S15 [Artificial Analysis](https://artificialanalysis.ai/) | 定向使用,未穷尽 | 2 / 1 / 3 | 第三方已发表技术评测,仅覆盖所列模型版本和任务。 | 核榜单版本、测评方法及置信区间,不将排名变成企业整体能力。 |
|
||||
| S16 其他公开补充资料 | 定向使用,未穷尽 | 41 / 21 / 13 | 未归入上述来源的公开材料按原始证据链接逐条保留;不视为新增已批准的完整候选池。 | 逐项核来源归属、可靠性及可读正文,不能将搜索摘要当全文。 |
|
||||
|
||||
Dealroom、Product Hunt、机器之心与36氪入口于2026-10-30重新访问。官网首页可读不证明已取得完整筛选结果;安全检测页面不作为文章内容。候选池之外的来源边界尚需建立可回查条目,完成前不宣布来源清单已全部覆盖。
|
||||
|
||||
|
||||
## 尚未满足的研究条件
|
||||
|
||||
行业ARR比较仍缺统一业务截止日、币种、经常性定义和业务边界。现有平台MRR可描述已采集产品,不足以代表全部新公司。技术评测只覆盖所列版本与任务,不宜跨领域汇总为统一强弱分数。
|
||||
|
||||
@@ -0,0 +1,241 @@
|
||||
{
|
||||
"version": "2026-10-30-1",
|
||||
"scopeConfirmedAt": "2026-10-30",
|
||||
"acceptance": "以确认的公开来源清单为边界,逐条核对并标明缺项。",
|
||||
"provenance": "S01—S12恢复自已提交用户的《AI公司研究_来源与分类模板》来源清单;S13—S16单列后续已使用的补充证据渠道,不将使用次数当作全量覆盖。",
|
||||
"sources": [
|
||||
{
|
||||
"id": "S01",
|
||||
"name": "Y Combinator",
|
||||
"url": "https://www.ycombinator.com/companies",
|
||||
"role": "discovery",
|
||||
"status": "candidate-audit",
|
||||
"hosts": [
|
||||
"www.ycombinator.com"
|
||||
],
|
||||
"initialAccess": "官网目录可访问",
|
||||
"boundary": "已读取八个2025—2026批次镜像候选池1428条,再核YC官方页面;不声称覆盖全部YC历年或未公开公司。",
|
||||
"nextCheck": "继续复核规则初分和缺项;候选明细见逐条台账。",
|
||||
"limitation": "批次不等于成立年;不代表全部公司"
|
||||
},
|
||||
{
|
||||
"id": "S02",
|
||||
"name": "TechCrunch AI",
|
||||
"url": "https://techcrunch.com/category/artificial-intelligence/",
|
||||
"role": "reporting",
|
||||
"status": "targeted",
|
||||
"hosts": [
|
||||
"techcrunch.com"
|
||||
],
|
||||
"initialAccess": "AI栏目可读取",
|
||||
"boundary": "已使用公司相关新闻;尚未逐条清点2025—2026栏目档案。",
|
||||
"nextCheck": "建立两年公司报道候选表,排除老公司新产品及重复转述。",
|
||||
"limitation": "需追溯原始披露,部分文章受访问限制"
|
||||
},
|
||||
{
|
||||
"id": "S03",
|
||||
"name": "Dealroom",
|
||||
"url": "https://dealroom.co/",
|
||||
"role": "discovery",
|
||||
"status": "pending",
|
||||
"hosts": [
|
||||
"dealroom.co",
|
||||
"app.dealroom.co"
|
||||
],
|
||||
"initialAccess": "官网可读取",
|
||||
"boundary": "仅核对官网入口与产品介绍,尚无两年筛选结果集;首页示例不是候选全集。",
|
||||
"nextCheck": "确认公开可取得的成立年筛选清单;受权限限制时明确记缺,不填完成。",
|
||||
"limitation": "明细或批量访问取决于权限",
|
||||
"accessRecheckedAt": "2026-10-30"
|
||||
},
|
||||
{
|
||||
"id": "S04",
|
||||
"name": "Product Hunt",
|
||||
"url": "https://www.producthunt.com/",
|
||||
"role": "discovery",
|
||||
"status": "pending",
|
||||
"hosts": [
|
||||
"www.producthunt.com",
|
||||
"producthunt.com"
|
||||
],
|
||||
"initialAccess": "官网可读取",
|
||||
"boundary": "仅确认首页及发布档案入口可读,尚无两年AI产品候选池;发布不等于公司成立。",
|
||||
"nextCheck": "按发布档案建立候选并回查官网成立信息、区分产品和法人。",
|
||||
"limitation": "上线时间不等于成立时间",
|
||||
"accessRecheckedAt": "2026-10-30"
|
||||
},
|
||||
{
|
||||
"id": "S05",
|
||||
"name": "Sacra",
|
||||
"url": "https://sacra.com/",
|
||||
"role": "estimation",
|
||||
"status": "targeted",
|
||||
"hosts": [
|
||||
"sacra.com"
|
||||
],
|
||||
"initialAccess": "官网可读取",
|
||||
"boundary": "已用于定向估算及日期口径交叉核查;无全站公司名录读取台账。",
|
||||
"nextCheck": "保留估算与公司披露差异,核实历史截至日。",
|
||||
"limitation": "部分付费;不能把估算当审计数"
|
||||
},
|
||||
{
|
||||
"id": "S06",
|
||||
"name": "Bessemer",
|
||||
"url": "https://www.bvp.com/atlas/the-state-of-ai-2025",
|
||||
"role": "context",
|
||||
"status": "context",
|
||||
"hosts": [
|
||||
"www.bvp.com",
|
||||
"bvp.com"
|
||||
],
|
||||
"initialAccess": "报告页面可读取",
|
||||
"boundary": "用于行业分类和增长研究背景;不是新成立公司普查。",
|
||||
"nextCheck": "核报告样本、方法与年份,不能将组合公司清单当总体。",
|
||||
"limitation": "投资机构选样偏差"
|
||||
},
|
||||
{
|
||||
"id": "S07",
|
||||
"name": "Menlo Ventures",
|
||||
"url": "https://menlovc.com/perspective/2025-the-state-of-generative-ai-in-the-enterprise/",
|
||||
"role": "context",
|
||||
"status": "context",
|
||||
"hosts": [
|
||||
"menlovc.com",
|
||||
"www.menlovc.com"
|
||||
],
|
||||
"initialAccess": "报告页面可读取",
|
||||
"boundary": "用于企业采购背景;不把调研比例转换为公司ARR。",
|
||||
"nextCheck": "保留调研方法、采购样本及与新公司样本的差异。",
|
||||
"limitation": "口径与样本需查看方法说明"
|
||||
},
|
||||
{
|
||||
"id": "S08",
|
||||
"name": "Stripe",
|
||||
"url": "https://stripe.com/annual-updates/2025",
|
||||
"role": "context",
|
||||
"status": "context",
|
||||
"hosts": [
|
||||
"stripe.com",
|
||||
"www.stripe.com"
|
||||
],
|
||||
"initialAccess": "年度信可读取",
|
||||
"boundary": "年度平台观察,不提供可公开穷尽的新AI商户名录。",
|
||||
"nextCheck": "与TrustMRR支付重建数据分开;不据平台总量推算单家公司。",
|
||||
"limitation": "平台样本不能代表全部AI公司"
|
||||
},
|
||||
{
|
||||
"id": "S09",
|
||||
"name": "SaaS Capital",
|
||||
"url": "https://www.saas-capital.com/research/",
|
||||
"role": "context",
|
||||
"status": "context",
|
||||
"hosts": [
|
||||
"www.saas-capital.com",
|
||||
"saas-capital.com"
|
||||
],
|
||||
"initialAccess": "研究页可读取",
|
||||
"boundary": "B2B订阅软件基准,不能直接代表新AI公司、硬件或服务企业。",
|
||||
"nextCheck": "按报告样本及营收规模使用,不强套为行业ARR分布。",
|
||||
"limitation": "不直接套用硬件与项目制业务"
|
||||
},
|
||||
{
|
||||
"id": "S10",
|
||||
"name": "机器之心",
|
||||
"url": "https://www.jiqizhixin.com/",
|
||||
"role": "reporting",
|
||||
"status": "pending",
|
||||
"hosts": [
|
||||
"www.jiqizhixin.com",
|
||||
"jiqizhixin.com",
|
||||
"pro.jiqizhixin.com"
|
||||
],
|
||||
"initialAccess": "首页可读取",
|
||||
"boundary": "首页及文章库入口可读,部分内容需会员;当前研究表尚无该站公司级证据,未穷尽两年档案。",
|
||||
"nextCheck": "建立中文公司候选台账,会员正文不可读时标明。",
|
||||
"limitation": "部分会员内容;财务数据需追溯",
|
||||
"accessRecheckedAt": "2026-10-30"
|
||||
},
|
||||
{
|
||||
"id": "S11",
|
||||
"name": "36氪",
|
||||
"url": "https://www.36kr.com/",
|
||||
"role": "reporting",
|
||||
"status": "access-limited",
|
||||
"hosts": [
|
||||
"www.36kr.com",
|
||||
"36kr.com"
|
||||
],
|
||||
"initialAccess": "安全检测,内容未核验",
|
||||
"boundary": "2026-10-30仍返回安全检测页面,未把首页作为已读文章。",
|
||||
"nextCheck": "使用可公开读取的具体文章或其他原始来源;不绕过访问保护。",
|
||||
"limitation": "暂不作为已读取内容证据",
|
||||
"accessRecheckedAt": "2026-10-30"
|
||||
},
|
||||
{
|
||||
"id": "S12",
|
||||
"name": "公司官网与官方博客",
|
||||
"url": null,
|
||||
"role": "primary",
|
||||
"status": "per-company",
|
||||
"hosts": [],
|
||||
"initialAccess": "按公司逐一核验",
|
||||
"boundary": "公司官网和官方材料逐条绑定证据;不是可预先列尽的全站候选池。",
|
||||
"nextCheck": "核定价、主体、交付与收入定义,自述与独立验证分开。",
|
||||
"limitation": "自述不等于独立审计"
|
||||
},
|
||||
{
|
||||
"id": "S13",
|
||||
"name": "TrustMRR",
|
||||
"url": "https://trustmrr.com/",
|
||||
"role": "platform",
|
||||
"status": "targeted",
|
||||
"hosts": [
|
||||
"trustmrr.com"
|
||||
],
|
||||
"initialAccess": "见具体证据访问记录",
|
||||
"boundary": "已采集产品与支付快照;公开者自选,不是全部商户或独立财务审计。",
|
||||
"nextCheck": "核同步日、连接失效、支付平台公式及产品/法人归属。",
|
||||
"limitation": "来源可读不等于声明已独立验证。"
|
||||
},
|
||||
{
|
||||
"id": "S14",
|
||||
"name": "a16z Speedrun",
|
||||
"url": "https://speedrun.a16z.com/",
|
||||
"role": "investor",
|
||||
"status": "targeted",
|
||||
"hosts": [
|
||||
"speedrun.a16z.com"
|
||||
],
|
||||
"initialAccess": "见具体证据访问记录",
|
||||
"boundary": "投资机构公司介绍定向样本,收入数字仍多来自公司。",
|
||||
"nextCheck": "核币种、相对时间及管线/履历;未读取的页面保持缺项。",
|
||||
"limitation": "来源可读不等于声明已独立验证。"
|
||||
},
|
||||
{
|
||||
"id": "S15",
|
||||
"name": "Artificial Analysis",
|
||||
"url": "https://artificialanalysis.ai/",
|
||||
"role": "technical",
|
||||
"status": "targeted",
|
||||
"hosts": [
|
||||
"artificialanalysis.ai"
|
||||
],
|
||||
"initialAccess": "见具体证据访问记录",
|
||||
"boundary": "第三方已发表技术评测,仅覆盖所列模型版本和任务。",
|
||||
"nextCheck": "核榜单版本、测评方法及置信区间,不将排名变成企业整体能力。",
|
||||
"limitation": "来源可读不等于声明已独立验证。"
|
||||
},
|
||||
{
|
||||
"id": "S16",
|
||||
"name": "其他公开补充资料",
|
||||
"url": null,
|
||||
"role": "supplement",
|
||||
"status": "targeted",
|
||||
"hosts": [],
|
||||
"initialAccess": "见具体证据访问记录",
|
||||
"boundary": "未归入上述来源的公开材料按原始证据链接逐条保留;不视为新增已批准的完整候选池。",
|
||||
"nextCheck": "逐项核来源归属、可靠性及可读正文,不能将搜索摘要当全文。",
|
||||
"limitation": "来源可读不等于声明已独立验证。"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -9,10 +9,49 @@ from urllib.parse import urlsplit
|
||||
ROOT = Path(__file__).resolve().parents[1]
|
||||
DATA = json.loads((ROOT / 'content/research/ai-companies.seed.json').read_text())
|
||||
AUDIT = json.loads((ROOT / 'content/research/ai-companies.coverage.json').read_text())
|
||||
SOURCES = json.loads((ROOT / 'content/research/ai-companies.sources.json').read_text())
|
||||
TARGET = ROOT / 'content/docs/ai-company-research/02-coverage-and-gaps.md'
|
||||
BASE = '/docs/other-research/ai-company-research/overview'
|
||||
|
||||
|
||||
|
||||
def source_register():
|
||||
sources = SOURCES['sources']
|
||||
ids = {s['id'] for s in sources}
|
||||
assert len(ids) == len(sources) and ids == {f'S{i:02}' for i in range(1, 17)}
|
||||
assert SOURCES['scopeConfirmedAt'] <= DATA['asOf']
|
||||
host_map = {}
|
||||
for source in sources:
|
||||
assert source['status'] in {'candidate-audit', 'targeted', 'pending', 'context', 'access-limited', 'per-company'}
|
||||
assert source['boundary'] and source['nextCheck']
|
||||
if source['url']:
|
||||
assert urlsplit(source['url']).scheme in {'http', 'https'} and urlsplit(source['url']).netloc
|
||||
for host in source['hosts']:
|
||||
assert host not in host_map, f'Duplicate source host: {host}'
|
||||
host_map[host] = source['id']
|
||||
assigned = {key: [] for key in ids}
|
||||
for evidence in DATA['evidence']:
|
||||
owner = host_map.get(urlsplit(evidence['url']).netloc)
|
||||
if owner is None:
|
||||
owner = 'S12' if any(word in evidence['kind'] for word in ('官方', '公司自述', '公司披露')) else 'S16'
|
||||
assigned[owner].append(evidence)
|
||||
assert sum(len(v) for v in assigned.values()) == len(DATA['evidence'])
|
||||
statuses = {'candidate-audit': '候选池逐条已读', 'targeted': '定向使用,未穷尽', 'pending': '候选台账待建',
|
||||
'context': '背景研究', 'access-limited': '访问受限', 'per-company': '随公司逐条核对'}
|
||||
lines = ['', '## 来源清单与验收边界', '', SOURCES['provenance'], '',
|
||||
'每条证据在下表只计入一个渠道:先按所列域名归属,再将类型明确标为官方/公司自述/公司披露的剩余项计入S12,其余计入S16。公司可跨渠道出现,所以公司数不可跨行相加。零条证据表示尚未进入研究表,不表示该来源没有相关公司。背景报告不承担公司发现全集的角色。', '',
|
||||
'| 来源 | 当前状态 | 证据 / 公司 / 观测数 | 已核对范围 | 剩余核查 |', '| --- | --- | --- | --- | --- |']
|
||||
for source in sources:
|
||||
evidence = assigned[source['id']]
|
||||
evidence_ids = {e['id'] for e in evidence}
|
||||
company_ids = {e['companyId'] for e in evidence if e['companyId']}
|
||||
observations = sum(o['evidence'] in evidence_ids for o in DATA['observations'])
|
||||
name = f"[{source['name']}]({source['url']})" if source['url'] else source['name']
|
||||
lines.append(f"| {source['id']} {name} | {statuses[source['status']]} | {len(evidence)} / {len(company_ids)} / {observations} | {source['boundary']} | {source['nextCheck']} |")
|
||||
lines += ['', 'Dealroom、Product Hunt、机器之心与36氪入口于2026-10-30重新访问。官网首页可读不证明已取得完整筛选结果;安全检测页面不作为文章内容。候选池之外的来源边界尚需建立可回查条目,完成前不宣布来源清单已全部覆盖。', '']
|
||||
return lines
|
||||
|
||||
|
||||
def render():
|
||||
cov = DATA['coverage']
|
||||
companies = DATA['companies']
|
||||
@@ -85,6 +124,7 @@ def render():
|
||||
lines.append(f"| {name} | {len(entries)} | {len({e['url'] for e in entries})} | {note} |")
|
||||
others = [e for e in DATA['evidence'] if urlsplit(e['url']).netloc not in included]
|
||||
lines.append(f"| 其他官网、评测及公开资料 | {len(others)} | {len({e['url'] for e in others})} | 按每条来源限制理解,不能统一当作独立证据 |")
|
||||
lines += source_register()
|
||||
lines += ['', '## 尚未满足的研究条件', '',
|
||||
'行业ARR比较仍缺统一业务截止日、币种、经常性定义和业务边界。现有平台MRR可描述已采集产品,不足以代表全部新公司。技术评测只覆盖所列版本与任务,不宜跨领域汇总为统一强弱分数。', '',
|
||||
'下一轮优先补收入线索的日期及合同定义、非YC和非英文来源、规则初分的人工复核,以及停止服务或被收购案例。这样能减少“只见赢家”和“只见融资公司”的偏差。公开来源池之外的未披露公司仍无法证明已被穷尽。', '',
|
||||
|
||||
Reference in New Issue
Block a user