ARTICLE DETAIL

资讯详情

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

FinRobot Financial Plan 技能实战指南:用 SKILL.md 驱动自动化财富规划工作流

FinRobot Financial Plan 技能实战指南:用 SKILL.md 驱动自动化财富规划工作流 人工智能AI Agent金融科技AI 应用大模型RAG【免费下载链接】FinRobotFinRobot: An Open-Source AI Agent Platform for Financial Applications using Large Language Models项目地址https://gitcode.com/GitHub_Trending/fi/FinRobot点击查看免费下载导读本文围绕 FinRobot 开源 AI Agent 平台中financial-plan这一财富管理wealth-management领域技能展开以 SKILL.md 为骨架完整讲解从客户端画像、现金流分析、退休预测到情景建模与建议输出的全流程方法论并结合 技能加载器、技能注册表 等源码说明一个 SKILL.md 如何被解析、索引、检索并在 Agent 运行时被激活。读完本文你将掌握 FinRobot 技能体系的结构规范、financial-plan的逐步骤实操要点以及如何通过 CLI 与 Agent 工具调用这套规划能力。一、认识 financial-plan 技能元数据与触发机制financial-plan是 FinRobot 平台中一组分析师作战手册analyst playbook之一。平台将专业方法论沉淀为一个个SKILL.md文件按业务条线分目录存放wealth-management条线下共 6 个技能除本文主角外还包括 client-report、client-review、investment-proposal、portfolio-rebalance、tax-loss-harvesting仓库中可逐一查看同目录下的 SKILL.md。该技能文件头部是一段 YAML frontmatter它决定了技能的身份、归属与触发方式--- id: financial-plan name: Financial Plan version: 1.0.0 author: anthropic domain: wealth-management description: Build or update a comprehensive financial plan covering retirement projections, education funding, estate planning, and cash flow analysis. ... triggers: - financial plan - retirement plan - can I retire - education funding - estate plan - cash flow analysis - plan update requires_data: [] requires_tools: [] requires_skills: [] compatible_models: [] ---各字段的含义与作用在 spec.py 的SkillPydantic 模型中有明确定义字段作用说明id技能唯一标识必填缺失会导致加载失败并抛出SkillLoadErrorname技能显示名必填如 Financial Planversion版本号缺省时默认1.0.0author作者缺省时默认unknowndomain所属业务条线如wealth-management缺省时默认generaldescription能力描述用于 LLM 上下文摘要与检索评分triggers触发关键词列表检索时匹配这些词可命中该技能requires_data/tools/skills依赖声明当前版本解析但不强制校验compatible_models兼容模型提示仅作信息性参考这段 frontmatter 对应requires_data、requires_tools等字段均为空列表说明该技能是纯方法论型技能——它本身不要求特定数据源或工具所有财务数据需由 Agent 在调用时从上游获取技能只负责提供分析与产出的框架。二、SKILL.md 如何被解析与索引源码级原理FinRobot 技能体系的核心加载逻辑在 loader.py 中实现其解析流程如下frontmatter 拆分_parse_frontmatter要求文件必须以---开头并在其后找到闭合的---中间内容用yaml.safe_load解析为字典找不到闭合符或 YAML 非法都会抛出SkillLoadError。必填字段校验load_skill检查id与name是否存在缺失即报错。描述提取_extract_description优先使用 frontmatter 中的description若缺失则回退到正文第一个非标题段落。模型化将解析结果构造为Skill对象其中full_content保存 frontmatter 之后的全部 Markdown 正文source_path记录文件路径。索引与检索由 registry.py 的SkillRegistry完成构造时递归扫描目录下所有**/SKILL.md即按skills/domain/skill-id/SKILL.md布局以id为键建索引单个技能解析失败不会导致整体崩溃而是记录 warning 并跳过——这正是 test_skill_registry.py 中跳过坏技能用例所验证的行为search(query)对技能按相关性打分排序名称命中 3、触发词命中 2、描述命中 1大小写不敏感该排序规则在源码注释中有明确说明list_summary()生成按 domain 分组的紧凑摘要供 LLM 在上下文窗口中快速浏览全部可用技能。针对financial-plan还有一点值得注意pipeline_methodology.py 为部分已知金融技能准备了管道安全pipeline-safe的精简方法论如 client-report、dcf-model 等而financial-plan不在该映射表中因此其渲染回退到原始full_content——即本文所讲解的这套完整工作流会原样注入给 Agent。三、Step 1客户端画像Client Profile——一切规划的起点任何一份财务规划都始于对客户现状的完整掌握。该步骤要求收集或确认以下八类信息每一条都是后续现金流与退休预测的输入参数人口统计Demographics年龄、配偶年龄、受抚养子女情况、预期寿命假设就业Employment当前收入、预期加薪幅度、目标退休年龄账户Accounts全部投资账户的余额与资产配置收入来源Income sources工资、奖金、租金收入、社保估算、养老金支出Expenses当前年度开支以及预期变化如按揭还清、子女独立负债Liabilities按揭贷款、学生贷款及其他债务保险Insurance寿险、伤残险、长期护理险LTC、医疗保险遗产Estate遗嘱、信托、受益人指定、赠与策略。实操提示这一步的信息完整度直接决定后续所有模型假设的可靠度。从源码结构看FinRobot 的 Agent 在收到用户自然语言请求如 can I retire后会通过 orchestrator.py 中的activate_skill工具加载技能内容再由模型依据技能模板逐项向用户询问或从已有资料中提取。四、Step 2现金流分析Cash Flow Analysis——逐年构建财务全景第二步要求建立年度现金流预测表文档给出了标准表格骨架YearAgeGross IncomeTaxesLiving ExpensesSavingsNet Cash Flow202645180,00042,00096,00042,0000202746185,40043,30097,90044,2000关键输入参数通胀率假设通常取 2.5%–3%用于将未来支出折算为现值税率需同时考虑边际税率与有效税率储蓄率与储蓄去向明确储蓄流向——税前pre-tax、Roth 账户还是应税账户这直接影响有效税负与退休资产的可税后购买力。从方法论的严谨性看该表每年一行的Gross Income → Taxes → Living Expenses → Savings → Net Cash Flow结构本质是为后续退休预测提供可持续的储蓄注入流量也是检验够不够花的第一道关卡。五、Step 3退休预测Retirement Projections——累积与支取双阶段建模累积阶段Accumulation Phase当前组合价值年度缴款401k、IRA、应税账户按资产类别区分的预期回报率蒙特卡洛模拟在不同支出水平下测算不把钱花光的成功概率。支取阶段Distribution Phase退休后年度所需开支今日币值 → 通胀调整后币值社保开始领取年龄与金额养老金收入如有组合支取率与支取顺序sequence of withdrawals最低分配要求Required Minimum Distributions, RMDs。关键输出退休时组合的预测价值可持续支取率Sustainable Withdrawal Rate不耗尽资金的成功概率目标 85%What if 情景提前退休、市场下跌、支出提高等。实践要点文档在 Important Notes 中特别强调对回报假设保持保守——高估回报只会带来虚假的信心并指出社保申领时点是一个主要杠杆——应分别建模 62、67、70 岁开始领取。这与 Step 3 的建模要求互为印证。六、Step 4目标专项分析Goal-Specific Analysis教育资金Education Funding子女年龄与目标入学时间当前 529 计划余额目标资助水平公立 vs 私立、本科 vs 研究生达成目标所需的月度储蓄额助学金financial aid考量。遗产规划Estate Planning当前遗产价值及预期增长遗产税敞口联邦与州已设立的信托结构赠与策略年度免税额、终身免税额的使用慈善捐赠计划受益人复核。风险管理Risk Management寿险需求分析收入替代、债务清偿、教育资金覆盖伤残险充足性收入中断时能否维持生活水准长期护理规划LTC 事件的资金安排伞式责任险Umbrella Liability大额责任敞口防护。七、Step 5情景建模Scenario Modeling——压力测试是优秀规划的分水岭文档要求对关键情景逐一跑数并给出了标准化对比表ScenarioProbability of SuccessPortfolio at 90NotesBase caseRetire 2 years early20% market drop in Year 1Higher spending (20%)One spouse lives to 95Long-term care event这六类情景覆盖了规划中最常见的不确定性来源退休时点、市场冲击、支出弹性、寿命假设与医疗事件。文档在 Important Notes 中给出的判断标准是一个只在基准情景下成立的计划不是好计划——始终要对计划做压力测试。八、Step 6建议输出Recommendations——按优先级排序的行动清单在完成全部建模后输出按优先级排列的行动项储蓄率调整资产配置调整税务优化Roth 转换、税收损失收割 tax-loss harvesting、资产放置 asset location待补齐的保险缺口遗产文件更新受益人指定复核。值得注意的是行动清单的顺序本身蕴含方法论先解决储蓄与配置这类基本盘再处理税务优化这一放大器最后落到保险与遗产等防守端。九、Step 7交付物Output——一份规划的最终形态该技能定义的交付物包括财务规划文档Word/PDF15–25 页现金流预测电子表格Excel退休预测图表目标资金分析情景对比表行动项核对清单。十、实战准则Important Notes——规划师级别的六条铁律文档以 Important Notes 收尾这六条准则既是给 LLM 的执行约束也是给使用者的质量标尺规划是活文档每年或重大人生事件后须复核更新回报假设要保守高估回报会带来虚假信心税务规划与投资收益同等重要每个建议都要建模其税务影响社保时点是大杠杆建模 62、67、70 岁三种开始领取时点务必做压力测试只在基准情景下成立的计划不算好计划合规底线确保建议符合适当性suitability与受托人fiduciary标准。十一、在 FinRobot 中调用这套技能CLI 与 Agent 工具通过 CLI 浏览与检索技能FinRobot 提供独立的finrobot命令行定义于 cli.py可管理全部技能finrobot skill list # 按 domain 分组列出所有技能 finrobot skill search retirement # 关键词检索命中 financial-plan 的触发词其中skill list遍历skills_dir由 config.py 配置运行时由default_skills_dir()解析构造SkillRegistry逐条输出[domain] id: nameskill search则调用registry.search(query)按名称/触发词/描述打分排序并显示匹配技能的前 120 字符描述。通过 Agent 工具激活技能在对话场景中orchestrator.py 暴露了activate_skill(skill_id)工具Agent 收到 financial plan、can I retire 这类请求后即可激活对应技能。其内部通过ctx.deps.skill_runtime.get(skill_id)从注册表取技能再经render_pipeline_methodology(skill)渲染后注入上下文——这就是触发词机制在运行时端到端生效的链路。技能的来源与扩展仓库中 scripts/convert_skills.py 演示了 SKILL.md 的标准生成方式它读取上游财务技能库支持无 frontmatter 的 Format A 与带 YAML frontmatter 的 Format B自动推导skill_id、domain、triggers统一写出为skills/domain/skill_id/SKILL.md并同步生成UPSTREAM_VERSION.txt用于溯源。这意味着financial-plan这类技能完全可通过同一管线持续更新或扩展为自定义版本。十二、质量保障单元测试如何守护技能体系技能体系的可靠性由两组单元测试兜底test_skill_loader.py验证合法 SKILL.md 能正确解析出全部字段、frontmatter 不会混入正文、缺失id/name时抛SkillLoadError、可选字段有默认值、无 frontmatter 或缺少闭合符时正确报错test_skill_registry.py验证注册表批量加载、坏技能跳过不崩溃、triggers类型错误如把列表写成字符串会被 Pydantic 校验拦截并跳过BUG-077 回归用例、搜索大小写不敏感、名称命中优先级高于描述命中、list_summary按 domain 分组输出。这些测试与 test-domain 夹具 一起构成了新建/修改一个 SKILL.md 之后至少能通过加载与检索的底线保障——如果你想为 FinRobot 增加新的规划类技能完全可以参照financial-plan的结构与这些测试来验证。结语financial-plan是一份教科书级的财富规划方法论从客户端画像出发经现金流与退休建模、目标专项分析、情景压力测试最终落到优先级行动清单与规范化交付物。在 FinRobot 中它通过标准化的 frontmatter 与 Markdown 正文承载方法论经由 loader → registry →activate_skill的链路在 Agent 运行时被按需激活。理解这一技能及其背后的机制你既可以直接用它驱动自动化财富规划工作流也可以举一反三地编写属于自己的 SKILL.md 技能。赞分享人工智能AI Agent金融科技AI 应用大模型RAG【免费下载链接】FinRobotFinRobot: An Open-Source AI Agent Platform for Financial Applications using Large Language Models项目地址https://gitcode.com/GitHub_Trending/fi/FinRobot点击查看免费下载相关推荐financial-services 财富管理模块解读基于 financial-plan 技能构建端到端财务规划工作流financial services 财富管理模块解读基于 financial plan 技能构建端到端财务规划工作流 financial plan 是 we人工智能AI 应用AI 技能/插件AI Agent金融科技FinRobot 财富管理技能实战基于 SKILL.md 的 Client Review Prep 客户会议筹备工作流FinRobot 财富管理技能实战基于 SKILL.md 的 Client Review Prep 客户会议筹备工作流 导读 本文以 FinRobot 开源项人工智能AI Agent金融科技AI 应用大模型RAGIstio Operator 完全指南IstioOperator API、Profiles 与 istioctl 安装/定制实战Istio Operator 完全指南IstioOperator API、Profiles 与 istioctl 安装/定制实战 本文以 Istio 仓库中的人工智能AI Agent金融科技AI 应用大模型RAG上一篇使用 Vercel 示例部署 Sanity Studio v2 博客内容工作室从 Schema 定义到本地开发与部署下一篇网络工具socat-windows跨平台数据转发技术全解析创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表