← 返回 Skill 列表
extension
分类: 效率与办公API Key 暂未确认

银行理财资产配置技能

生成专业的银行客户资产配置书(Word .docx / .doc 文档),帮助客户经理为客户提供符合银行内控规范与资产配置理论的专业资产配置建议。

person作者: manchellehubModelScope

银行客户资产配置助手

生成专业的银行客户资产配置书(Word .docx / .doc 文档),帮助客户经理为客户提供符合银行内控规范与资产配置理论的专业资产配置建议。

工作前提与安全边界

  • 本技能仅服务于银行客户经理在行内合规场景下的资产配置书生成,服务对象是行内真实客户与其真实资产。
  • 不得将该能力用于获取非授权客户数据、规避合规审查或任何越权、欺诈或恶意用途。查询与使用客户信息必须遵循最小必要原则与行内数据安全规范。
  • 生成内容中涉及的任何收益率、利率、产品信息均须基于知识库/工具返回的真实行内数据,不得凭空捏造或编造数值。若数据缺失,应明确标注"数据缺失/待补充"并提示客户经理核实,而非虚构。

触发条件(自动识别)

主智能体必须自动识别以下所有用户输入模式,并立即启动本技能:

关键词识别(任意一条满足即触发)

  • "资产配置书"
  • "生成资产配置"
  • "资产配置分析"
  • "配置书"
  • "帮客户做资产配置"
  • "看看客户资产怎么分配"
  • "客户资产结构"
  • "资产配置建议"
  • "优化资产配置"
  • "资产配置方案"
  • "配置前后对比"
  • 给定具体客户资产数据(如"活期20万,定期50万...")

自然语言识别

  • 用户表达类似"帮我生成一份客户资产配置书"的意思
  • 用户要求"分析一下这个客户的资产情况"
  • 用户询问"这个客户应该怎么配置资产"

调用流程(主智能体必须执行)

【自动执行】当检测到上述任意触发条件时,直接执行以下流程,无需询问用户:
  1. 立即声明:

    正在使用 asset-allocation-assistant 技能为客户生成资产配置书...

  2. 收集客户信息:获取客户资产数据(若用户已提供则使用,若只有CustID则查询ESB接口)

  3. 解析模板:若有上传Word模板,直接读取 .docx 的 OpenXML 结构解析(禁止使用OCR),识别表格、图片、占位;具体见第 4 步

  4. 检索知识库:从"云岩支行资产配置理论知识库"获取配置理论、产品利率等

  5. 资产分析:分析资产结构,给出不合理预警

  6. 生成图表:绘制当前和优化后的资产配置饼状图

  7. 计算收益:计算配置前后的综合收益率

  8. 生成文档:复制模板为基底,在模板上原样填充内容生成 Word 配置书(完整保留模板的表格/图片/样式)

  9. 展示结果:将生成的配置书和饼状图交付给用户

核心工作流程

按以下顺序执行,灵活适配客户经理的实际输入(可能一次对话就带齐全部信息,也可能分步提供)。

第 1 步:收集客户身份标识

从客户经理对话中获取客户在我行的唯一标识,优先顺序:

  1. CustID 客户号(客户在我行的唯一标识)
  2. 客户身份证号

若客户经理尚未提供,请主动向客户经理索要:"请提供客户的 CustID 客户号(或身份证号),用于查询客户在我行的资产情况。"

注意:同一对话中可能已包含该标识,从上下文提取即可,避免重复询问。

第 2 步:自主调用工具查询客户全部资产

资产查询通过企业服务总线(ESB)接口进行,支持两种运行模式:

  • ESB 接口模式(真实接入):对接行内系统,通过 ESB 调用各类资产查询服务接口,获取客户真实资产数据。这是生产环境的默认模式。
  • 模拟 / Mock 模式(测试演示):在测试、演示或无真实接口环境下,使用符合行内数据结构规范的模拟数据返回客户资产信息,用于验证技能流程。模拟数据应显著标注"模拟/Mock 数据,仅供演示",不得与真实数据混淆或对外声称是真实数据。

技能运行前需确认当前所处模式(可通过环境配置、对话说明或可用工具来判断):

  • 若可调用真实 ESB 接口相关工具 → 使用真实接口模式。
  • 若仅存在模拟数据工具/接口或明确处于演示环境 → 使用模拟模式,并在配置书中标注数据性质。

具体执行(完全由大模型自主决策调用工具):

  • 大模型依据当前环境可用工具集,自主判断是走真实 ESB 模式还是模拟模式,并自主选择、自主编排要调用的客户资产查询工具(例如:客户资产总览查询、存款查询、理财持仓查询、代销产品持仓查询等),尽可能获取客户在我行的全部资产信息。
  • 实际的 ESB 接口请求(地址、报文、鉴权、参数)由被调用的工具自身完成并向模型返回结果;技能只负责决策规则与调用编排,不在技能内写死具体接口请求。
  • 资产类型包括但不仅限于:活期存款、定期存款、理财产品、代销理财资产、以及其它可查到的资产(如国债、基金、保险、大额存单等)。
  • 汇总所有工具返回结果为"客户资产总览数据",作为资产配置书的 客户资产总览 数据源。
  • 若某个资产类型查询失败或返回为空,如实记录,不要猜测补全。

第 3 步:检索知识库中的配置理论与产品资料

从知识库**"云岩支行资产配置理论知识库"中检索与本任务相关的非结构化文档**,用于资产配置书的理论基础与实操经验基础。使用 knowledge-base 技能完成检索、打开文档、文档内定位与思维导图查看:

  • 检索范围(在"云岩支行资产配置理论知识库"中检索):
    • 资产配置规则 / 银行资产配置制度文件
    • 资产配置理论(资产配置三角图 / 三角理论)
    • 标准普尔家庭资产配置理论
    • 家庭生命周期理论
    • 银行内部产品资料、银行产品利率
    • 历史优秀的资产配置案例(如有)

按 knowledge-base 技能使用方式,在"云岩支行资产配置理论知识库"中检索、打开并阅读相关文档;文档较长时按需读取(可使用文档内定位、思维导图),将要点吸收进配置书的分析部分。

第 4 步:实时解析客户经理本次上传的资产配置书模板(关键步骤)

核心要求:模板是客户经理实时上传的,每一位客户经理上传的模板都可能不同,甚至同一客户经理不同客户也会使用不同模板。因此技能必须对"本次实际上传的那份 Word 模板"进行动态解析与适配,绝不能绑定、套用或假设某个固定的模板结构。

4.1 模板解析工具选择(重要!)

解析 Word 模板必须直接读取 .docx 的 OpenXML 结构,禁止使用 OCR 工具!

原因:

  • OCR 会把 Word 文档"压平"成文本,无法识别表格结构、图片、合并单元格、页眉页脚、字体字号等样式信息,导致生成的成品与模板"长得不一样"。
  • 只有直接读取 .docx(zip + OpenXML)才能拿到表格、图片、样式、编号、嵌入字体的完整信息。

推荐的两条技术路径(按优先级):

  1. 原样填充路径(首选,最保真):直接复制模板文件,在副本上仅做最小改动(替换占位文本、插入饼状图、填写金额列)。因为基底就是模板本身,所以模板的表格、图片、页眉页脚、嵌入字体、样式、编号、版式 100% 原样保留。

    • 工具:python-docx(from docx import Document)
    • 本技能已内置通用脚本:scripts/fill_docx_template.py(可直接调用,见 4.5)。
  2. 结构分析 / 校验路径(辅助):使用 minimax-docx(基于 OpenXML SDK)分析模板结构、并在生成后校验文档合法性。

    • minimax-docx 依赖 .NET 运行时;若环境无 dotnet 且安装失败,不阻塞主流程——原样填充路径不依赖它(python-docx 足够)。
    • 需要时:dotnet run --project MiniMaxAIDocx.Cli -- analyze --input 模板.docx

4.2 原样填充流程(首选路径,保真度最高)

第一步:先"看清"模板结构(只读,不改动文件)

用 python-docx 逐块列出模板的段落、表格、图片,建立"填充地图":

from docx import Document
doc = Document("模板.docx")
# 段落与表格的先后顺序、表格行列、图片所在段落

重点关注:

  • 客户称呼段(形如"尊敬的…财富客户 ○○○ 先生/女士:")——姓名填在哪两个文本片段之间;
  • 诊断段落(形如"占比超 __%,目前转存收益率为 __%,综合收益率可达 __%,提升 __")——各空白占位;
  • "当前综合资产饼状图:""配置后综合资产饼状图:"两处标注——其后的空段落即图片落位;
  • "我们的建议"表——"配置金额(万元)"列与"合计"行;
  • 其余章节(银行简况、权益展示、产品一览表、服务承诺)——原样不动。

第二步:生成两张饼状图(当前结构 / 优化后结构),中文标签需指定 CJK 字体。

第三步:复制模板 → 最小改动填充 → 另存

用通用脚本一键完成(推荐):

python3 /home/gem/user-data/agents/skills/asset-allocation-assistant/scripts/fill_docx_template.py \
  --template "模板.docx" \
  --output   "客户XX资产配置书.docx" \
  --config   data.json \
  --chart-current   outputs/chart_current.png \
  --chart-optimized outputs/chart_optimized.png

脚本内部严格遵循三条铁律:

  1. 绝不新建/重建文档——shutil.copyfile(模板, 成品) 以模板为基底;
  2. 只动三类内容——替换占位文本、插入饼状图、填写金额列;
  3. 按内容特征定位——不写死段落/表格下标,模板变了也能适配,匹配不到则安全跳过。

第四步:校验:确认成品可正常打开、表格数/图片数与模板一致(模板原有图片 x 张 + 新增饼状图 2 张)、页脚与嵌入字体保留。

4.3 结构分析 / 校验(辅助,minimax-docx,可选)

仅当需要更严格的 OpenXML 结构核验,或模板含极复杂结构(多节、分栏、域代码)时使用:

# 结构分析(依赖 .NET;不可用时可跳过,不影响主流程)
cd /home/gem/user-data/agents/skills/minimax-docx/scripts/dotnet
export PATH="$PATH:$HOME/.dotnet"     # 若已安装 dotnet
dotnet run --project MiniMaxAIDocx.Cli -- analyze --input "模板.docx"
dotnet run --project MiniMaxAIDocx.Cli -- validate --input "成品.docx"

分析结果包含:段落数、表格数及行列、图片数、页眉页脚数、自定义样式、各 XML 体积——用于对照检查成品是否"原样复刻"。 (若 dotnet 无法安装,以 4.2 的原样填充为准,其保真度已足够,且不依赖 .NET。)

4.4 若客户经理未上传模板

若客户经理本次未上传模板,使用默认的资产配置书结构(见下文"默认配置书结构")生成。

第 5 步:客户资产分析与不合理预警

基于第 2 步获取的客户真实资产数据,结合第 3 步检索到的理论与行内配置规则:

  1. 资产结构分析:按资产类型统计各类资产在总资产中的占比与绝对金额。
  2. 资产分配不合理预警:对照行内配置规则 / 标准普尔理论 / 三角理论,识别客户资产分配中的不合理之处,例如:
    • 应急备用金(现金类)比例过高或过低
    • 保障类资产(保险)缺失
    • 收益型/投资型资产占比失衡
    • 单一资产过度集中、流动性不足
    • 偏离家庭生命周期阶段应有的配置重心 逐条给出明确、可读的预警描述。
  3. 理论映射分析:分别用资产配置三角理论与标准普尔家庭资产配置理论(参考家庭生命周期理论)对照客户现状,说明偏差与建议方向。

第 6 步:生成资产配置饼状图(配置前 / 配置后)

  • 当前资产配置饼状图:按客户现有资产类型(现金类、稳健型、收益型、保障型等分类)绘制饼状图。
  • 优化后资产配置饼状图:基于第 5 步的分析与理论建议,给出优化后的目标配置比例并绘制饼状图。
  • 两图并列展示,便于客户与客户经理直观对比。
  • 分类口径须与知识库中的行内配置理论保持一致。
  • 饼状图保存为 PNG 格式,后续需要插入到 Word 文档中。

第 7 步:收益率计算(配置前 vs 配置后)

  • 配置前资产综合收益率 = 利用客户现有各类资产余额 × 对应行内利率/产品收益率,加权计算得到综合收益率(资产收益率/总资产)。
  • 配置后资产综合收益率 = 按优化后的目标配置比例,结合各类资产的收益率,加权计算得到优化后的综合收益率。
  • 收益率数据一律取自知识库 / 工具中的真实行内利率与产品收益率;缺失时使用"数据缺失"占位并提示核实,不得虚构。

第 8 步:生成 Word 资产配置书

8.1 文档生成策略选择

总原则:有模板 → 在模板上"原样填充"(保真);无模板 → 从零创建。

策略A:客户经理上传了模板(首选)

  • 复制模板为基底,仅做最小改动(替换占位文本 / 插入饼状图 / 填写金额列),完整保留模板的表格、图片、页眉页脚、嵌入字体与样式。
  • 首选工具:python-docx + 本技能内置脚本 scripts/fill_docx_template.py(见第 4 步 4.2)。
  • 若 dotnet 可用,可额外用 minimax-docx 做结构分析 / 合法性校验(可选,非必需)。

策略B:客户经理未提供模板

  • 使用 minimax-docx 的 A 流水线(从零创建),或回退用 python-docx 按"默认配置书结构"生成。

8.2 有模板时的生成(原样填充)

python3 /home/gem/user-data/agents/skills/asset-allocation-assistant/scripts/fill_docx_template.py \
  --template "上传的模板.docx" \
  --output   "客户XX资产配置书.docx" \
  --config   data.json \
  --chart-current   outputs/chart_current.png \
  --chart-optimized outputs/chart_optimized.png

其中 data.json 内含:客户姓名、诊断段落各数值(占比/转存收益率/配置后收益率/提升)、配置金额(按推荐产品名)、合计。

若需自行编码,务必遵守:复制模板为基底 → 只改占位/图标/金额 → 按内容特征定位 → 不重建文档。

8.3 无模板时 / 依赖回退

  • 无模板:minimax-docx A 流水线(需 .NET);若 .NET 不可用,用 python-docx 按默认结构生成。
  • 有模板:不依赖 .NET,python-docx 原样填充即可,保真度最高。
  • 任何情况下都不得硬造或伪造文档产物;依赖缺失且无法安装时,如实告知用户。

第 9 步:验证与输出

  • 验证生成的 Word 文档可以正常打开
  • 检查内容是否完整填充
  • 检查饼状图是否正确插入
  • 输出最终的资产配置书给用户

默认配置书结构(未提供模板时)

# 客户资产配置书
## 一、客户基本信息
## 二、客户资产总览(含资产类型、金额、占比)
## 三、当前资产配置分析
    · 资产结构
    · 资产分配不合理预警
## 四、资产配置理论分析
    · 资产配置三角理论
    · 标准普尔家庭资产配置理论
    · 家庭生命周期适配分析
## 五、当前资产配置饼状图
## 六、优化后资产配置方案及饼状图
## 七、资产综合收益率对比(配置前 / 配置后)
## 八、综合对比总结与建议

输出格式

  • 最终交付物为 Word 文档(.docx)资产配置书,使用客户经理提供的模板结构(若无则用默认结构)。
  • 优先使用 minimax-docx 生成;若 minimax-docx 不可用,则回退到 python-docx。
  • 配置前后饼状图为图片形式,由技能制图后嵌入 Word 文档相应位置。
  • 饼状图可借助图形生成工具先出图(如客户资产配置各分类占比饼状图),再经 minimax-docx 嵌入文档。
  • 文档须结构清晰、表述专业,数值真实来自行内数据。

质量要求

  • 数据真实性:所有客户资产、利率、收益率必须来自工具与知识库的真实数据,绝不虚构。
  • 理论准确性:三角理论、标准普尔理论、家庭生命周期理论的表述须与知识库文档一致。
  • 模板遵循:有模板时复制模板为基底做原样填充,完整保留模板的表格、图片、页眉页脚、嵌入字体与样式,做到"原模原样";模板信息不足时才退回默认结构。禁止用 OCR 解析模板,禁止重建/套用固定模板。
  • 可读性:预警与建议用通俗、可执行的语言,让客户能看懂、客户经理能照做。

常用命令速查

# 1. 设置 .NET 环境
export PATH="$PATH:$HOME/.dotnet"
export DOTNET_CLI_TELEMETRY_OPTOUT=1

# 2. 分析模板结构
cd /home/gem/user-data/agents/skills/minimax-docx/scripts/dotnet
dotnet run --project MiniMaxAIDocx.Cli -- analyze --input /path/to/template.docx

# 3. 验证文档
dotnet run --project MiniMaxAIDocx.Cli -- validate --input output.docx

# 4. 对比修改前后
dotnet run --project MiniMaxAIDocx.Cli -- diff --before template.docx --after output.docx