尧图精选

swarms 项目 Financial Analysis Skill 实战指南:基于 SKILL.md 的系统化财务分析 Agent 技能

🕒 发布时间:2026/9/17 12:01:00 📁 来源:尧图网络
swarms 项目 Financial Analysis Skill 实战指南基于 SKILL.md 的系统化财务分析 Agent 技能【免费下载链接】swarmsThe Enterprise-Grade Multi-Agent Orchestration Framework. Website: https://swarms.ai项目地址: https://gitcode.com/GitHub_Trending/swar/swarms导读本文以 swarms 仓库中financial-analysis/SKILL.md技能文件为骨架讲解如何让多智能体编排框架中的 Agent 掌握一套完整、可复用的财务分析方法论——涵盖数据收集与校验、财务比率分析、估值建模DCF、可比公司、先例交易与敏感性分析。读完本文你将理解 Agent Skills 的文件结构与加载机制Tier 1 元数据加载与 Tier 2 全文按需加载掌握如何为 Agent 配置skills_dir、如何编写自定义 SKILL.md并能在 swarms 中直接驱动 Agent 完成上市公司估值、一级市场尽调与并购分析等实战任务。一、Agent Skills 是什么SKILL.md 的定位与加载机制在 swarms 中Agent Skills 是一种以SKILL.md文件为载体的模块化、可复用能力定义。仓库将该机制实现为独立的SkillsManager其模块文档swarms/agents/skills_manager.py明确说明它负责以下行为发现与 Tier 1 元数据加载扫描skills_dir下的每个技能文件夹解析SKILL.md中的 YAML frontmatter得到技能的name与description静态加载把skills_dir中全部技能折叠进系统提示词system prompt动态加载仅当技能描述与任务文本相似时才将其加载进提示词由DynamicSkillsLoader实现基于余弦相似度Tier 2 加载load_full_skill在真正需要时按需拉取单个技能的完整正文提示词渲染把技能区段追加到 Agent 的系统提示词之后。从源码结构看SkillsManager自身不直接修改 Agent 对象而是返回提示词文本、由调用方决定如何拼接这保证了提示词变更点集中在Agent中、且该类可独立测试对应测试见 tests/agents/test_skills_manager.py。因此SKILL.md本质上是一份面向 LLM 的结构化指令文档frontmatter 里的name/description用于技能发现与相似度匹配frontmatter 之后的正文则是在技能被激活后注入系统提示词的完整方法论。二、financial-analysis 技能文件逐段解读本仓库中的财务分析技能文件位于examples/single_agent/capabilities/skills/financial-analysis/SKILL.md其完整结构如下。2.1 YAML Frontmatter技能的身份标识--- name: financial-analysis description: Perform comprehensive financial analysis including DCF modeling, ratio analysis, and financial statement evaluation for companies and investment opportunities ---name技能唯一标识用于load_full_skill、get_skill_names等按名检索操作description技能能力的概要描述。它承担双重职责——作为 Tier 1 元数据供 Agent 快速感知可用技能同时也作为动态加载阶段与用户任务做相似度匹配的比对文本详见下文第四节。SkillsManager._parse_skill_fileswarms/agents/skills_manager.py解析该文件时会读取以---包裹的 YAML 块产出包含name、description、path、content四个键的元数据字典content即 frontmatter 之后的全部正文.strip()去掉首尾空白。若文件缺失 frontmatter 或解析失败该技能会被跳过而非中断整个加载流程。2.2 核心方法论系统化分析四步法文件正文开宗明义执行财务分析时应遵循如下系统性步骤以保证评估的彻底性与准确性。第 1 步数据收集与校验Data Collection and Verification收集历史财务报表利润表income statement、资产负债表balance sheet、现金流量表cash flow校验数据来源的准确性与完整性识别任何异常值或缺失数据点。这一步是全部后续分析的地基。仓库技能文件的定位是指导 LLM 先建立数据可信度再进入计算环节避免基于残缺数据得出误导性结论。第 2 步财务比率分析Financial Ratio Analysis计算并分析关键财务比率技能文件将其划分为四个维度维度指标分析目的盈利能力 ProfitabilityEBITDA margin、net profit margin、ROE、ROA衡量企业赚取利润的能力流动性 LiquidityCurrent ratio、quick ratio、cash ratio评估短期偿债与现金覆盖能力杠杆 LeverageDebt-to-equity、interest coverage ratio评估资本结构与偿息安全边际效率 EfficiencyAsset turnover、inventory turnover评估资产与存货的运营效率第 3 步估值建模Valuation Models构建恰当的估值模型技能文件给出了三种互补方法DCF 分析预测自由现金流、确定 WACC加权平均资本成本、计算终值terminal value可比公司分析Comparable Company Analysis识别可比公司分析估值倍数P/E、EV/EBITDA先例交易分析Precedent Transactions复盘类似并购交易作为估值基准。第 4 步敏感性分析Sensitivity Analysis执行情景分析基准情形base case、乐观情形bull case、悲观情形bear case检验关键假设增长率、折现率、利润率识别关键价值驱动因子critical value drivers。2.3 工作准则Guidelines技能文件要求 Agent 在任何财务分析任务中遵守以下准则不确定时始终采用保守假设conservative assumptions用多种估值方法交叉验证结论清晰记录所有假设及其依据呈现结果时附带适当的警示与风险因素兼顾定量指标与定性因素。2.4 关键输出Key Outputs一次完整的分析应产出发现摘要executive summary含假设的详细财务模型带敏感性分析结果的估值区间附风险评估的投资建议支撑性图表与可视化。2.5 示例使用场景Example Use Cases上市公司估值Analyze Teslas financials and provide a DCF valuation一级市场投资Evaluate this startups unit economics and runway并购分析MAAssess the financial implications of this acquisition这三个用例直接对应本仓库example.py风格的 Agent 调用用户在agent.run(...)中给出这类任务即会触发本技能的激活与执行。三、把技能挂载到 Agentskills_dir 配置与运行3.1 最小可用示例仓库示例agent_with_skills.py展示了如何使用技能运行财务分析任务from pathlib import Path from swarms import Agent # 定位 skills 目录示例中指向仓库根目录下的 example_skills repo_root Path(__file__).parent.parent.parent skills_path repo_root / example_skills # 创建带技能的 Agent agent Agent( agent_nameFinancial Analyst, model_namegpt-4o, max_loops1, skills_dirstr(skills_path), ) # Agent 会在相关任务中自动遵循 financial-analysis 技能 response agent.run( Analyze Apples financials and provide a DCF valuation framework ) print(response)3.2 自定义技能三步法仓库示例agent_with_custom_skill.py给出创建自定义技能的完整流程创建技能目录结构os.makedirs(./my_custom_skills/customer-support, exist_okTrue)编写 SKILL.md写入带 YAML frontmatter 的技能正文该示例演示了一个 customer-support 技能含 Approach、Tone、Example Response Structure 等章节挂载并运行将skills_dir指向技能目录agent.run()时 Agent 会自动遵循对应技能。SkillsManager要求每个技能位于skills_dir下的独立文件夹中且文件夹内必须存在名为SKILL.md的文件常量SKILL_FILENAME SKILL.md见swarms/agents/skills_manager.py。skills_dir传None时技能机制完全关闭因此不配置该参数不会影响常规 Agent 行为。3.3 技能区段如何进入系统提示词当技能被加载后SkillsManager.build_promptswarms/agents/skills_manager.py会按固定模板渲染先追加SKILLS_PROMPT_HEADER\n\n# Available Skills\n\nYou have access to the following specialized skills. Follow their instructions when relevant:\n\n随后对每个技能依次追加## {name}、**Description**: {description}以及技能正文并以---分隔。也就是说本财务分析技能正文中的所有方法论、准则与输出要求最终会以结构化的纯文本提示词形式完整注入系统提示词从而约束 LLM 在相关任务上的行为。prompt_for_taskswarms/agents/skills_manager.py是统一入口传task时走动态加载不传时走静态全量加载。四、动态技能加载让 financial-analysis 在合适任务时被自动唤起SkillsManager实现了双 Tier 加载模型Tier 1 在内存中保留全部技能的 name/description 元数据Tier 2 仅在技能真正被需要时才加载完整正文。对于财务分析技能这意味着只有当用户任务与description足够相似时技能全文才会被加载从而节省上下文空间。动态加载由swarms/structs/dynamic_skills_loader.py中的DynamicSkillsLoader完成其匹配流程为_tokenize_text去除标点、转为小写后切词_create_embedding构建词频嵌入term-frequency embedding即词 → 出现次数的字典_cosine_similarity对任务文本嵌入与技能描述嵌入计算余弦相似度load_relevant_skills相似度 ≥similarity_threshold默认 0.3的技能被选中并按相似度从高到低排序返回。仓库示例agent_with_dynamic_skills.py展示了对本技能的直接验证它构造了一个包含 revenue growth, profit margins, ROI, financial projections, risk assessments, financial analysis 等关键词的任务文本动态加载会据此命中 financial-analysis 技能。注意similarity_threshold可通过SkillsManager(skills_dir..., similarity_threshold0.3)或DynamicSkillsLoader的工厂函数create_dynamic_skills_loader调整——阈值越低越容易命中技能、但误召概率上升阈值越高越精准、但可能漏召。此外DynamicSkillsLoader还提供get_skill_names(task)快速返回命中技能名、get_similarity_scores(task)返回所有技能与任务的相似度排序可用于调试技能是否被正确唤醒。五、结合测试验证技能的解析与集成仓库测试 tests/agents/test_skills_manager.py 针对真实文件系统验证了整套技能机制无 mock、无网络调用在 pytest 的tmp_path下构造真实技能目录与带 YAML frontmatter 的SKILL.md通过真实文件 I/O 验证load_metadata与load_full_skill动态加载路径经由真实的DynamicSkillsLoader对真实技能描述计算实际余弦相似度Agent 集成部分构造真实的swarms.Agent离线构建不调用.run()因此无需 API Key验证skills_dir、skills_metadata、handle_skills是否正确贯通到底层SkillsManager。这从工程上佐证了本文第二节所述的文件解析规则与第三节的挂载方式也是你编写、调试自定义技能时可直接复用的回归测试模板。运行方式按测试模块 docstringPYTHONPATH. python3 -m pytest tests/agents/test_skills_manager.py -v。六、把财务分析技能投入实战的完整流程综合仓库文档与源码一次完整的财务分析 Agent落地路径如下准备技能目录新建skills/目录为每项能力建立独立文件夹如skills/financial-analysis/并放入带 YAML frontmatter 的SKILL.md。直接复用本仓库的financial-analysis/SKILL.md即可获得一套完整的四步分析方法论按需选择加载方式静态加载构造 Agent 时不传 task全部技能注入系统提示词适合技能数量少、任务类型固定的场景动态加载传入任务文本仅加载相似技能节省上下文并避免无关指令干扰创建 Agent 并运行任务Agent(agent_nameFinancial Analyst, model_name..., max_loops1, skills_dirskills)随后agent.run(Analyze Teslas financials and provide a DCF valuation)依据关键输出清单验收对照执行摘要 / 详细模型 / 估值区间 / 投资建议 / 图表五项输出检查结果是否完整并结合敏感性分析与多方法交叉验证评估结论可靠性。七、小结financial-analysis 技能文件是 swarms Agent Skills 机制的一个典型且完整的样例它以namedescription提供可被检索与相似度匹配的技能身份以结构化正文定义数据校验 → 比率分析 → 估值建模 → 敏感性分析的四步方法论、五条工作准则、五项关键输出与三大应用场景。在仓库中它通过与SkillsManager、DynamicSkillsLoader、Agent(skills_dir...)的配合实现了任务到来 → 相似度匹配 → 技能全文注入提示词 → Agent 遵循方法论执行的完整闭环。你可以将其直接用于上市公司估值、一级市场尽调与并购分析也可以参照同一结构为其他领域编写自定义 SKILL.md。【免费下载链接】swarmsThe Enterprise-Grade Multi-Agent Orchestration Framework. Website: https://swarms.ai项目地址: https://gitcode.com/GitHub_Trending/swar/swarms创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
上一篇/下一篇内容由系统自动关联 返回资讯列表 →