十二个美国职业族里,软件和 AI 岗位留给新人的比例最低
2026 年 9 月 22 日 Metix AI Platform 上美国仍在招聘的岗位,分十二个职业族,按资历标签和岗位要求的工作经验统计。
- 13.4%
- 美国在招的软件工程岗位中,标为实习或入门级的比例(31,134 个中 4,171 个)
- 67.9%
- 客户服务岗位的同一比例(55,265 个中 37,527 个);零售和餐饮之外的雇主是 53.5%
下文引用的论文把软件开发和客户服务都列在 AI 暴露度最高的五分之一职业里。
每
- 11.0%AI 与机器学习
- 13.4%软件工程论文中的暴露度档位 Q5
- 21.9%财务分析师论文中的暴露度档位 Q4
- 23.9%市场营销论文中的暴露度档位 Q4、Q5
- 24.8%会计论文中的暴露度档位 Q5
- 28.7%数据分析师
- 30.6%律师助理论文中的暴露度档位 Q5
- 37.3%电工论文中的暴露度档位 Q2
- 38.6%平面设计师论文中的暴露度档位 Q4
- 67.9%客户服务论文中的暴露度档位 Q5
- 77.3%注册护士论文中的暴露度档位 Q3
- 83.7%卡车司机论文中的暴露度档位 Q3
统计的是什么
- 岗位
- 2026 年 9 月 22 日 Metix AI Platform 上地点在美国、仍在招聘的岗位。数的是岗位,不是空缺,也不是录用。
- 职业
- 按标题里的词定义十二个职业族,例如 software engineer、registered nurse,合计 333,753 个岗位。每个岗位最多算进一个职业族;标题同时含 AI 词和 trainer、tutor、annotator、annotation 或 rater 的岗位(1,009 个)不计入任何职业族。
- 标签口径
- 岗位的资历标签是实习(Internship)或入门级(Entry level)。来源平台给每个岗位都设了资历标签,所以这个比例覆盖全部岗位。
- 要求口径
- 岗位要求 24 个月以内的工作经验(含 0),占写明经验要求的岗位的比例。各职业族写明要求的比例从 25.7%(客户服务)到 78.3%(会计)不等。
- 暴露度分档
- 来自 Brynjolfsson、Chandar 和 Chen 的论文(斯坦福数字经济实验室,2026 年 8 月修订版)的附录表格,按 Eloundou 等人的 GPT-4 暴露度指标分为五档,第 5 档最高。论文只给档位,不给分数;每个职业族对应论文列出的最接近的职业。 论文页面
- 不做推断
- 入门只看岗位怎么标、要求多少经验。数据里没有年龄,这里也不涉及最终录用了谁。
要点
- 软件工程和
AI 职位按两种口径都最窄:标为实习或入门级的分别是 13.4% 和 11.0%,写明经验 要求的岗位里,要求 24 个月以内的分别是 10.7% 和 8.3%。 其他 职业族按标签 都在 20% 以上。 - 论文
列为 AI 暴露度最高的五分之一 职业, 并不都这么窄。客户服务是 67.9%,是软件的 5.1 倍;会计和律师 助理 分别是 24.8% 和 30.6%。 - 在写明经验
要求的岗位里,两种口径在客户服务 上有 48.7% 不一致,在软件上只有 6.5%; 客户服务的不一致 大多是 要求 很少 经验、却标成了 别的 资历。 - 去掉
旅行 护士 岗位和零售、 餐饮 雇主 之后, 宽的 依然宽:其他 护士 岗位是 73.9%, 其他 客户服务 岗位是 53.5%, 软件是 13.4%。
01
按两种口径,软件工程和 AI 职位留给新人的比例都最低
条形:标为实习或入门级的岗位
AI 与机器学习:标签 11.0%,要求 8.3%,写明要求 67%;软件工程:标签 13.4%,要求 10.7%,写明要求 70%;财务分析师:标签 21.9%,要求 30.5%,写明要求 78%;市场营销:标签 23.9%,要求 17.9%,写明要求 62%;会计:标签 24.8%,要求 32.6%,写明要求 78%;数据分析师:标签 28.7%,要求 28.4%,写明要求 66%;律师助理:标签 30.6%,要求 31.2%,写明要求 73%;电工:标签 37.3%,要求 23.2%,写明要求 69%;平面设计师:标签 38.6%,要求 28.8%,写明要求 64%;客户服务:标签 67.9%,要求 86.8%,写明要求 26%;注册护士:标签 77.3%,要求 83.8%,写明要求 45%;卡车与 CDL 司机:标签 83.7%,要求 74.3%,写明要求 49%
图中所见
其他十个职业族按标签都在 20% 以上。把"助理级"(Associate)也算作入门,软件升到 15.4%,AI 升到 13.3%,仍是十二个里最低的两个。
方法与局限
标签是来源平台给每个岗位设的,所以条形覆盖全部岗位;圆点只覆盖写明经验要求的岗位,各族从 25.7% 到 78.3% 不等。标为入门的岗位更少写明要求:软件的 4,171 个入门岗位里只有 1,477 个写明了。
来源:Metix AI Platform 岗位数据,2026-09-22。
查询families.json · measures.json
{ "note": "Occupation families, defined by words in the posting title and nothing else. The Platform matches a title term word by word: a title counts when every word of the term appears in it, in any order, so software engineer also matches Software Development Engineer and Engineer, Software. Each posting is counted in one family at most. The order below is the precedence: a posting belongs to the first family whose terms it matches and whose exclude words it does not match; a posting that matches a family's exclude words is tested against the families after it. A family with also needs one of those words as well. The first group, ai-training, is not an occupation in this study: it takes AI training and annotation postings out of every family and is reported on its own. A family with parts is counted as the sum of disjoint parts, each a title term and none of the terms of the parts before it, because a Search total of 100,000 or more comes back banded and cannot be added up.", "sampling_note": "Every audit read one or more whole slices of a family: the open US postings with posted_date 2026-09-15 in a few named states, chosen so a slice held 10 to 50 postings, and every posting in the slice was read. Search returns postings in order of how well the title matches, so the first postings of an unsliced search are the cleanest titles in the family and overstate how on-topic it is; a whole slice does not depend on that order. Slices are small, one day and a few states each, so they find the kinds of noise in a family; they do not measure its size precisely. On topic means the title names a job in the occupation, whatever its level. Exclude words were added only for noise the reads found and a count sized. 336 postings were read across the twelve families; 38 of them repeat the title and employer of another posting in the same slice, mostly one employer posting the same job at several locations. Counts are postings, not distinct openings.", "exposure_note": "paper names the occupation in Brynjolfsson, Chandar, and Chen, Canaries in the Coal Mine? Six Facts about the Recent Employment Effects of Artificial Intelligence (Stanford Digital Economy Lab, August 2026 revision), Online Appendix Tables A.2 to A.6: the top 50 occupations by ADP employment in each quintile of AI exposure, quintiles set by the GPT-4 beta measure of Eloundou et al. (2024), October 2022. Quintile 5 is the most exposed. The paper gives quintiles, not scores, and a title family here is the closest match to the occupation it lists, not the same set of jobs. null means the family has no occupation in those tables.", "families": [ { "id": "ai-training", "role": "excluded", "label": "AI training and annotation work", "terms": [ "machine learning", "artificial intelligence", "AI", "ML", "LLM", "deep learning" ], "also": [ "trainer", "tutor", "annotator", "annotation", "rater" ], "why": "Postings that pay people to train, tutor, rate, or annotate for AI models name AI in the title without being AI or software jobs. They come first so that no family keeps them." }, { "id": "ai", "role": "study", "label": "AI and machine learning", "terms": [ "machine learning", "artificial intelligence", "AI", "ML", "LLM", "deep learning" ], "exclude": [ "data center", "data centers" ], "paper": null, "audit": { "read": 23, "on_topic": 21, "found": "21 of 23 titles are jobs working on AI: 14 engineering or analyst roles and 7 management, consulting, or product roles. Two name AI only as the setting: a mechanical engineer for AI data centers and a construction lawyer for AI facilities. Data center titles (230 open US postings) now pass to the families after this one. Of 1,009 postings that also name trainer, tutor, annotator, annotation, or rater, the ai-training group takes all.", "also_read": "40 titles from the top of an unsliced search (20 labelled Internship or Entry level, 20 not), all AI or machine learning roles. They are the best-matching titles and are not counted in read." } }, { "id": "software", "role": "study", "label": "Software engineering", "terms": [ "software engineer", "software developer" ], "paper": { "occupations": [ "Software Developers, Systems Software", "Computer Programmers" ], "quintiles": [ 5 ], "table": "A.6" }, "audit": { "read": 18, "on_topic": 18, "found": "All 18 are software engineering jobs, including controls software and security engineering titles. Titles that also name an AI term are in the ai family; subgroups.json counts them.", "also_read": "40 titles from the top of an unsliced search, all software engineering jobs." } }, { "id": "data-analyst", "role": "study", "label": "Data analyst", "terms": [ "data analyst" ], "exclude": [ "security", "prevention" ], "paper": null, "audit": { "read": 36, "on_topic": 32, "found": "32 of 36 are data analysis jobs. One is a data loss prevention analyst, a security job; the words data and analyst need not be next to each other, so titles such as Analyst, Data Security also match. security and prevention remove 28 open US postings. Three more are borderline: a business analyst, an information management analyst, and a risk adjustment data integrity analyst.", "also_read": "40 titles from the top of an unsliced search, all data analyst jobs." } }, { "id": "financial-analyst", "role": "study", "label": "Financial analyst", "terms": [ "financial analyst", "finance analyst" ], "paper": { "occupations": [ "Financial Analysts" ], "quintiles": [ 4 ], "table": "A.5" }, "audit": { "read": 49, "on_topic": 47, "found": "47 of 49 are finance analysis jobs, including planning, reporting, tax, and valuation analysts. Two are finance systems or application analysts, closer to IT jobs." } }, { "id": "accountant", "role": "study", "label": "Accountant", "terms": [ "accountant" ], "paper": { "occupations": [ "Accountants" ], "quintiles": [ 5 ], "table": "A.6" }, "audit": { "read": 17, "on_topic": 17, "found": "All 17 are accountant jobs: staff, senior, project, tax, and financial reporting." } }, { "id": "paralegal", "role": "study", "label": "Paralegal and legal assistant", "terms": [ "paralegal", "legal assistant" ], "paper": { "occupations": [ "Paralegals and Legal Assistants", "Legal Secretaries" ], "quintiles": [ 5 ], "table": "A.6" }, "audit": { "read": 11, "on_topic": 11, "found": "All 11 are legal support jobs. Two are legal administrative or executive assistants, which the paper lists as legal secretaries, also in quintile 5." } }, { "id": "graphic-designer", "role": "study", "label": "Graphic designer", "terms": [ "graphic designer", "graphic design" ], "paper": { "occupations": [ "Graphic Designers" ], "quintiles": [ 4 ], "table": "A.5" }, "audit": { "read": 10, "on_topic": 9, "found": "9 of 10 are graphic design jobs; one volunteer posting is among them. One is a social media content job that asks for graphic design." } }, { "id": "marketing", "role": "study", "label": "Marketing", "terms": [ "marketing" ], "paper": { "occupations": [ "Market Research Analysts and Marketing Specialists", "Marketing Managers" ], "quintiles": [ 4, 5 ], "table": "A.5, A.6" }, "audit": { "read": 33, "on_topic": 27, "found": "27 of 33 are marketing jobs from coordinator to director. Four are sales or promotion jobs with marketing in the title (two event brand ambassadors, a sales associate, a food service account manager), one is a leasing job, and one is a university chief of staff." } }, { "id": "customer-service", "role": "study", "label": "Customer service", "terms": [ "customer service", "customer support", "customer care" ], "exclude": [ "driver" ], "paper": { "occupations": [ "Customer Service Representatives" ], "quintiles": [ 5 ], "table": "A.6" }, "audit": { "read": 53, "on_topic": 50, "found": "50 of 53 are customer service jobs; a delivery driver (driver removes 127 open US postings), a plasma center technician, and a medical screener are not. Of the 50, 23 are store and counter jobs at dollar stores, convenience stores, a pizza chain, a paint store, and home improvement and print shops, which the paper's occupation for customer service representatives may not cover. In the reads, 18 of those 23 and 19 of the other 27 carry the Internship or Entry level label, so the store jobs do not by themselves make the door wide. The industry filter in subgroups.json removes only some store jobs: the pizza chain's postings list a software industry." } }, { "id": "registered-nurse", "role": "study", "label": "Registered nurse", "terms": [ "registered nurse", "RN" ], "parts": [ [ "registered nurse" ], [ "RN" ] ], "paper": { "occupations": [ "Registered Nurses" ], "quintiles": [ 3 ], "table": "A.4" }, "audit": { "read": 36, "on_topic": 36, "found": "All 36 are registered nurse jobs. 17 are travel or local contract postings from staffing agencies: 16 carry the Entry level label, 14 have Internship as their employment type, and none states an experience requirement. subgroups.json counts travel titles on their own." } }, { "id": "electrician", "role": "study", "label": "Electrician", "terms": [ "electrician" ], "paper": { "occupations": [ "Electricians" ], "quintiles": [ 2 ], "table": "A.3" }, "audit": { "read": 14, "on_topic": 14, "found": "All 14 are electrician jobs, from Electrician I to foreman and journeyman." } }, { "id": "truck-driver", "role": "study", "label": "Truck and CDL driver", "terms": [ "truck driver", "CDL driver" ], "paper": { "occupations": [ "Heavy and Tractor-Trailer Truck Drivers", "Light Truck or Delivery Services Drivers" ], "quintiles": [ 3 ], "table": "A.4" }, "audit": { "read": 36, "on_topic": 36, "found": "All 36 are driving jobs. 6 are light truck or non-CDL delivery jobs: Non-CDL Driver matches CDL driver because the Platform splits Non-CDL into two words. The paper puts light truck and delivery drivers in quintile 3 as well." } } ]}
{ "note": "What is counted for each family in queries/families.json. Every count adds base to the family's conditions and is sent with size 1, so it costs 1 API Credit and reads no posting.", "base": [ { "field": "is_open", "eq": true }, { "field": "location.country", "eq": "United States" } ], "base_note": "is_open is true on every posting in the searchable index (GET /docs/api/jobs says so, and software titles counted 33,740 both with and without it), so it narrows nothing today; it stays in every query so a rerun keeps counting open postings if that changes. location.country is the country of the job.", "left_out_note": "Pay at the door is not published. An exploration count found that 532 of the 4,171 software postings labelled Internship or Entry level (12.8%) have salary.currency eq USD and a salary.annual_min, too few and too self-selected to describe the door.", "label": { "field": "seniority", "door": [ "Internship", "Entry level" ], "counted": { "internship_count": "Internship", "entry_count": "Entry level", "associate_count": "Associate", "not_applicable_count": "Not Applicable" }, "note": "The seniority level the posting carries on its source platform: one of Associate, Director, Entry level, Executive, Internship, Mid-Senior level, Not Applicable. Every posting has one, so it is a label the source assigns, not a requirement the employer wrote. Not Applicable is a label with no level. Mid-Senior level, Director, and Executive are counted together as the rest of the total." }, "requirement": { "field": "min_experience_months", "door_max_months": 24, "note": "The experience the posting asks for, in months, where the posting states it. The door by requirement is a posting that asks for 24 months or less, 0 included; its denominator is the postings that state a requirement, and the share that states one is published beside it because it ranges widely between families." }, "subgroups": [ { "id": "ai-titled-software", "rest_id": "ai-without-software-terms", "family": "ai", "title_terms_from": "software", "note": "AI family postings whose title also has a software family term, such as AI Software Engineer. The software family row holds software titles with no AI term." }, { "id": "customer-service-outside-retail-restaurants", "rest_id": "customer-service-retail-restaurants", "family": "customer-service", "not_industries": [ "Retail", "Restaurants" ], "note": "Customer service postings whose industries match neither Retail nor Restaurants. industries is filed with the employer and misses some store employers (a pizza chain's store jobs list a software industry), so this row still holds store jobs; it shows whether removing part of them changes the door." }, { "id": "registered-nurse-travel", "rest_id": "registered-nurse-not-travel", "family": "registered-nurse", "title_terms": [ "travel" ], "note": "Registered nurse postings with travel in the title, mostly short contracts placed by staffing agencies." } ]}
02
在论文列为 AI 暴露度最高的五分之一职业里,留给新人的比例从软件工程的 13.4% 到客户服务的 67.9%
标为实习或入门级的岗位
第 5 档,暴露度最高:软件工程 13.4%,会计 24.8%,律师助理 30.6%,客户服务 67.9%;第 4 档和第 5 档:市场营销 23.9%;第 4 档:财务分析师 21.9%,平面设计师 38.6%;第 3 档:注册护士 77.3%,卡车与 CDL 司机 83.7%;第 2 档:电工 37.3%;不在论文的表中:AI 与机器学习 11.0%,数据分析师 28.7%
图中所见
同在第 5 档的会计和律师助理是 24.8% 和 30.6%,分别约是软件的 1.9 倍和 2.3 倍。零售和餐饮之外雇主的客户服务岗位仍有 53.5%(见图 05)。按标签口径,最宽的是第 3 档的卡车司机和注册护士,这两个职业还需要执照,两种口径都记录不到。
方法与局限
档位来自论文在线附录表 A.2 至 A.6,按 Eloundou 等人(2024)的 GPT-4 暴露度指标划分。论文只给档位,每个职业族只是它所列职业的最接近对应,不是同一批岗位。这是一天的岗位截面,既不能证实也不能检验论文,论文跟踪的是一段时间里的就业。
来源:Metix AI Platform 岗位数据,2026-09-22;暴露度档位来自 Brynjolfsson、Chandar 和 Chen(2026)。
查询families.json · measures.json
{ "note": "Occupation families, defined by words in the posting title and nothing else. The Platform matches a title term word by word: a title counts when every word of the term appears in it, in any order, so software engineer also matches Software Development Engineer and Engineer, Software. Each posting is counted in one family at most. The order below is the precedence: a posting belongs to the first family whose terms it matches and whose exclude words it does not match; a posting that matches a family's exclude words is tested against the families after it. A family with also needs one of those words as well. The first group, ai-training, is not an occupation in this study: it takes AI training and annotation postings out of every family and is reported on its own. A family with parts is counted as the sum of disjoint parts, each a title term and none of the terms of the parts before it, because a Search total of 100,000 or more comes back banded and cannot be added up.", "sampling_note": "Every audit read one or more whole slices of a family: the open US postings with posted_date 2026-09-15 in a few named states, chosen so a slice held 10 to 50 postings, and every posting in the slice was read. Search returns postings in order of how well the title matches, so the first postings of an unsliced search are the cleanest titles in the family and overstate how on-topic it is; a whole slice does not depend on that order. Slices are small, one day and a few states each, so they find the kinds of noise in a family; they do not measure its size precisely. On topic means the title names a job in the occupation, whatever its level. Exclude words were added only for noise the reads found and a count sized. 336 postings were read across the twelve families; 38 of them repeat the title and employer of another posting in the same slice, mostly one employer posting the same job at several locations. Counts are postings, not distinct openings.", "exposure_note": "paper names the occupation in Brynjolfsson, Chandar, and Chen, Canaries in the Coal Mine? Six Facts about the Recent Employment Effects of Artificial Intelligence (Stanford Digital Economy Lab, August 2026 revision), Online Appendix Tables A.2 to A.6: the top 50 occupations by ADP employment in each quintile of AI exposure, quintiles set by the GPT-4 beta measure of Eloundou et al. (2024), October 2022. Quintile 5 is the most exposed. The paper gives quintiles, not scores, and a title family here is the closest match to the occupation it lists, not the same set of jobs. null means the family has no occupation in those tables.", "families": [ { "id": "ai-training", "role": "excluded", "label": "AI training and annotation work", "terms": [ "machine learning", "artificial intelligence", "AI", "ML", "LLM", "deep learning" ], "also": [ "trainer", "tutor", "annotator", "annotation", "rater" ], "why": "Postings that pay people to train, tutor, rate, or annotate for AI models name AI in the title without being AI or software jobs. They come first so that no family keeps them." }, { "id": "ai", "role": "study", "label": "AI and machine learning", "terms": [ "machine learning", "artificial intelligence", "AI", "ML", "LLM", "deep learning" ], "exclude": [ "data center", "data centers" ], "paper": null, "audit": { "read": 23, "on_topic": 21, "found": "21 of 23 titles are jobs working on AI: 14 engineering or analyst roles and 7 management, consulting, or product roles. Two name AI only as the setting: a mechanical engineer for AI data centers and a construction lawyer for AI facilities. Data center titles (230 open US postings) now pass to the families after this one. Of 1,009 postings that also name trainer, tutor, annotator, annotation, or rater, the ai-training group takes all.", "also_read": "40 titles from the top of an unsliced search (20 labelled Internship or Entry level, 20 not), all AI or machine learning roles. They are the best-matching titles and are not counted in read." } }, { "id": "software", "role": "study", "label": "Software engineering", "terms": [ "software engineer", "software developer" ], "paper": { "occupations": [ "Software Developers, Systems Software", "Computer Programmers" ], "quintiles": [ 5 ], "table": "A.6" }, "audit": { "read": 18, "on_topic": 18, "found": "All 18 are software engineering jobs, including controls software and security engineering titles. Titles that also name an AI term are in the ai family; subgroups.json counts them.", "also_read": "40 titles from the top of an unsliced search, all software engineering jobs." } }, { "id": "data-analyst", "role": "study", "label": "Data analyst", "terms": [ "data analyst" ], "exclude": [ "security", "prevention" ], "paper": null, "audit": { "read": 36, "on_topic": 32, "found": "32 of 36 are data analysis jobs. One is a data loss prevention analyst, a security job; the words data and analyst need not be next to each other, so titles such as Analyst, Data Security also match. security and prevention remove 28 open US postings. Three more are borderline: a business analyst, an information management analyst, and a risk adjustment data integrity analyst.", "also_read": "40 titles from the top of an unsliced search, all data analyst jobs." } }, { "id": "financial-analyst", "role": "study", "label": "Financial analyst", "terms": [ "financial analyst", "finance analyst" ], "paper": { "occupations": [ "Financial Analysts" ], "quintiles": [ 4 ], "table": "A.5" }, "audit": { "read": 49, "on_topic": 47, "found": "47 of 49 are finance analysis jobs, including planning, reporting, tax, and valuation analysts. Two are finance systems or application analysts, closer to IT jobs." } }, { "id": "accountant", "role": "study", "label": "Accountant", "terms": [ "accountant" ], "paper": { "occupations": [ "Accountants" ], "quintiles": [ 5 ], "table": "A.6" }, "audit": { "read": 17, "on_topic": 17, "found": "All 17 are accountant jobs: staff, senior, project, tax, and financial reporting." } }, { "id": "paralegal", "role": "study", "label": "Paralegal and legal assistant", "terms": [ "paralegal", "legal assistant" ], "paper": { "occupations": [ "Paralegals and Legal Assistants", "Legal Secretaries" ], "quintiles": [ 5 ], "table": "A.6" }, "audit": { "read": 11, "on_topic": 11, "found": "All 11 are legal support jobs. Two are legal administrative or executive assistants, which the paper lists as legal secretaries, also in quintile 5." } }, { "id": "graphic-designer", "role": "study", "label": "Graphic designer", "terms": [ "graphic designer", "graphic design" ], "paper": { "occupations": [ "Graphic Designers" ], "quintiles": [ 4 ], "table": "A.5" }, "audit": { "read": 10, "on_topic": 9, "found": "9 of 10 are graphic design jobs; one volunteer posting is among them. One is a social media content job that asks for graphic design." } }, { "id": "marketing", "role": "study", "label": "Marketing", "terms": [ "marketing" ], "paper": { "occupations": [ "Market Research Analysts and Marketing Specialists", "Marketing Managers" ], "quintiles": [ 4, 5 ], "table": "A.5, A.6" }, "audit": { "read": 33, "on_topic": 27, "found": "27 of 33 are marketing jobs from coordinator to director. Four are sales or promotion jobs with marketing in the title (two event brand ambassadors, a sales associate, a food service account manager), one is a leasing job, and one is a university chief of staff." } }, { "id": "customer-service", "role": "study", "label": "Customer service", "terms": [ "customer service", "customer support", "customer care" ], "exclude": [ "driver" ], "paper": { "occupations": [ "Customer Service Representatives" ], "quintiles": [ 5 ], "table": "A.6" }, "audit": { "read": 53, "on_topic": 50, "found": "50 of 53 are customer service jobs; a delivery driver (driver removes 127 open US postings), a plasma center technician, and a medical screener are not. Of the 50, 23 are store and counter jobs at dollar stores, convenience stores, a pizza chain, a paint store, and home improvement and print shops, which the paper's occupation for customer service representatives may not cover. In the reads, 18 of those 23 and 19 of the other 27 carry the Internship or Entry level label, so the store jobs do not by themselves make the door wide. The industry filter in subgroups.json removes only some store jobs: the pizza chain's postings list a software industry." } }, { "id": "registered-nurse", "role": "study", "label": "Registered nurse", "terms": [ "registered nurse", "RN" ], "parts": [ [ "registered nurse" ], [ "RN" ] ], "paper": { "occupations": [ "Registered Nurses" ], "quintiles": [ 3 ], "table": "A.4" }, "audit": { "read": 36, "on_topic": 36, "found": "All 36 are registered nurse jobs. 17 are travel or local contract postings from staffing agencies: 16 carry the Entry level label, 14 have Internship as their employment type, and none states an experience requirement. subgroups.json counts travel titles on their own." } }, { "id": "electrician", "role": "study", "label": "Electrician", "terms": [ "electrician" ], "paper": { "occupations": [ "Electricians" ], "quintiles": [ 2 ], "table": "A.3" }, "audit": { "read": 14, "on_topic": 14, "found": "All 14 are electrician jobs, from Electrician I to foreman and journeyman." } }, { "id": "truck-driver", "role": "study", "label": "Truck and CDL driver", "terms": [ "truck driver", "CDL driver" ], "paper": { "occupations": [ "Heavy and Tractor-Trailer Truck Drivers", "Light Truck or Delivery Services Drivers" ], "quintiles": [ 3 ], "table": "A.4" }, "audit": { "read": 36, "on_topic": 36, "found": "All 36 are driving jobs. 6 are light truck or non-CDL delivery jobs: Non-CDL Driver matches CDL driver because the Platform splits Non-CDL into two words. The paper puts light truck and delivery drivers in quintile 3 as well." } } ]}
{ "note": "What is counted for each family in queries/families.json. Every count adds base to the family's conditions and is sent with size 1, so it costs 1 API Credit and reads no posting.", "base": [ { "field": "is_open", "eq": true }, { "field": "location.country", "eq": "United States" } ], "base_note": "is_open is true on every posting in the searchable index (GET /docs/api/jobs says so, and software titles counted 33,740 both with and without it), so it narrows nothing today; it stays in every query so a rerun keeps counting open postings if that changes. location.country is the country of the job.", "left_out_note": "Pay at the door is not published. An exploration count found that 532 of the 4,171 software postings labelled Internship or Entry level (12.8%) have salary.currency eq USD and a salary.annual_min, too few and too self-selected to describe the door.", "label": { "field": "seniority", "door": [ "Internship", "Entry level" ], "counted": { "internship_count": "Internship", "entry_count": "Entry level", "associate_count": "Associate", "not_applicable_count": "Not Applicable" }, "note": "The seniority level the posting carries on its source platform: one of Associate, Director, Entry level, Executive, Internship, Mid-Senior level, Not Applicable. Every posting has one, so it is a label the source assigns, not a requirement the employer wrote. Not Applicable is a label with no level. Mid-Senior level, Director, and Executive are counted together as the rest of the total." }, "requirement": { "field": "min_experience_months", "door_max_months": 24, "note": "The experience the posting asks for, in months, where the posting states it. The door by requirement is a posting that asks for 24 months or less, 0 included; its denominator is the postings that state a requirement, and the share that states one is published beside it because it ranges widely between families." }, "subgroups": [ { "id": "ai-titled-software", "rest_id": "ai-without-software-terms", "family": "ai", "title_terms_from": "software", "note": "AI family postings whose title also has a software family term, such as AI Software Engineer. The software family row holds software titles with no AI term." }, { "id": "customer-service-outside-retail-restaurants", "rest_id": "customer-service-retail-restaurants", "family": "customer-service", "not_industries": [ "Retail", "Restaurants" ], "note": "Customer service postings whose industries match neither Retail nor Restaurants. industries is filed with the employer and misses some store employers (a pizza chain's store jobs list a software industry), so this row still holds store jobs; it shows whether removing part of them changes the door." }, { "id": "registered-nurse-travel", "rest_id": "registered-nurse-not-travel", "family": "registered-nurse", "title_terms": [ "travel" ], "note": "Registered nurse postings with travel in the title, mostly short contracts placed by staffing agencies." } ]}
03
在写明经验要求的岗位里,两种口径在客户服务上有 48.7% 不一致,在软件上只有 6.5%
写明经验
客户服务:不一致 48.7%;卡车与 CDL 司机:不一致 25.0%;注册护士:不一致 24.9%;会计:不一致 17.7%;律师助理:不一致 17.1%;财务分析师:不一致 16.8%;数据分析师:不一致 15.0%;平面设计师:不一致 12.7%;电工:不一致 9.3%;市场营销:不一致 8.8%;软件工程:不一致 6.5%;AI 与机器学习:不一致 6.3%
图中所见
客户服务有 6,650 个岗位要求 24 个月以内,资历标签却不是实习或入门级。按标签看更宽的有电工、平面设计师、卡车与 CDL 司机、市场营销;按要求看更宽的有客户服务、财务分析师、会计、注册护士。
方法与局限
只拆分写明经验要求的岗位。中间职业族的排序在两种口径下会变,所以不宜给它们排名。两种比例相差超过 5 个百分点才算"更宽"。计数看不出这 6,650 个客户服务岗位标的是哪一种资历;整个客户服务族有 25.2% 的岗位标为"不适用"(Not Applicable)。
来源:Metix AI Platform 岗位数据,2026-09-22。
查询families.json · measures.json
{ "note": "Occupation families, defined by words in the posting title and nothing else. The Platform matches a title term word by word: a title counts when every word of the term appears in it, in any order, so software engineer also matches Software Development Engineer and Engineer, Software. Each posting is counted in one family at most. The order below is the precedence: a posting belongs to the first family whose terms it matches and whose exclude words it does not match; a posting that matches a family's exclude words is tested against the families after it. A family with also needs one of those words as well. The first group, ai-training, is not an occupation in this study: it takes AI training and annotation postings out of every family and is reported on its own. A family with parts is counted as the sum of disjoint parts, each a title term and none of the terms of the parts before it, because a Search total of 100,000 or more comes back banded and cannot be added up.", "sampling_note": "Every audit read one or more whole slices of a family: the open US postings with posted_date 2026-09-15 in a few named states, chosen so a slice held 10 to 50 postings, and every posting in the slice was read. Search returns postings in order of how well the title matches, so the first postings of an unsliced search are the cleanest titles in the family and overstate how on-topic it is; a whole slice does not depend on that order. Slices are small, one day and a few states each, so they find the kinds of noise in a family; they do not measure its size precisely. On topic means the title names a job in the occupation, whatever its level. Exclude words were added only for noise the reads found and a count sized. 336 postings were read across the twelve families; 38 of them repeat the title and employer of another posting in the same slice, mostly one employer posting the same job at several locations. Counts are postings, not distinct openings.", "exposure_note": "paper names the occupation in Brynjolfsson, Chandar, and Chen, Canaries in the Coal Mine? Six Facts about the Recent Employment Effects of Artificial Intelligence (Stanford Digital Economy Lab, August 2026 revision), Online Appendix Tables A.2 to A.6: the top 50 occupations by ADP employment in each quintile of AI exposure, quintiles set by the GPT-4 beta measure of Eloundou et al. (2024), October 2022. Quintile 5 is the most exposed. The paper gives quintiles, not scores, and a title family here is the closest match to the occupation it lists, not the same set of jobs. null means the family has no occupation in those tables.", "families": [ { "id": "ai-training", "role": "excluded", "label": "AI training and annotation work", "terms": [ "machine learning", "artificial intelligence", "AI", "ML", "LLM", "deep learning" ], "also": [ "trainer", "tutor", "annotator", "annotation", "rater" ], "why": "Postings that pay people to train, tutor, rate, or annotate for AI models name AI in the title without being AI or software jobs. They come first so that no family keeps them." }, { "id": "ai", "role": "study", "label": "AI and machine learning", "terms": [ "machine learning", "artificial intelligence", "AI", "ML", "LLM", "deep learning" ], "exclude": [ "data center", "data centers" ], "paper": null, "audit": { "read": 23, "on_topic": 21, "found": "21 of 23 titles are jobs working on AI: 14 engineering or analyst roles and 7 management, consulting, or product roles. Two name AI only as the setting: a mechanical engineer for AI data centers and a construction lawyer for AI facilities. Data center titles (230 open US postings) now pass to the families after this one. Of 1,009 postings that also name trainer, tutor, annotator, annotation, or rater, the ai-training group takes all.", "also_read": "40 titles from the top of an unsliced search (20 labelled Internship or Entry level, 20 not), all AI or machine learning roles. They are the best-matching titles and are not counted in read." } }, { "id": "software", "role": "study", "label": "Software engineering", "terms": [ "software engineer", "software developer" ], "paper": { "occupations": [ "Software Developers, Systems Software", "Computer Programmers" ], "quintiles": [ 5 ], "table": "A.6" }, "audit": { "read": 18, "on_topic": 18, "found": "All 18 are software engineering jobs, including controls software and security engineering titles. Titles that also name an AI term are in the ai family; subgroups.json counts them.", "also_read": "40 titles from the top of an unsliced search, all software engineering jobs." } }, { "id": "data-analyst", "role": "study", "label": "Data analyst", "terms": [ "data analyst" ], "exclude": [ "security", "prevention" ], "paper": null, "audit": { "read": 36, "on_topic": 32, "found": "32 of 36 are data analysis jobs. One is a data loss prevention analyst, a security job; the words data and analyst need not be next to each other, so titles such as Analyst, Data Security also match. security and prevention remove 28 open US postings. Three more are borderline: a business analyst, an information management analyst, and a risk adjustment data integrity analyst.", "also_read": "40 titles from the top of an unsliced search, all data analyst jobs." } }, { "id": "financial-analyst", "role": "study", "label": "Financial analyst", "terms": [ "financial analyst", "finance analyst" ], "paper": { "occupations": [ "Financial Analysts" ], "quintiles": [ 4 ], "table": "A.5" }, "audit": { "read": 49, "on_topic": 47, "found": "47 of 49 are finance analysis jobs, including planning, reporting, tax, and valuation analysts. Two are finance systems or application analysts, closer to IT jobs." } }, { "id": "accountant", "role": "study", "label": "Accountant", "terms": [ "accountant" ], "paper": { "occupations": [ "Accountants" ], "quintiles": [ 5 ], "table": "A.6" }, "audit": { "read": 17, "on_topic": 17, "found": "All 17 are accountant jobs: staff, senior, project, tax, and financial reporting." } }, { "id": "paralegal", "role": "study", "label": "Paralegal and legal assistant", "terms": [ "paralegal", "legal assistant" ], "paper": { "occupations": [ "Paralegals and Legal Assistants", "Legal Secretaries" ], "quintiles": [ 5 ], "table": "A.6" }, "audit": { "read": 11, "on_topic": 11, "found": "All 11 are legal support jobs. Two are legal administrative or executive assistants, which the paper lists as legal secretaries, also in quintile 5." } }, { "id": "graphic-designer", "role": "study", "label": "Graphic designer", "terms": [ "graphic designer", "graphic design" ], "paper": { "occupations": [ "Graphic Designers" ], "quintiles": [ 4 ], "table": "A.5" }, "audit": { "read": 10, "on_topic": 9, "found": "9 of 10 are graphic design jobs; one volunteer posting is among them. One is a social media content job that asks for graphic design." } }, { "id": "marketing", "role": "study", "label": "Marketing", "terms": [ "marketing" ], "paper": { "occupations": [ "Market Research Analysts and Marketing Specialists", "Marketing Managers" ], "quintiles": [ 4, 5 ], "table": "A.5, A.6" }, "audit": { "read": 33, "on_topic": 27, "found": "27 of 33 are marketing jobs from coordinator to director. Four are sales or promotion jobs with marketing in the title (two event brand ambassadors, a sales associate, a food service account manager), one is a leasing job, and one is a university chief of staff." } }, { "id": "customer-service", "role": "study", "label": "Customer service", "terms": [ "customer service", "customer support", "customer care" ], "exclude": [ "driver" ], "paper": { "occupations": [ "Customer Service Representatives" ], "quintiles": [ 5 ], "table": "A.6" }, "audit": { "read": 53, "on_topic": 50, "found": "50 of 53 are customer service jobs; a delivery driver (driver removes 127 open US postings), a plasma center technician, and a medical screener are not. Of the 50, 23 are store and counter jobs at dollar stores, convenience stores, a pizza chain, a paint store, and home improvement and print shops, which the paper's occupation for customer service representatives may not cover. In the reads, 18 of those 23 and 19 of the other 27 carry the Internship or Entry level label, so the store jobs do not by themselves make the door wide. The industry filter in subgroups.json removes only some store jobs: the pizza chain's postings list a software industry." } }, { "id": "registered-nurse", "role": "study", "label": "Registered nurse", "terms": [ "registered nurse", "RN" ], "parts": [ [ "registered nurse" ], [ "RN" ] ], "paper": { "occupations": [ "Registered Nurses" ], "quintiles": [ 3 ], "table": "A.4" }, "audit": { "read": 36, "on_topic": 36, "found": "All 36 are registered nurse jobs. 17 are travel or local contract postings from staffing agencies: 16 carry the Entry level label, 14 have Internship as their employment type, and none states an experience requirement. subgroups.json counts travel titles on their own." } }, { "id": "electrician", "role": "study", "label": "Electrician", "terms": [ "electrician" ], "paper": { "occupations": [ "Electricians" ], "quintiles": [ 2 ], "table": "A.3" }, "audit": { "read": 14, "on_topic": 14, "found": "All 14 are electrician jobs, from Electrician I to foreman and journeyman." } }, { "id": "truck-driver", "role": "study", "label": "Truck and CDL driver", "terms": [ "truck driver", "CDL driver" ], "paper": { "occupations": [ "Heavy and Tractor-Trailer Truck Drivers", "Light Truck or Delivery Services Drivers" ], "quintiles": [ 3 ], "table": "A.4" }, "audit": { "read": 36, "on_topic": 36, "found": "All 36 are driving jobs. 6 are light truck or non-CDL delivery jobs: Non-CDL Driver matches CDL driver because the Platform splits Non-CDL into two words. The paper puts light truck and delivery drivers in quintile 3 as well." } } ]}
{ "note": "What is counted for each family in queries/families.json. Every count adds base to the family's conditions and is sent with size 1, so it costs 1 API Credit and reads no posting.", "base": [ { "field": "is_open", "eq": true }, { "field": "location.country", "eq": "United States" } ], "base_note": "is_open is true on every posting in the searchable index (GET /docs/api/jobs says so, and software titles counted 33,740 both with and without it), so it narrows nothing today; it stays in every query so a rerun keeps counting open postings if that changes. location.country is the country of the job.", "left_out_note": "Pay at the door is not published. An exploration count found that 532 of the 4,171 software postings labelled Internship or Entry level (12.8%) have salary.currency eq USD and a salary.annual_min, too few and too self-selected to describe the door.", "label": { "field": "seniority", "door": [ "Internship", "Entry level" ], "counted": { "internship_count": "Internship", "entry_count": "Entry level", "associate_count": "Associate", "not_applicable_count": "Not Applicable" }, "note": "The seniority level the posting carries on its source platform: one of Associate, Director, Entry level, Executive, Internship, Mid-Senior level, Not Applicable. Every posting has one, so it is a label the source assigns, not a requirement the employer wrote. Not Applicable is a label with no level. Mid-Senior level, Director, and Executive are counted together as the rest of the total." }, "requirement": { "field": "min_experience_months", "door_max_months": 24, "note": "The experience the posting asks for, in months, where the posting states it. The door by requirement is a posting that asks for 24 months or less, 0 included; its denominator is the postings that state a requirement, and the share that states one is published beside it because it ranges widely between families." }, "subgroups": [ { "id": "ai-titled-software", "rest_id": "ai-without-software-terms", "family": "ai", "title_terms_from": "software", "note": "AI family postings whose title also has a software family term, such as AI Software Engineer. The software family row holds software titles with no AI term." }, { "id": "customer-service-outside-retail-restaurants", "rest_id": "customer-service-retail-restaurants", "family": "customer-service", "not_industries": [ "Retail", "Restaurants" ], "note": "Customer service postings whose industries match neither Retail nor Restaurants. industries is filed with the employer and misses some store employers (a pizza chain's store jobs list a software industry), so this row still holds store jobs; it shows whether removing part of them changes the door." }, { "id": "registered-nurse-travel", "rest_id": "registered-nurse-not-travel", "family": "registered-nurse", "title_terms": [ "travel" ], "note": "Registered nurse postings with travel in the title, mostly short contracts placed by staffing agencies." } ]}
04
实习占 AI 入门岗位的 28%,占软件的 15%
标为实习的岗位占标为实习或入门级岗位的比例,
AI 与机器学习 28.4%,市场营销 21.3%,平面设计师 19.4%,软件工程 14.6%,财务分析师 12.1%,电工 7.4%,数据分析师 7.1%,会计 1.7%,客户服务 1.2%,卡车与 CDL 司机 0.6%,律师助理 0.6%,注册护士 0.4%
- AI 与机器学习28.4%
- 市场营销21.3%
- 平面设计师19.4%
- 软件工程14.6%
- 财务分析师12.1%
- 电工7.4%
- 数据分析师7.1%
- 会计1.7%
- 客户服务1.2%
- 卡车与 CDL 司机0.6%
- 律师助理0.6%
- 注册护士0.4%
图中所见
注册护士(0.4%)、律师助理(0.6%)、卡车与 CDL 司机(0.6%)的入门岗位几乎全是入门级,而不是实习。
方法与局限
这里的实习就是来源平台标成实习的岗位。
来源:Metix AI Platform 岗位数据,2026-09-22。
查询families.json · measures.json
{ "note": "Occupation families, defined by words in the posting title and nothing else. The Platform matches a title term word by word: a title counts when every word of the term appears in it, in any order, so software engineer also matches Software Development Engineer and Engineer, Software. Each posting is counted in one family at most. The order below is the precedence: a posting belongs to the first family whose terms it matches and whose exclude words it does not match; a posting that matches a family's exclude words is tested against the families after it. A family with also needs one of those words as well. The first group, ai-training, is not an occupation in this study: it takes AI training and annotation postings out of every family and is reported on its own. A family with parts is counted as the sum of disjoint parts, each a title term and none of the terms of the parts before it, because a Search total of 100,000 or more comes back banded and cannot be added up.", "sampling_note": "Every audit read one or more whole slices of a family: the open US postings with posted_date 2026-09-15 in a few named states, chosen so a slice held 10 to 50 postings, and every posting in the slice was read. Search returns postings in order of how well the title matches, so the first postings of an unsliced search are the cleanest titles in the family and overstate how on-topic it is; a whole slice does not depend on that order. Slices are small, one day and a few states each, so they find the kinds of noise in a family; they do not measure its size precisely. On topic means the title names a job in the occupation, whatever its level. Exclude words were added only for noise the reads found and a count sized. 336 postings were read across the twelve families; 38 of them repeat the title and employer of another posting in the same slice, mostly one employer posting the same job at several locations. Counts are postings, not distinct openings.", "exposure_note": "paper names the occupation in Brynjolfsson, Chandar, and Chen, Canaries in the Coal Mine? Six Facts about the Recent Employment Effects of Artificial Intelligence (Stanford Digital Economy Lab, August 2026 revision), Online Appendix Tables A.2 to A.6: the top 50 occupations by ADP employment in each quintile of AI exposure, quintiles set by the GPT-4 beta measure of Eloundou et al. (2024), October 2022. Quintile 5 is the most exposed. The paper gives quintiles, not scores, and a title family here is the closest match to the occupation it lists, not the same set of jobs. null means the family has no occupation in those tables.", "families": [ { "id": "ai-training", "role": "excluded", "label": "AI training and annotation work", "terms": [ "machine learning", "artificial intelligence", "AI", "ML", "LLM", "deep learning" ], "also": [ "trainer", "tutor", "annotator", "annotation", "rater" ], "why": "Postings that pay people to train, tutor, rate, or annotate for AI models name AI in the title without being AI or software jobs. They come first so that no family keeps them." }, { "id": "ai", "role": "study", "label": "AI and machine learning", "terms": [ "machine learning", "artificial intelligence", "AI", "ML", "LLM", "deep learning" ], "exclude": [ "data center", "data centers" ], "paper": null, "audit": { "read": 23, "on_topic": 21, "found": "21 of 23 titles are jobs working on AI: 14 engineering or analyst roles and 7 management, consulting, or product roles. Two name AI only as the setting: a mechanical engineer for AI data centers and a construction lawyer for AI facilities. Data center titles (230 open US postings) now pass to the families after this one. Of 1,009 postings that also name trainer, tutor, annotator, annotation, or rater, the ai-training group takes all.", "also_read": "40 titles from the top of an unsliced search (20 labelled Internship or Entry level, 20 not), all AI or machine learning roles. They are the best-matching titles and are not counted in read." } }, { "id": "software", "role": "study", "label": "Software engineering", "terms": [ "software engineer", "software developer" ], "paper": { "occupations": [ "Software Developers, Systems Software", "Computer Programmers" ], "quintiles": [ 5 ], "table": "A.6" }, "audit": { "read": 18, "on_topic": 18, "found": "All 18 are software engineering jobs, including controls software and security engineering titles. Titles that also name an AI term are in the ai family; subgroups.json counts them.", "also_read": "40 titles from the top of an unsliced search, all software engineering jobs." } }, { "id": "data-analyst", "role": "study", "label": "Data analyst", "terms": [ "data analyst" ], "exclude": [ "security", "prevention" ], "paper": null, "audit": { "read": 36, "on_topic": 32, "found": "32 of 36 are data analysis jobs. One is a data loss prevention analyst, a security job; the words data and analyst need not be next to each other, so titles such as Analyst, Data Security also match. security and prevention remove 28 open US postings. Three more are borderline: a business analyst, an information management analyst, and a risk adjustment data integrity analyst.", "also_read": "40 titles from the top of an unsliced search, all data analyst jobs." } }, { "id": "financial-analyst", "role": "study", "label": "Financial analyst", "terms": [ "financial analyst", "finance analyst" ], "paper": { "occupations": [ "Financial Analysts" ], "quintiles": [ 4 ], "table": "A.5" }, "audit": { "read": 49, "on_topic": 47, "found": "47 of 49 are finance analysis jobs, including planning, reporting, tax, and valuation analysts. Two are finance systems or application analysts, closer to IT jobs." } }, { "id": "accountant", "role": "study", "label": "Accountant", "terms": [ "accountant" ], "paper": { "occupations": [ "Accountants" ], "quintiles": [ 5 ], "table": "A.6" }, "audit": { "read": 17, "on_topic": 17, "found": "All 17 are accountant jobs: staff, senior, project, tax, and financial reporting." } }, { "id": "paralegal", "role": "study", "label": "Paralegal and legal assistant", "terms": [ "paralegal", "legal assistant" ], "paper": { "occupations": [ "Paralegals and Legal Assistants", "Legal Secretaries" ], "quintiles": [ 5 ], "table": "A.6" }, "audit": { "read": 11, "on_topic": 11, "found": "All 11 are legal support jobs. Two are legal administrative or executive assistants, which the paper lists as legal secretaries, also in quintile 5." } }, { "id": "graphic-designer", "role": "study", "label": "Graphic designer", "terms": [ "graphic designer", "graphic design" ], "paper": { "occupations": [ "Graphic Designers" ], "quintiles": [ 4 ], "table": "A.5" }, "audit": { "read": 10, "on_topic": 9, "found": "9 of 10 are graphic design jobs; one volunteer posting is among them. One is a social media content job that asks for graphic design." } }, { "id": "marketing", "role": "study", "label": "Marketing", "terms": [ "marketing" ], "paper": { "occupations": [ "Market Research Analysts and Marketing Specialists", "Marketing Managers" ], "quintiles": [ 4, 5 ], "table": "A.5, A.6" }, "audit": { "read": 33, "on_topic": 27, "found": "27 of 33 are marketing jobs from coordinator to director. Four are sales or promotion jobs with marketing in the title (two event brand ambassadors, a sales associate, a food service account manager), one is a leasing job, and one is a university chief of staff." } }, { "id": "customer-service", "role": "study", "label": "Customer service", "terms": [ "customer service", "customer support", "customer care" ], "exclude": [ "driver" ], "paper": { "occupations": [ "Customer Service Representatives" ], "quintiles": [ 5 ], "table": "A.6" }, "audit": { "read": 53, "on_topic": 50, "found": "50 of 53 are customer service jobs; a delivery driver (driver removes 127 open US postings), a plasma center technician, and a medical screener are not. Of the 50, 23 are store and counter jobs at dollar stores, convenience stores, a pizza chain, a paint store, and home improvement and print shops, which the paper's occupation for customer service representatives may not cover. In the reads, 18 of those 23 and 19 of the other 27 carry the Internship or Entry level label, so the store jobs do not by themselves make the door wide. The industry filter in subgroups.json removes only some store jobs: the pizza chain's postings list a software industry." } }, { "id": "registered-nurse", "role": "study", "label": "Registered nurse", "terms": [ "registered nurse", "RN" ], "parts": [ [ "registered nurse" ], [ "RN" ] ], "paper": { "occupations": [ "Registered Nurses" ], "quintiles": [ 3 ], "table": "A.4" }, "audit": { "read": 36, "on_topic": 36, "found": "All 36 are registered nurse jobs. 17 are travel or local contract postings from staffing agencies: 16 carry the Entry level label, 14 have Internship as their employment type, and none states an experience requirement. subgroups.json counts travel titles on their own." } }, { "id": "electrician", "role": "study", "label": "Electrician", "terms": [ "electrician" ], "paper": { "occupations": [ "Electricians" ], "quintiles": [ 2 ], "table": "A.3" }, "audit": { "read": 14, "on_topic": 14, "found": "All 14 are electrician jobs, from Electrician I to foreman and journeyman." } }, { "id": "truck-driver", "role": "study", "label": "Truck and CDL driver", "terms": [ "truck driver", "CDL driver" ], "paper": { "occupations": [ "Heavy and Tractor-Trailer Truck Drivers", "Light Truck or Delivery Services Drivers" ], "quintiles": [ 3 ], "table": "A.4" }, "audit": { "read": 36, "on_topic": 36, "found": "All 36 are driving jobs. 6 are light truck or non-CDL delivery jobs: Non-CDL Driver matches CDL driver because the Platform splits Non-CDL into two words. The paper puts light truck and delivery drivers in quintile 3 as well." } } ]}
{ "note": "What is counted for each family in queries/families.json. Every count adds base to the family's conditions and is sent with size 1, so it costs 1 API Credit and reads no posting.", "base": [ { "field": "is_open", "eq": true }, { "field": "location.country", "eq": "United States" } ], "base_note": "is_open is true on every posting in the searchable index (GET /docs/api/jobs says so, and software titles counted 33,740 both with and without it), so it narrows nothing today; it stays in every query so a rerun keeps counting open postings if that changes. location.country is the country of the job.", "left_out_note": "Pay at the door is not published. An exploration count found that 532 of the 4,171 software postings labelled Internship or Entry level (12.8%) have salary.currency eq USD and a salary.annual_min, too few and too self-selected to describe the door.", "label": { "field": "seniority", "door": [ "Internship", "Entry level" ], "counted": { "internship_count": "Internship", "entry_count": "Entry level", "associate_count": "Associate", "not_applicable_count": "Not Applicable" }, "note": "The seniority level the posting carries on its source platform: one of Associate, Director, Entry level, Executive, Internship, Mid-Senior level, Not Applicable. Every posting has one, so it is a label the source assigns, not a requirement the employer wrote. Not Applicable is a label with no level. Mid-Senior level, Director, and Executive are counted together as the rest of the total." }, "requirement": { "field": "min_experience_months", "door_max_months": 24, "note": "The experience the posting asks for, in months, where the posting states it. The door by requirement is a posting that asks for 24 months or less, 0 included; its denominator is the postings that state a requirement, and the share that states one is published beside it because it ranges widely between families." }, "subgroups": [ { "id": "ai-titled-software", "rest_id": "ai-without-software-terms", "family": "ai", "title_terms_from": "software", "note": "AI family postings whose title also has a software family term, such as AI Software Engineer. The software family row holds software titles with no AI term." }, { "id": "customer-service-outside-retail-restaurants", "rest_id": "customer-service-retail-restaurants", "family": "customer-service", "not_industries": [ "Retail", "Restaurants" ], "note": "Customer service postings whose industries match neither Retail nor Restaurants. industries is filed with the employer and misses some store employers (a pizza chain's store jobs list a software industry), so this row still holds store jobs; it shows whether removing part of them changes the door." }, { "id": "registered-nurse-travel", "rest_id": "registered-nurse-not-travel", "family": "registered-nurse", "title_terms": [ "travel" ], "note": "Registered nurse postings with travel in the title, mostly short contracts placed by staffing agencies." } ]}
05
去掉旅行护士岗位和零售、餐饮雇主,护士和客户服务留给新人的比例依然远高于软件
标为实习或入门级的岗位
注册护士,标题含 travel:93.8%;注册护士,其他护士岗位:73.9%;客户服务,零售和餐饮雇主:78.6%;客户服务,其他雇主:53.5%
图中所见
旅行护士占护士岗位的 17.3%,其中 93.8% 标为入门;其他护士岗位仍是 73.9%。零售和餐饮之外雇主的客户服务岗位是 53.5%,是软件的 4.0 倍。
方法与局限
旅行护士岗位很少写明经验要求(5.4%)。雇主行业只能部分过滤门店岗位:有的门店雇主登记的是别的行业,一家披萨连锁的门店岗位登记为软件行业,所以"其他雇主"这一行仍含部分门店岗位。
来源:Metix AI Platform 岗位数据,2026-09-22。
查询families.json · measures.json
{ "note": "Occupation families, defined by words in the posting title and nothing else. The Platform matches a title term word by word: a title counts when every word of the term appears in it, in any order, so software engineer also matches Software Development Engineer and Engineer, Software. Each posting is counted in one family at most. The order below is the precedence: a posting belongs to the first family whose terms it matches and whose exclude words it does not match; a posting that matches a family's exclude words is tested against the families after it. A family with also needs one of those words as well. The first group, ai-training, is not an occupation in this study: it takes AI training and annotation postings out of every family and is reported on its own. A family with parts is counted as the sum of disjoint parts, each a title term and none of the terms of the parts before it, because a Search total of 100,000 or more comes back banded and cannot be added up.", "sampling_note": "Every audit read one or more whole slices of a family: the open US postings with posted_date 2026-09-15 in a few named states, chosen so a slice held 10 to 50 postings, and every posting in the slice was read. Search returns postings in order of how well the title matches, so the first postings of an unsliced search are the cleanest titles in the family and overstate how on-topic it is; a whole slice does not depend on that order. Slices are small, one day and a few states each, so they find the kinds of noise in a family; they do not measure its size precisely. On topic means the title names a job in the occupation, whatever its level. Exclude words were added only for noise the reads found and a count sized. 336 postings were read across the twelve families; 38 of them repeat the title and employer of another posting in the same slice, mostly one employer posting the same job at several locations. Counts are postings, not distinct openings.", "exposure_note": "paper names the occupation in Brynjolfsson, Chandar, and Chen, Canaries in the Coal Mine? Six Facts about the Recent Employment Effects of Artificial Intelligence (Stanford Digital Economy Lab, August 2026 revision), Online Appendix Tables A.2 to A.6: the top 50 occupations by ADP employment in each quintile of AI exposure, quintiles set by the GPT-4 beta measure of Eloundou et al. (2024), October 2022. Quintile 5 is the most exposed. The paper gives quintiles, not scores, and a title family here is the closest match to the occupation it lists, not the same set of jobs. null means the family has no occupation in those tables.", "families": [ { "id": "ai-training", "role": "excluded", "label": "AI training and annotation work", "terms": [ "machine learning", "artificial intelligence", "AI", "ML", "LLM", "deep learning" ], "also": [ "trainer", "tutor", "annotator", "annotation", "rater" ], "why": "Postings that pay people to train, tutor, rate, or annotate for AI models name AI in the title without being AI or software jobs. They come first so that no family keeps them." }, { "id": "ai", "role": "study", "label": "AI and machine learning", "terms": [ "machine learning", "artificial intelligence", "AI", "ML", "LLM", "deep learning" ], "exclude": [ "data center", "data centers" ], "paper": null, "audit": { "read": 23, "on_topic": 21, "found": "21 of 23 titles are jobs working on AI: 14 engineering or analyst roles and 7 management, consulting, or product roles. Two name AI only as the setting: a mechanical engineer for AI data centers and a construction lawyer for AI facilities. Data center titles (230 open US postings) now pass to the families after this one. Of 1,009 postings that also name trainer, tutor, annotator, annotation, or rater, the ai-training group takes all.", "also_read": "40 titles from the top of an unsliced search (20 labelled Internship or Entry level, 20 not), all AI or machine learning roles. They are the best-matching titles and are not counted in read." } }, { "id": "software", "role": "study", "label": "Software engineering", "terms": [ "software engineer", "software developer" ], "paper": { "occupations": [ "Software Developers, Systems Software", "Computer Programmers" ], "quintiles": [ 5 ], "table": "A.6" }, "audit": { "read": 18, "on_topic": 18, "found": "All 18 are software engineering jobs, including controls software and security engineering titles. Titles that also name an AI term are in the ai family; subgroups.json counts them.", "also_read": "40 titles from the top of an unsliced search, all software engineering jobs." } }, { "id": "data-analyst", "role": "study", "label": "Data analyst", "terms": [ "data analyst" ], "exclude": [ "security", "prevention" ], "paper": null, "audit": { "read": 36, "on_topic": 32, "found": "32 of 36 are data analysis jobs. One is a data loss prevention analyst, a security job; the words data and analyst need not be next to each other, so titles such as Analyst, Data Security also match. security and prevention remove 28 open US postings. Three more are borderline: a business analyst, an information management analyst, and a risk adjustment data integrity analyst.", "also_read": "40 titles from the top of an unsliced search, all data analyst jobs." } }, { "id": "financial-analyst", "role": "study", "label": "Financial analyst", "terms": [ "financial analyst", "finance analyst" ], "paper": { "occupations": [ "Financial Analysts" ], "quintiles": [ 4 ], "table": "A.5" }, "audit": { "read": 49, "on_topic": 47, "found": "47 of 49 are finance analysis jobs, including planning, reporting, tax, and valuation analysts. Two are finance systems or application analysts, closer to IT jobs." } }, { "id": "accountant", "role": "study", "label": "Accountant", "terms": [ "accountant" ], "paper": { "occupations": [ "Accountants" ], "quintiles": [ 5 ], "table": "A.6" }, "audit": { "read": 17, "on_topic": 17, "found": "All 17 are accountant jobs: staff, senior, project, tax, and financial reporting." } }, { "id": "paralegal", "role": "study", "label": "Paralegal and legal assistant", "terms": [ "paralegal", "legal assistant" ], "paper": { "occupations": [ "Paralegals and Legal Assistants", "Legal Secretaries" ], "quintiles": [ 5 ], "table": "A.6" }, "audit": { "read": 11, "on_topic": 11, "found": "All 11 are legal support jobs. Two are legal administrative or executive assistants, which the paper lists as legal secretaries, also in quintile 5." } }, { "id": "graphic-designer", "role": "study", "label": "Graphic designer", "terms": [ "graphic designer", "graphic design" ], "paper": { "occupations": [ "Graphic Designers" ], "quintiles": [ 4 ], "table": "A.5" }, "audit": { "read": 10, "on_topic": 9, "found": "9 of 10 are graphic design jobs; one volunteer posting is among them. One is a social media content job that asks for graphic design." } }, { "id": "marketing", "role": "study", "label": "Marketing", "terms": [ "marketing" ], "paper": { "occupations": [ "Market Research Analysts and Marketing Specialists", "Marketing Managers" ], "quintiles": [ 4, 5 ], "table": "A.5, A.6" }, "audit": { "read": 33, "on_topic": 27, "found": "27 of 33 are marketing jobs from coordinator to director. Four are sales or promotion jobs with marketing in the title (two event brand ambassadors, a sales associate, a food service account manager), one is a leasing job, and one is a university chief of staff." } }, { "id": "customer-service", "role": "study", "label": "Customer service", "terms": [ "customer service", "customer support", "customer care" ], "exclude": [ "driver" ], "paper": { "occupations": [ "Customer Service Representatives" ], "quintiles": [ 5 ], "table": "A.6" }, "audit": { "read": 53, "on_topic": 50, "found": "50 of 53 are customer service jobs; a delivery driver (driver removes 127 open US postings), a plasma center technician, and a medical screener are not. Of the 50, 23 are store and counter jobs at dollar stores, convenience stores, a pizza chain, a paint store, and home improvement and print shops, which the paper's occupation for customer service representatives may not cover. In the reads, 18 of those 23 and 19 of the other 27 carry the Internship or Entry level label, so the store jobs do not by themselves make the door wide. The industry filter in subgroups.json removes only some store jobs: the pizza chain's postings list a software industry." } }, { "id": "registered-nurse", "role": "study", "label": "Registered nurse", "terms": [ "registered nurse", "RN" ], "parts": [ [ "registered nurse" ], [ "RN" ] ], "paper": { "occupations": [ "Registered Nurses" ], "quintiles": [ 3 ], "table": "A.4" }, "audit": { "read": 36, "on_topic": 36, "found": "All 36 are registered nurse jobs. 17 are travel or local contract postings from staffing agencies: 16 carry the Entry level label, 14 have Internship as their employment type, and none states an experience requirement. subgroups.json counts travel titles on their own." } }, { "id": "electrician", "role": "study", "label": "Electrician", "terms": [ "electrician" ], "paper": { "occupations": [ "Electricians" ], "quintiles": [ 2 ], "table": "A.3" }, "audit": { "read": 14, "on_topic": 14, "found": "All 14 are electrician jobs, from Electrician I to foreman and journeyman." } }, { "id": "truck-driver", "role": "study", "label": "Truck and CDL driver", "terms": [ "truck driver", "CDL driver" ], "paper": { "occupations": [ "Heavy and Tractor-Trailer Truck Drivers", "Light Truck or Delivery Services Drivers" ], "quintiles": [ 3 ], "table": "A.4" }, "audit": { "read": 36, "on_topic": 36, "found": "All 36 are driving jobs. 6 are light truck or non-CDL delivery jobs: Non-CDL Driver matches CDL driver because the Platform splits Non-CDL into two words. The paper puts light truck and delivery drivers in quintile 3 as well." } } ]}
{ "note": "What is counted for each family in queries/families.json. Every count adds base to the family's conditions and is sent with size 1, so it costs 1 API Credit and reads no posting.", "base": [ { "field": "is_open", "eq": true }, { "field": "location.country", "eq": "United States" } ], "base_note": "is_open is true on every posting in the searchable index (GET /docs/api/jobs says so, and software titles counted 33,740 both with and without it), so it narrows nothing today; it stays in every query so a rerun keeps counting open postings if that changes. location.country is the country of the job.", "left_out_note": "Pay at the door is not published. An exploration count found that 532 of the 4,171 software postings labelled Internship or Entry level (12.8%) have salary.currency eq USD and a salary.annual_min, too few and too self-selected to describe the door.", "label": { "field": "seniority", "door": [ "Internship", "Entry level" ], "counted": { "internship_count": "Internship", "entry_count": "Entry level", "associate_count": "Associate", "not_applicable_count": "Not Applicable" }, "note": "The seniority level the posting carries on its source platform: one of Associate, Director, Entry level, Executive, Internship, Mid-Senior level, Not Applicable. Every posting has one, so it is a label the source assigns, not a requirement the employer wrote. Not Applicable is a label with no level. Mid-Senior level, Director, and Executive are counted together as the rest of the total." }, "requirement": { "field": "min_experience_months", "door_max_months": 24, "note": "The experience the posting asks for, in months, where the posting states it. The door by requirement is a posting that asks for 24 months or less, 0 included; its denominator is the postings that state a requirement, and the share that states one is published beside it because it ranges widely between families." }, "subgroups": [ { "id": "ai-titled-software", "rest_id": "ai-without-software-terms", "family": "ai", "title_terms_from": "software", "note": "AI family postings whose title also has a software family term, such as AI Software Engineer. The software family row holds software titles with no AI term." }, { "id": "customer-service-outside-retail-restaurants", "rest_id": "customer-service-retail-restaurants", "family": "customer-service", "not_industries": [ "Retail", "Restaurants" ], "note": "Customer service postings whose industries match neither Retail nor Restaurants. industries is filed with the employer and misses some store employers (a pizza chain's store jobs list a software industry), so this row still holds store jobs; it shows whether removing part of them changes the door." }, { "id": "registered-nurse-travel", "rest_id": "registered-nurse-not-travel", "family": "registered-nurse", "title_terms": [ "travel" ], "note": "Registered nurse postings with travel in the title, mostly short contracts placed by staffing agencies." } ]}
运行这个案例
三种方式,每一种都先告诉你要花多少。
1 API Credit 可以买 25 个搜索结果或 5 条完整记录;1 美元可以买 30 API Credits。
交给你的 agent 来跑
211 到 261 API Credits7.03 到 8.70 美元超过新账户赠送的 100 API Credits
花费超过 300 API Credits 之前,agent 会先停下来问你。
你的 agent 按提示词一步步执行:先读规则,再计数,按提示词的要求检查定义,最后写出文件和图表。请使用能写文件的 agent,比如 Claude Code 或 Codex。
一次性配置key、连接和一次免费检查。如果你的 agent 已经接入 Metix AI Platform,可以跳过。
1获取 key
在 Metix AI Platform 上创建 key →新账户一次性赠送 100 API Credits,30 天内有效。在启动 agent 的终端里设置,或者把这一行写进 ~/.zshrc 或 ~/.bashrc,新开的终端也能用:
终端export METIX_KEY=metix_xxxxxxxx
2连接你的 agent
Claude Code
为所有项目注册 Metix AI Platform。在任意目录启动 claude,就能看到十个 metix 工具。
MCP 配置指南 →终端: "${METIX_KEY:?run step 1 first}" && claude mcp add --scope user --transport http metix \ https://mira-api.metix.ai/mcp \ --header "Authorization: Bearer $METIX_KEY"Codex
注册同一个服务。key 留在环境变量里,不写进配置文件。
MCP 配置指南 →终端codex mcp add metix \ --url https://mira-api.metix.ai/mcp \ --bearer-token-env-var METIX_KEY
Skills
四个 skill,教任何 agent 使用 Metix AI Platform 的接口和查询规则,适合不支持 MCP 的 agent。安装程序默认一项都不勾选:在每一项上按空格,再按回车。
Skills 安装说明 →终端npx skills add MetixAI-Official/metix-skills
其他 MCP
让客户端通过 streamable HTTP 连接这个地址,并带上这两个请求头;缺少 Accept 请求头时服务器会返回 406。较旧的客户端使用同一主机上的 /sse。
MCP 配置指南 →地址和请求头https://mira-api.metix.ai/mcp Authorization: Bearer <your key> Accept: application/json, text/event-stream
3检查配置
先问这一句。它只读取余额和字段列表,不做任何搜索,不花 API Credits:
发给 agent 的提示使用 Metix AI Platform:查询我的 key 状态并读取 contract,这两项都免费。然后告诉我我的 API Credit 余额和可以查询哪些数据集。不要做任何搜索。
4粘贴提示词
在一个空文件夹里启动 agent,再粘贴。它会把文件写在那里。
要回答的问题
用 Metix AI Platform 回答一个问题:在美国仍在招聘的职位里,每个职业有多大比例的职位向刚入行的人开放?入门门槛窄,是软件和 AI 岗位独有的现象,还是研究认定 AI 暴露度较高的职业都一样?只通过公开的 Platform 访问(REST 地址 https://mira-api.metix.ai、MCP 服务或 metix-skills),密钥从 METIX_KEY 读取,任何时候都不要打印密钥。
01先读规则再查询
调用 GET /contract(免费),所有条件只用 querySpecByEntity.job 里的字段;再读 GET /docs/api/jobs(免费)。seniority 只取七个固定值之一(Associate、Director、Entry level、Executive、Internship、Mid-Senior level、Not Applicable),索引里每个职位的 is_open 都是 true,总数达到 100,000 时返回的是字符串 "100000+"。一次查询最多 64 个条件,嵌套最多 6 层。size 1 的计数花 1 API Credit,搜索每返回 25 个 ID 花 1 API Credit,读取详情每 5 个职位花 1 API Credit,所以每个要发布的数字都按计数来设计。开始和结束时各调用一次 GET /auth/key/status(免费)查余额,总花费超过 300 API Credits 之前先停下来问我。
02范围
仍在招聘的职位(is_open eq true),且 location.country eq "United States"。按职位名称定义十二个职业族,每个族是一组职位名称词(title match:词组里的每个词都要出现,顺序不限):AI 与机器学习(machine learning、artificial intelligence、AI、ML、LLM、deep learning;排除 data center、data centers);软件工程(software engineer、software developer);数据分析师(data analyst;排除 security、prevention);财务分析师(financial analyst、finance analyst);会计(accountant);律师助理(paralegal、legal assistant);平面设计(graphic designer、graphic design);市场营销(marketing);客户服务(customer service、customer support、customer care;排除 driver);注册护士(registered nurse、RN);电工(electrician);卡车与 CDL 司机(truck driver、CDL driver)。在所有职业族之前,先拿掉 AI 训练和标注类工作:职位名称里有 AI 词,同时有 trainer、tutor、annotator、annotation 或 rater。每个职位只算一次:按上面的顺序,归入第一个匹配其职位名称词、又不匹配其排除词的族;匹配了排除词的职位继续交给后面的族判断。把职业族、顺序和每个排除词的理由写进文件。
03先核对再计数
搜索结果按职位名称的匹配程度排序,排在最前面的最干净,只看前几条会高估一个族的准确度。所以要读完整的切片:某个族在某一天(posted_date)、几个指定州里的全部职位,让一个切片有 10 到 50 条,每一条都读(POST /entity/v1/jobs/detail-by-id,_source 取 title、seniority、min_experience_months、company.name)。噪音多的族(AI、软件、数据分析师、财务分析师、市场营销、客户服务)各读约 40 条,其他族各读约 20 条。报告每个族切题的比例,说明噪音是什么,每个候选排除词都先用计数算出规模,只为读取中实际发现的噪音加排除词。读到的记录不能出现在任何公开文件里。
04两种口径
标签口径:seniority 为 Internship 或 Entry level 的职位,占该族全部职位的比例。每个职位都有 seniority,所以它是来源平台打的标签,不是雇主写明的要求。要求口径:min_experience_months lte 24(含 0)的职位,占写明 min_experience_months 的职位的比例;每个要求口径的比例旁边都要写出覆盖率,因为各族差别很大。任何时候都不按年龄定义入门。
05计数
每个族算:总数;seniority eq Internship、Entry level、Associate、Not Applicable,各一个计数;min_experience_months exists;min_experience_months lte 24;再把 seniority in [Internship, Entry level] 分别和后两个条件组合。先算所有族的总数。某个计数返回 "100000+" 时,把这个族拆成互不重叠的职位名称部分(registered nurse;有 RN 但没有 registered nurse)分别计数再相加。然后算核对中发现需要的四个子组:AI 训练类工作(总数和标签口径);AI 族里职位名称还带软件族词的职位;industries 既不匹配 Retail 也不匹配 Restaurants 的客户服务职位;职位名称带 travel 的注册护士职位。每个族剩下的部分用减法得到。
06清理
计数的单位是职位帖子,不是空缺:同一个雇主在几个地方发同一个职位,就按帖子数算几次,所以要报告核对切片里有多少条和同一切片里另一条的职位名称、雇主都相同。没有 min_experience_months 的职位不在要求口径里,不能当成 0。
07比较
把写明经验要求的职位按两种口径分成四类(标为入门且要求 24 个月以内;标为入门但要求更多;未标为入门但要求 24 个月以内;两者都不是),报告两种口径在哪里不一致。报告标签口径里标为 Internship 的比例。AI 暴露度引用 Brynjolfsson、Chandar、Chen 的 "Canaries in the Coal Mine? Six Facts about the Recent Employment Effects of Artificial Intelligence"(Stanford Digital Economy Lab),只标注其在线附录表 A.2 到 A.6 给对应职业的五分位;这些表里没有对应职业的族不标,任何族都不给分数。
08输出
写出 families.json 和 subgroups.json,每个都带 "unit": "jobs"、快照日期和来源查询文件。分母不少于 30 才发布比例。核对时读到的记录不公开。
09图表
各族的标签口径比例,排序,标出每个族的 AI 暴露度五分位;旁边是要求口径比例和它的覆盖率;写明要求的职位按两种口径分成的四类;标签口径里实习的比例;带 AI 词和不带 AI 词的软件职位对比;旅行护士和其他护士职位对比。比例画在 0 到 100% 的坐标轴上,数值直接标在条上,每张图的标题用中性、客观的措辞写出结论。
10局限
这是某一天仍在招聘的职位,不是趋势,说不出门槛有没有变窄。职位帖子反映的是需求,不是录用;标签和写明的要求只代表帖子怎么写,不代表录用了谁。职位名称族只是近似论文里的职业,而且包含各个层级的岗位。各族写明经验要求的比例不同。要写清楚旅行护士和门店柜台岗位在多大程度上影响了护士和客户服务的数字。
你会得到
聚合文件和图表,一段说明抽检发现了什么、改了什么,以及这次运行花了多少 API Credits(取自运行前后的余额)。
如果调用返回 402 insufficient_quota,说明 key 有效,只是余额用完了。
复现数字
126 API Credits4.20 美元超过新账户赠送的 100 API Credits
一个只用 Python 标准库的小脚本,把已提交的查询按计数发出去,写出这个页面所用的聚合文件。需要 Python,并在终端里设置好 METIX_KEY(见 agent 路径的第 1 步),也可以让你的 agent 替你运行这几行。
curl -fsSL https://platform.metix.ai/casebook/source/entry-level-postings-by-occupation-2026.tar.gz | tar xz
cd entry-level-postings-by-occupation-2026
: "${METIX_KEY:?set METIX_KEY first}" && python3 cases/entry-level-postings-by-occupation-2026/fetch.py你会得到
data/*.json 和 data/receipt.json。运行 git diff cases/entry-level-postings-by-occupation-2026/data 看哪些数字变了:除去快照之后数据本身的变化,数字应该一致。
改成你的问题
花费取决于你的版本读取多少。在提示词第 1 步里写上你自己的上限。
提示词就是这个案例本身。改掉下表里的部分,你的 agent 就会回答你的问题,用同样的检查和同样的花费记录方式。
| 想改的 | 改哪里 | 例子 |
|---|---|---|
| 职业 | 第 2 步,新加的族都要按第 3 步核对 | 药剂师、教师或网页开发的职位名称 |
| 入门的口径 | 第 4 步 | 12 个月以内,或把 Associate 标签也算进来 |
| 国家 | 第 2 步的 location.country | United Kingdom,并换成当地的职位名称用词 |
| API Credit 上限 | 第 1 步和第 3 步 | 不读核对切片,花费约 126 API Credits |
运行前先问清楚
有人带着更笼统的问题来时,先把这几件事定下来,每一件都会改变查询或花费:
- 看哪些职业?每个职业用职位名称里的哪些词?
- 怎样才算向刚入行的人开放:来源平台的标签、写明的要求,还是两者都看?
- 看哪个国家?
- 核对读取最多能花多少 API Credits?
用 Metix AI Platform 回答一个问题:在美国仍在招聘的职位里,每个职业有多大比例的职位向刚入行的人开放?入门门槛窄,是软件和 AI 岗位独有的现象,还是研究认定 AI 暴露度较高的职业都一样?只通过公开的 Platform 访问(REST 地址 https://mira-api.metix.ai、MCP 服务或 metix-skills),密钥从 METIX_KEY 读取,任何时候都不要打印密钥。 1. 先读规则再查询。调用 GET /contract(免费),所有条件只用 querySpecByEntity.job 里的字段;再读 GET /docs/api/jobs(免费)。seniority 只取七个固定值之一(Associate、Director、Entry level、Executive、Internship、Mid-Senior level、Not Applicable),索引里每个职位的 is_open 都是 true,总数达到 100,000 时返回的是字符串 "100000+"。一次查询最多 64 个条件,嵌套最多 6 层。size 1 的计数花 1 API Credit,搜索每返回 25 个 ID 花 1 API Credit,读取详情每 5 个职位花 1 API Credit,所以每个要发布的数字都按计数来设计。开始和结束时各调用一次 GET /auth/key/status(免费)查余额,总花费超过 300 API Credits 之前先停下来问我。 2. 范围。仍在招聘的职位(is_open eq true),且 location.country eq "United States"。按职位名称定义十二个职业族,每个族是一组职位名称词(title match:词组里的每个词都要出现,顺序不限):AI 与机器学习(machine learning、artificial intelligence、AI、ML、LLM、deep learning;排除 data center、data centers);软件工程(software engineer、software developer);数据分析师(data analyst;排除 security、prevention);财务分析师(financial analyst、finance analyst);会计(accountant);律师助理(paralegal、legal assistant);平面设计(graphic designer、graphic design);市场营销(marketing);客户服务(customer service、customer support、customer care;排除 driver);注册护士(registered nurse、RN);电工(electrician);卡车与 CDL 司机(truck driver、CDL driver)。在所有职业族之前,先拿掉 AI 训练和标注类工作:职位名称里有 AI 词,同时有 trainer、tutor、annotator、annotation 或 rater。每个职位只算一次:按上面的顺序,归入第一个匹配其职位名称词、又不匹配其排除词的族;匹配了排除词的职位继续交给后面的族判断。把职业族、顺序和每个排除词的理由写进文件。 3. 先核对再计数。搜索结果按职位名称的匹配程度排序,排在最前面的最干净,只看前几条会高估一个族的准确度。所以要读完整的切片:某个族在某一天(posted_date)、几个指定州里的全部职位,让一个切片有 10 到 50 条,每一条都读(POST /entity/v1/jobs/detail-by-id,_source 取 title、seniority、min_experience_months、company.name)。噪音多的族(AI、软件、数据分析师、财务分析师、市场营销、客户服务)各读约 40 条,其他族各读约 20 条。报告每个族切题的比例,说明噪音是什么,每个候选排除词都先用计数算出规模,只为读取中实际发现的噪音加排除词。读到的记录不能出现在任何公开文件里。 4. 两种口径。标签口径:seniority 为 Internship 或 Entry level 的职位,占该族全部职位的比例。每个职位都有 seniority,所以它是来源平台打的标签,不是雇主写明的要求。要求口径:min_experience_months lte 24(含 0)的职位,占写明 min_experience_months 的职位的比例;每个要求口径的比例旁边都要写出覆盖率,因为各族差别很大。任何时候都不按年龄定义入门。 5. 计数。每个族算:总数;seniority eq Internship、Entry level、Associate、Not Applicable,各一个计数;min_experience_months exists;min_experience_months lte 24;再把 seniority in [Internship, Entry level] 分别和后两个条件组合。先算所有族的总数。某个计数返回 "100000+" 时,把这个族拆成互不重叠的职位名称部分(registered nurse;有 RN 但没有 registered nurse)分别计数再相加。然后算核对中发现需要的四个子组:AI 训练类工作(总数和标签口径);AI 族里职位名称还带软件族词的职位;industries 既不匹配 Retail 也不匹配 Restaurants 的客户服务职位;职位名称带 travel 的注册护士职位。每个族剩下的部分用减法得到。 6. 清理。计数的单位是职位帖子,不是空缺:同一个雇主在几个地方发同一个职位,就按帖子数算几次,所以要报告核对切片里有多少条和同一切片里另一条的职位名称、雇主都相同。没有 min_experience_months 的职位不在要求口径里,不能当成 0。 7. 比较。把写明经验要求的职位按两种口径分成四类(标为入门且要求 24 个月以内;标为入门但要求更多;未标为入门但要求 24 个月以内;两者都不是),报告两种口径在哪里不一致。报告标签口径里标为 Internship 的比例。AI 暴露度引用 Brynjolfsson、Chandar、Chen 的 "Canaries in the Coal Mine? Six Facts about the Recent Employment Effects of Artificial Intelligence"(Stanford Digital Economy Lab),只标注其在线附录表 A.2 到 A.6 给对应职业的五分位;这些表里没有对应职业的族不标,任何族都不给分数。 8. 输出。写出 families.json 和 subgroups.json,每个都带 "unit": "jobs"、快照日期和来源查询文件。分母不少于 30 才发布比例。核对时读到的记录不公开。 9. 图表。各族的标签口径比例,排序,标出每个族的 AI 暴露度五分位;旁边是要求口径比例和它的覆盖率;写明要求的职位按两种口径分成的四类;标签口径里实习的比例;带 AI 词和不带 AI 词的软件职位对比;旅行护士和其他护士职位对比。比例画在 0 到 100% 的坐标轴上,数值直接标在条上,每张图的标题用中性、客观的措辞写出结论。 10. 局限。这是某一天仍在招聘的职位,不是趋势,说不出门槛有没有变窄。职位帖子反映的是需求,不是录用;标签和写明的要求只代表帖子怎么写,不代表录用了谁。职位名称族只是近似论文里的职业,而且包含各个层级的岗位。各族写明经验要求的比例不同。要写清楚旅行护士和门店柜台岗位在多大程度上影响了护士和客户服务的数字。
方法与局限
统计范围怎么定义、怎么计数和抽检,以及这些数字不能说明什么。
人群
2026 年 9 月 22 日 Metix AI Platform 上地点在美国(岗位的 location.country)、仍在招聘(is_open)的岗位。目前索引里的岗位 is_open 都为 true,所以它不会缩小范围;查询里仍保留这个条件,以防以后变化。
职业族
每个职业族是一小组标题词,有的带排除词,都在 queries/families.json。标题里出现一个词组的每个词(顺序不限)就算匹配。每个岗位最多算进一个职业族:清单里第一个匹配、且没有命中排除词的那个。标题同时含 AI 词和软件词的岗位(例如 AI Software Engineer)算进 AI。标题同时含 AI 词和 trainer、tutor、annotator、annotation 或 rater 的岗位(AI 训练类岗位)先从所有职业族里拿掉,单独统计。
两种口径
标签口径:资历(seniority)为 Internship 或 Entry level 的岗位占全部岗位的比例。来源平台给每个岗位都设了七个固定值之一,所以这是标签,不是雇主写的要求。要求口径:写明经验要求(min_experience_months)且要求 24 个月以内(含 0)的岗位,占写明要求的岗位的比例。
抽读
先从 AI、软件和数据分析师三个搜索结果的最前面各读了 40 个标题,共 120 个,全部对口,后来发现原因:搜索按标题匹配程度排序,前几条最干净。这些读取作废,改为读完整切片(某一天、几个州、切片里的每个岗位),共 336 个岗位。切片里发现了 AI 数据中心设施岗位(230 个,交给后面的职业族)、数据分析师里的安全分析师(28 个,排除)、客户服务标题里的送货司机(127 个,排除),以及 AI 训练类岗位(1,009 个,先行拿掉)。
暴露度分档
来自 Erik Brynjolfsson、Bharat Chandar 和 Ruyu Chen 的《Canaries in the Coal Mine? Six Facts about the Recent Employment Effects of Artificial Intelligence》,斯坦福数字经济实验室,2025 年 8 月首发,2025 年 11 月和 2026 年 8 月修订。论文在线附录表 A.2 至 A.6 列出了每个暴露度档位里就业人数最多的 50 个职业。论文页面。
局限
一天的岗位截面,不是趋势,不能说明门槛是否变窄。岗位反映需求,不是录用;数的是岗位,不是空缺。职业族包含一个职业的所有级别,只是论文职业的近似。写明要求的比例各族不同,标为入门的岗位写得更少。资历标签来自来源平台,偶尔不一致。雇主排名和入门岗位薪资这两项没有做:前者要读完所有入门岗位,后者写明薪资的太少。
最近一次复现
上一次复现花了多少,取自运行前后 Metix AI Platform 记录的余额。
- 运行日期
- 2026-09-22
- 调用次数
- 126
- 搜索结果
- 126
- 读取记录
- 0
- API Credits
- 126
搜索结果是搜索返回的 ID 数,每次计数查询算一个,完整搜索按命中数算。记录是完整读取的岗位或档案:这个案例一条都没读。
做这个案例另外花了大约 174 API Credits:agent 做的抽检、试探性查询,以及被公开复现取代的早先运行。你不需要再花这部分。