ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

AI 行业调研助手:从零构建可复用的 Skill 技能包

AI 行业调研助手:从零构建可复用的 Skill 技能包 每个行业都像一本随时在更新的书而大多数人在翻开它之前就已经被信息搜索的繁琐劝退了。过去接触一个陌生行业我通常要花好几个晚上在搜索引擎、研报网站、行业数据库之间来回跳转把零散信息拼成一份勉强能用的调研笔记。后来我尝试把这个过程交给 AI但简单的提示词只能得到泛泛而谈的摘要离“可用的调研报告”差距很大。于是我动手做了一个名为行业调研助手的 Skill把“快速了解一个陌生行业需要做什么”这件事变成了一套可复用、可调试、可迭代的 AI 技能。这篇文章会完整拆解这个 Skill 的设计思路、目录结构、核心配置、Python 脚本和提示词模板并用一个真实行业案例演示从输入行业名称到生成报告的全过程。适合刚开始接触 AI 编程、Agent 开发以及 Skill 开发的读者也适合想把自己重复性工作封装成 AI 工具的进阶开发者。1. 为什么要用 AI Skill 做行业调研1.1 传统行业调研到底难在哪行业调研本身并不是一个复杂问题但它极度依赖信息检索和经验判断。一个刚接触新行业的人通常会卡在这几个环节不知道应该搜索哪些关键词搜索词太宽泛返回的内容全是新闻太狭窄又漏掉关键信息。找到一堆网页和报告但无法快速判断哪些信息有参考价值哪些只是商业软文。行业知识不成体系不知道产业链、市场规模、竞争格局、政策环境这些维度应该如何组织。信息更新速度快上一次调研的结果可能半年后就过时需要重新再来一遍。这些问题的共同点是它们不是靠记忆力能解决的而是靠一套稳定的调研流程。只要能把流程固定下来AI 就能替代大部分重复劳动。1.2 Skill 和普通 Prompt 有什么区别提到 AI 自动化很多人的第一反应是写一段精心设计的 Prompt。但在实际使用中Prompt 有几个很难解决的问题它只能写在对话框里换一个对话就丢失它不能主动调用外部工具比如网页搜索、网页抓取、文件保存它没有明确的输入输出格式结果不稳定同样的提示词每次生成的内容结构都不一样。Skill 可以理解为一个更完整的“能力包”。它通常由一组文件组成包括功能描述文件、执行脚本、提示词模板、参考文档等。Skill 的机制让 AI 助手能够知道在什么场景下调用这个能力、需要哪些参数、执行哪些步骤、最终输出什么格式。对比一下两者的区别对比维度普通 PromptSkill复用性每次都要重新粘贴一次安装按需触发工具调用只能靠文本描述可配置搜索引擎、抓取插件流程控制靠模型自由发挥有明确的步骤和检查清单结果稳定性时好时坏通过模板和校验提高稳定性可维护性改一次就要重新梳理独立文件修改可版本管理所以我做的这个 Skill本质上是用一套描述文件告诉 AI 助手当用户输入行业名称时你应该按什么步骤调研、搜索哪些方向、整理成什么结构、保存到什么地方。1.3 这个 Skill 的目标整个项目只有一个核心目标输入一个行业名称输出一份结构化的 Markdown 行业调研报告。报告需要覆盖行业定义、产业链、市场规模、竞争格局、商业模式、政策环境、发展趋势和潜在风险等维度。为了达成这个目标Skill 需要具备以下几个能力根据行业名称自动生成多组搜索关键词。按调研维度拆解成多个搜索任务。调用网页搜索和正文抓取工具获取资料。对资料进行去重、摘要和结构化整理。将最终结果写入固定格式的 Markdown 文件。接下来的章节我会从整体设计开始逐步展开每个实现细节。2. 整体设计与功能拆分2.1 需求分析与功能模块在设计 Skill 时我没有一开始就写代码而是先把整个调研流程拆成了五个模块。这样做的好处是后续不管是改提示词还是改脚本都能准确定位到对应模块不需要重写整份配置。整个行业调研流程可以拆成这样五个步骤意图识别从用户消息中提取行业名称确认调研范围。关键词生成根据行业名称从多个角度生成搜索关键词比如产业链、市场规模、龙头企业、政策法规、技术趋势。信息采集调用搜索工具获取网页标题、摘要和链接再对有价值的网页进行正文抓取和去重。结构化分析把采集到的信息按报告模板的维度进行归类、提炼和交叉验证。报告输出生成 Markdown 文件保存到指定目录并向用户输出摘要。2.2 Skill 目录结构设计Skill 不是一个单一的文件而是一个目录。我的目录结构如下industry-research-skill/ ├─ SKILL.md # Skill 的核心描述文件 ├─ scripts/ │ ├─ generate_keywords.py # 生成搜索关键词 │ ├─ summary.py # 本地文本摘要工具可选 │ └─ report_formatter.py # 报告格式整理工具 └─ assets/ └─ report_template.md # 行业调研报告模板其中SKILL.md是灵魂它告诉 AI 助手这个 Skill 是干什么的、在什么时候启用、执行步骤是什么。scripts/目录用来放一些本地辅助脚本主要处理关键词生成、文本长度统计、报告格式整理这类不依赖大模型的确定性工作。assets/目录用于存放提示词模板和报告模板。2.3 数据流向设计为了便于理解我把数据流用文字描述一下用户输入行业名称后AI 助手解析出keyword参数传递给generate_keywords.py脚本生成 8-10 组搜索关键词返回给 AI。AI 拿到关键词后通过搜索插件逐组检索网页收集内容摘要。接着 AI 根据报告模板中的维度将搜索结果填入对应章节最后调用report_formatter.py对 Markdown 格式做最终整理保存为reports/行业名称-行业研究报告.md。这个流程全部在对话上下文中完成除关键词生成和格式整理外不依赖本地计算资源因此部署成本很低。3. 环境准备与 Skill 运行机制3.1 运行环境说明由于 Skill 的配置格式在不同智能体平台有一定差异本文以一套通用结构为例进行说明。实际使用时需要根据你使用的 AI 助手平台调整字段名称和插件名称。建议环境如下支持 Skill 机制的 AI 智能体应用例如支持自定义技能包的工具。已启用网页搜索插件用于检索实时行业信息。已启用网页正文提取插件用于读取具体文章内容。Python 3.9 及以上版本用于运行辅助脚本。建议模型上下文长度不低于 128K便于处理多篇网页摘要。需要说明的是不同平台的插件命名差异很大比如有的叫 Web Search有的叫 Browser有的叫 URL Reader。本文脚本中会把工具调用封装为search_web和read_url两个函数实际部署时你需要把它们映射到平台真实工具上。3.2 创建一个空白 Skill 工程在本地新建目录mkdir -p industry-research-skill/scripts mkdir -p industry-research-skill/assets mkdir -p industry-research-skill/reports cd industry-research-skill目录创建完成后先别急着写代码接下来我们先规划 SKILL.md 的内容因为它是整个 Skill 的核心描述文件。4. 编写 SKILL.md 核心配置4.1 为什么 SKILL.md 这么重要SKILL.md 相当于 Skill 的“说明书”AI 助手会根据它的内容来判断当前用户请求是否应该调用这个 Skill、需要收集哪些参数、应该执行什么步骤、输出什么格式。所以它的结构必须足够清晰让模型在读取后能够立刻理解任务边界。SKILL.md 通常包含以下部分name技能名称。description技能功能描述以及何时启用这个技能。parameters执行任务所需的输入参数。workflow详细执行步骤。dependencies需要依赖的插件或外部工具。output_format输出文件格式要求。notes注意事项和边界条件。4.2 完整示例下面是我使用的 SKILL.md 配置示例--- name: industry_research_assistant description: 当用户输入一个行业名称并希望快速了解该行业的整体情况、产业链、市场规模、竞争格局、政策趋势时使用本技能自动完成行业调研并生成 Markdown 报告。 parameters: industry_name: type: string description: 用户希望调研的行业名称例如新能源汽车充电桩、工业机器人、合成生物学。 required: true dependencies: - web_search - web_scraper workflow: - step: 提取行业名称 action: 从用户输入中识别行业名称并检查是否存在歧义如果名称过于宽泛可以追问用户具体细分方向。 - step: 生成搜索关键词 action: 运行 python scripts/generate_keywords.py --industry 行业名称获取多维度的搜索关键词列表。 - step: 执行批量检索 action: 遍历关键词列表调用 web_search 插件检索保留标题、来源链接、发布时间和摘要片段每条关键词最多保留前5条结果。 - step: 阅读高价值内容 action: 对搜索结果中相关性较高的链接调用 web_scraper 获取正文每篇正文用 200 字以内概括核心结论。 - step: 结构化分析 action: 按照 assets/report_template.md 中的章节将采集到的资料按产业链、市场规模、竞争格局、商业模式、政策环境、风险挑战、趋势判断等维度归类。 - step: 生成报告 action: 调用 python scripts/report_formatter.py --input report.md --output reports/行业名称-行业研究报告.md 完成格式整理并保存。 output_format: 输出 Markdown 文件保存到 reports 目录同时向用户输出一份500字以内的核心摘要。 notes: - 所有数据和结论必须基于搜索获取的资料禁止凭空编造行业数据。 - 如果搜索结果之间信息冲突应并列展示不同观点并注明来源。 - 当用户未指定具体行业时不触发本技能。 ---这个文件告诉 AI 助手只要用户说“帮我了解一下 XX 行业”“XX 行业前景怎么样”模型就会主动调用这个 Skill并按workflow一步步执行。相比一个简单的“请调研 XX 行业”的 Prompt它最大的优势是流程固定每次执行都不会漏掉关键步骤。5. 编写辅助脚本5.1 关键词生成脚本关键词是整个调研流程的起点。如果关键词质量差后面搜索到的内容就会偏。generate_keywords.py的作用是根据行业名称自动生成不同维度的搜索词避免用户每次手动想搜索词。#!/usr/bin/env python3 # 文件路径scripts/generate_keywords.py import argparse import sys def generate_keywords(industry: str) - list[str]: 根据行业名称生成多个维度的搜索关键词。 维度包括行业基础、产业链、市场规模、龙头企业、政策、技术与趋势。 industry industry.strip() if not industry: return [] patterns [ {industry} 行业概述, {industry} 产业链, {industry} 市场规模 2025, {industry} 龙头企业 排名, {industry} 商业模式 盈利模式, {industry} 政策 法规, {industry} 技术趋势, {industry} 投资 风险, {industry} 竞争格局, {industry} 发展前景, ] keywords [p.format(industryindustry) for p in patterns] return keywords def main(): parser argparse.ArgumentParser(description生成行业调研搜索关键词) parser.add_argument(--industry, requiredTrue, help行业名称) args parser.parse_args() keywords generate_keywords(args.industry) if not keywords: print(行业名称不能为空, filesys.stderr) sys.exit(1) for keyword in keywords: print(keyword) if __name__ __main__: main()这个脚本设计的核心点是关键词维度拆分。为什么不只生成一个“XX行业”关键词因为搜索单个词得到的结果重复率极高基本都是行业门户新闻难以覆盖到市场规模和竞争格局这类深度信息。按产业链、政策、技术趋势等维度分别搜索才能保证报告每个章节都有素材可用。运行方式也很简单python scripts/generate_keywords.py --industry 新能源汽车充电桩预期输出新能源汽车充电桩 行业概述 新能源汽车充电桩 产业链 新能源汽车充电桩 市场规模 2025 新能源汽车充电桩 龙头企业 排名 新能源汽车充电桩 商业模式 盈利模式 新能源汽车充电桩 政策 法规 新能源汽车充电桩 技术趋势 新能源汽车充电桩 投资 风险 新能源汽车充电桩 竞争格局 新能源汽车充电桩 发展前景5.2 报告格式整理脚本由于大模型直接输出的 Markdown 经常存在格式不统一的问题比如标题层级跳跃、表格缺少表头、末尾多出无意义内容等我在流程的最后加了一个报告整理脚本。它负责做最小化的格式校正保证报告干净、易读。#!/usr/bin/env python3 # 文件路径scripts/report_formatter.py import argparse import re from pathlib import Path def normalize_markdown(content: str) - str: 对生成的 Markdown 报告做轻量格式整理 1. 去掉连续多余空行 2. 确保标题层级连续 3. 清理行尾空格 # 统一换行符 content content.replace(\r\n, \n) # 去掉行尾空格 lines [line.rstrip() for line in content.split(\n)] # 压缩连续空行为最多一个空行 normalized [] blank_count 0 for line in lines: if line.strip() : blank_count 1 if blank_count 1: normalized.append() else: blank_count 0 normalized.append(line) result \n.join(normalized).strip() \n return result def main(): parser argparse.ArgumentParser(description整理行业报告 Markdown 格式) parser.add_argument(--input, requiredTrue, help输入 Markdown 文件路径) parser.add_argument(--output, requiredTrue, help输出 Markdown 文件路径) args parser.parse_args() input_path Path(args.input) output_path Path(args.output) if not input_path.exists(): print(f输入文件不存在: {args.input}) return 1 output_path.parent.mkdir(parentsTrue, exist_okTrue) content input_path.read_text(encodingutf-8) normalized normalize_markdown(content) output_path.write_text(normalized, encodingutf-8) print(f报告已整理并保存到: {output_path}) return 0 if __name__ __main__: raise SystemExit(main())这个脚本在真实环境中可以由 AI 助手直接调用也可以由人在本地执行。它不涉及任何大模型计算运行速度快适合作为确定性流程的一环。6. 报告模板与提示词设计6.1 报告模板在assets/report_template.md中我定义了报告的标准结构。这个模板是整个 Skill 输出的“骨架”AI 会按照里面的章节逐项填充内容。# 《行业名称》行业调研报告 ## 1. 行业概述 - 行业定义 - 产业链位置 - 行业发展阶段 ## 2. 产业链分析 - 上游核心原材料、设备、技术 - 中游制造、服务、集成 - 下游应用场景、客户群体 ## 3. 市场规模与增长 - 当前市场规模 - 历史增长情况 - 未来预测注明数据来源 ## 4. 竞争格局 - 主要参与者 - 头部企业概况 - 市场集中度 ## 5. 商业模式 - 主流盈利模式 - 典型企业案例 - 成本结构特征 ## 6. 政策与监管 - 近期重要政策 - 监管要求 - 政策对行业的影响 ## 7. 技术与趋势 - 关键技术进展 - 新兴应用方向 - 行业未来3-5年的趋势判断 ## 8. 风险与挑战 - 技术风险 - 市场风险 - 政策风险 - 其他风险 ## 9. 参考来源 - 列出关键信息的来源链接这个模板的章节顺序就是 AI 的写作顺序。模板存在的意义是保证输出结构稳定性而不是让 AI 自由发挥。如果某次调研某个章节确实没有找到足够信息AI 也应该保留标题并注明“暂未获得可靠信息”。6.2 提示词模板设计除了报告模板SKILL.md 内部还需要一段执行提示词用来指导 AI 如何搜索、如何分析、如何鉴别信息质量。以下是核心提示词片段我在实际使用中会将它放在 SKILL.md 的 workflow 步骤内你是一名行业研究分析师。请严格按照行业调研流程执行任务。 搜索要求 - 每个关键词至少检查前5条结果优先选择权威来源如政府网站、行业协会、上市公司公告、头部咨询机构报告。 - 优先获取包含具体数据的段落例如市场规模数值、增速百分比、企业排名、政策文件名称。 - 避免使用营销色彩过重的商业软文作为主要依据。 分析要求 - 将搜索结果按报告模板章节归类。 - 当信息冲突时不要强行统一结论应说明“目前存在不同说法”并分别给出来源。 - 对不确定的数据使用“约”“据不完全统计”“预计”等表述并标注出处。 输出要求 - 最终输出为 Markdown 格式保存到 reports 目录。 - 报告结尾必须附上参考来源的链接列表。 - 不要编造数据找不到的数据要明说找不到。这段提示词的核心价值在于约束 AI 的行为边界优先权威来源、保留冲突观点、标注数据来源、不编造数据。这四点对行业调研类任务来说至关重要因为用户拿报告去做判断时信息的可追溯性比信息的丰富性更关键。7. 完整实战以“新能源汽车充电桩”行业为例7.1 用户输入触发当用户向配置了该 Skill 的 AI 助手发送这样一句话时我想快速了解新能源汽车充电桩这个行业帮我做一份调研报告。AI 助手会根据 SKILL.md 的 description 判断应当触发该技能提取行业名称为“新能源汽车充电桩”然后按 workflow 开始执行。这一步的关键在于模型要先判断是否触发 Skill而不是直接生成报告。如果用户只是在普通聊天中提到了“充电桩”这个词但没有调研意图Skill 不应被触发。7.2 生成搜索关键词AI 调用关键词生成脚本得到一组搜索词。然后针对“市场规模”“龙头企业”“商业模式”等维度进行批量搜索。由于每个维度都需要检索 5 条左右的结果整个搜索过程会持续较长时间但 AI 会在内部自主完成用户不需要手动复制关键词。7.3 报告核心章节示例经过搜索、阅读和分析后最终生成的报告会保存到reports/新能源汽车充电桩-行业研究报告.md。以下是报告中几个核心章节的内容示例行业概述新能源汽车充电桩是为新能源汽车提供电能补给的专用设备是新能源汽车产业链中重要的基础设施环节。充电桩按充电方式可分为交流慢充桩和直流快充桩按应用场景可分为公共充电桩、专用充电桩和私人充电桩。近年来随着新能源汽车保有量提升充电桩行业进入快速发展期但区域分布不均衡、充电体验参差不齐等问题仍然存在。产业链分析上游主要包括充电模块、功率器件、线缆、壳体、计量计费模块等元器件供应商其中充电模块是核心部件决定了充电桩的功率和效率。中游是充电桩整机制造商和充电运营服务商整机制造商负责设备生产运营服务商负责场站建设、设备运维和用户服务。下游主要包括新能源汽车用户、车队运营方和商业地产物业。政策与监管充电桩行业受政策影响较大从国家层面到地方层面均出台了多项支持政策。政策重点涉及补贴标准、场地支持、电力接入、互联互通和数据安全等方面。由于各地政策差异明显报告在编写时会按地区分别整理主要政策。以上内容为示例片段真实报告中会加入搜索到的具体数据和来源链接。从示例可以看出报告并不是简单堆砌新闻标题而是按产业链逻辑重新组织信息这也是本次设计最重要的目标之一。7.4 报告格式化与保存AI 生成完整 Markdown 内容后会调用report_formatter.py对格式进行最后整理然后保存到reports/目录。用户在执行结束后会同时收到一份 500 字以内的摘要包含本次调研的核心结论和报告文件路径。8. 常见问题与排查思路这个 Skill 在实际使用中遇到过不少问题下面整理成表格方便读者对照排查。问题现象常见原因解决思路用户输入行业后AI 不触发 Skilldescription 写得不够清晰模型没有识别出调研意图在 description 中补充更多触发场景示例例如“前景怎么样”“值不值得进入”“行业报告”搜索出来的结果全是新闻稿缺少深度信息关键词偏宽泛或者搜索插件只返回了热门新闻增加“市场规模”“研报”“白皮书”“产业链”等限定词提高搜索深度报告生成到一半就停止单次搜索和阅读的网页过多超出上下文长度限制减少每个关键词保留的搜索结果条数例如从5条调整为3条或者对每篇文章只保留摘要生成了没有来源的数据提示词没有强调数据来源在提示词中明确要求每个具体数据必须标注来源链接报告格式不一致章节随机变化没有使用报告模板模型自由发挥在 SKILL.md 中强制引用 assets/report_template.md用户问的是细分领域比如“液冷充电桩”行业名称识别粒度太粗没有追问在工作流第一步增加歧义确认步骤让模型判断是否需要追问细分方向本地脚本报 Python 语法错误环境中 Python 版本过低将本地 Python 升级到 3.9 以上并验证scripts/目录下脚本可独立运行排查这类问题核心思路是“分层定位”先判断是模型没有触发 Skill还是触发了但没有按流程执行还是执行了但脚本报错。不要一上来就重写整个 SKILL.md那样只会让问题更难追踪。9. 最佳实践与工程建议9.1 版本管理 Skill 文件Skill 的本质是一段代码和配置因此它也应该使用版本管理。我在实际项目中会把SKILL.md、scripts/、assets/目录纳入 Git 管理每次调整都提交一次。这样当某次修改导致输出质量下降时可以快速回滚到上一个稳定版本。项目根目录可以增加.gitignore文件忽略临时报告文件reports/ __pycache__/ *.pyc9.2 控制搜索频率与数量当前主流 AI 智能体平台对搜索插件的调用频次通常有一定限制。合理的搜索策略是每个关键词只保留前 5 条结果整篇报告控制在 25-40 次搜索以内。如果搜索次数太多不仅耗时还容易触发平台的频率限制。在 SKILL.md 中显式写清楚这个数量边界可以帮助模型在执行时掌握节奏。9.3 强调信息可追溯性行业调研报告最重要的属性不是观点华丽而是信息可追溯。我在实际使用中发现只要在提示词里弱化了“来源”模型就会倾向于生成看起来合理但没有出处的数据。因此报告模板里必须设置“参考来源”章节并且要求参考链接在正文中以角标或括号形式出现。9.4 做好多轮追问的接口用户第一次输入往往比较模糊例如“帮我了解一下 AI 行业”。这里的“AI 行业”范围太大直接调研会得到一篇浅而全的科普文章。更合理的做法是第一次先确认细分方向例如是 AIGC、AI 芯片、AI 应用还是 AI 基础设施。SKILL.md 的工作流中明确增加了“歧义确认”步骤这个小改动能显著提升报告质量。9.5 安全与权限注意行业调研涉及的信息绝大多数是公开数据但也要注意几点不应诱导 AI 绕过付费墙抓取付费报告内容不应抓取涉及个人隐私的信息涉及未公开数据时必须以公开渠道信息为准。另外如果 Skill 运行在团队协作环境中需要注意 API 调用配额和费用控制对单次任务设置搜索次数上限。10. 总结与后续优化方向做完这个 Skill 之后我对“AI 自动化完成复杂任务”这件事有了更深的体会真正让 AI 工作可靠的不是一段炫技的提示词而是把任务拆解成稳定流程的能力。Skill 的开发过程本质上是把个人经验沉淀成可复用工具的过程。每一次搜索关键词的调整、每一处报告模板的修改都是在为下一次调研积累经验。目前这个 Skill 已经能满足“单次输入、自动生成报告”的基础需求。后续可以从以下几个方向继续优化增加定时自动调研能力配合定时任务让 AI 定期生成某个行业的跟踪报告。接入更多结构化数据源例如上市公司年报、招股书、政府统计数据库提高数据准确性。增加报告对比功能将不同时间生成的同行业报告做差异分析自动标注行业变化点。将报告生成结果与知识库打通形成团队内部的行业知识积累。现在每次接触一个新行业我会先运行一遍这套流程再针对报告里的空白点做定向补充搜索。它不能完全替代人的判断但能把信息收集和初步梳理的时间压缩到一个小时以内。如果你也经常需要了解陌生行业建议试试把文中的思路改造成自己的 Skill也欢迎在评论区分享你的实现方案。
返回列表