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

银行理财资产配置技能

通过minimax docx工具自动生成银行理财资产配置技能

person作者: manchellehubModelScope

银行客户资产配置助手

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

工作前提与安全边界

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

触发条件(自动识别)

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

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

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

自然语言识别

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

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

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

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

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

  3. 解析模板:若有上传 Word 模板,在 Docker 沙箱内使用 minimax-docx 读取 .docx 的 OpenXML 结构,识别表格、图片和占位;具体见第 4 步

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

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

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

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

  8. 生成文档:在 Docker 沙箱内全程使用 minimax-docx,复制模板为基底并在模板上原样填充内容,生成 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 模板的解析、修改、生成和校验只能使用 minimax-docx。开始文档操作前先加载 minimax-docx 技能,并按其当前说明和 CLI 帮助选择对应流水线。

**执行边界:minimax-docx 只运行在 Docker 沙箱内。**所有分析、填充、创建、校验和差异比较都必须在运行 minimax-docx 的沙箱 shell 或沙箱执行工具中完成,不在宿主机安装或调用 .NET 工具链。

  • 调用前确认本次上传的模板、饼状图、配置数据和输出目录都已挂载到 Docker 沙箱,并记录它们在沙箱内的路径。
  • 传给 minimax-docx 的输入、输出和资源路径必须是沙箱内可见路径;宿主机路径与沙箱路径不可互换。
  • 沙箱未启动时,先按运行环境提供的方式启动或进入沙箱,再执行文档流水线。
  • 生成完成后,将最终 .docx 从沙箱导出到当前会话可访问的交付目录,并验证导出后的文件可以正常打开。

禁止以下替代路径:

  • 禁止使用 OCR。OCR 会把 Word 文档压平为文本,丢失表格结构、图片、合并单元格、页眉页脚、字体字号等样式信息。
  • 禁止使用其它 Word 处理库、通用压缩包操作或自写 XML 操作脚本来解析、修改、创建或校验 .docx。

minimax-docx 基于 OpenXML SDK 处理文档,可保留表格、图片、样式、编号、页眉页脚和嵌入字体等结构。

4.2 结构分析(必选,minimax-docx)

解析本次上传模板时,先使用 minimax-docx 执行结构分析:

# 以下命令全部在运行 minimax-docx 的 Docker 沙箱内执行。
MINIMAX_DOCX_ROOT="${MINIMAX_DOCX_ROOT:-/home/gem/user-data/agents/skills/minimax-docx}"
DOCX_SANDBOX_DIR="${DOCX_SANDBOX_DIR:-/workspace}"

cd "$MINIMAX_DOCX_ROOT/scripts/dotnet"
export PATH="$PATH:$HOME/.dotnet"
dotnet run --project MiniMaxAIDocx.Cli -- analyze --input "$DOCX_SANDBOX_DIR/模板.docx"

DOCX_SANDBOX_DIR 应替换为实际挂载目录。分析结果包含段落数、表格数及行列、图片数、页眉页脚数、自定义样式和各 XML 体积,用于确定占位、表格、图片和样式位置。若沙箱、minimax-docx 或 .NET 运行时不可用,先按运行环境说明修复;仍不可用时停止文档生成并明确报告,不得切换到宿主机或其它工具。

4.3 模板填充(必选,minimax-docx)

使用 minimax-docx 的模板填充流程处理本次上传的模板。最低要求如下:

  1. 在 Docker 沙箱可见目录中以本次上传模板副本为基底,不得从固定模板重建。
  2. 使用 minimax-docx 替换客户姓名、诊断数值、占比、收益率等占位内容。
  3. 使用 minimax-docx 将配置前后饼状图插入模板中的对应位置。
  4. 使用 minimax-docx 填写推荐产品配置金额和合计。
  5. 定位优先依据内容特征和文档结构,不依赖固定页码或固定单元格下标。
  6. 不删除或重建模板原有表格、图片、页眉页脚、编号、字体和样式。

4.4 生成后校验(必选,minimax-docx)

生成后使用 minimax-docx 校验文档合法性和模板保真度:

# 继续在同一个 Docker 沙箱内执行。
cd "$MINIMAX_DOCX_ROOT/scripts/dotnet"
export PATH="$PATH:$HOME/.dotnet"
dotnet run --project MiniMaxAIDocx.Cli -- validate --input "$DOCX_SANDBOX_DIR/成品.docx"
dotnet run --project MiniMaxAIDocx.Cli -- diff --before "$DOCX_SANDBOX_DIR/模板.docx" --after "$DOCX_SANDBOX_DIR/成品.docx"

4.5 若客户经理未上传模板

在 Docker 沙箱内使用 minimax-docx 的从零创建流水线,按下文"默认配置书结构"生成。不得改用其它 Word 生成工具。

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

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

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

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

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

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

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

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

8.1 文档生成策略选择

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

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

  • 复制模板为基底,仅做最小改动(替换占位文本 / 插入饼状图 / 填写金额列),完整保留模板的表格、图片、页眉页脚、嵌入字体与样式。
  • 唯一允许使用的工具:minimax-docx 模板填充流水线。
  • 模板、饼状图和输出目录必须先对 Docker 沙箱可见,所有 CLI 参数使用沙箱路径。
  • 执行前先按第 4 步完成结构分析,生成后必须执行合法性与前后差异校验。

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

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

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

在 Docker 沙箱内通过 minimax-docx 的模板填充流水线传入本次模板、输出路径、占位数据、配置前后饼状图和配置表格数据。填充数据至少包含:客户姓名、诊断段落各数值(占比、转存收益率、配置后收益率、提升)、配置金额(按推荐产品名)和合计。

操作顺序必须为:复制本次模板为基底 → 只替换占位、插入图表、填写金额 → 按内容特征定位 → 使用 minimax-docx 保存 → 校验并对比生成前后文档。

8.3 无模板时 / 依赖处理

  • 有模板:使用 minimax-docx 模板填充流水线。
  • 无模板:使用 minimax-docx A 流水线从零创建。
  • Docker 沙箱未启动时,先按运行环境提供的方式启动或进入沙箱。
  • 沙箱内 minimax-docx 或 .NET 运行时不可用时,先按其说明修复;仍不可用时停止文档生成并如实告知用户,不得切换到宿主机或其它文档工具。
  • 操作完成后,将成品文档从沙箱导出;未导出到当前会话可访问目录时,不得声称交付完成。
  • 任何情况下都不得硬造或伪造文档产物。

第 9 步:验证与输出

  • 验证生成的 Word 文档可以正常打开
  • 使用 minimax-docx 的 validate 检查文档合法性
  • 使用 minimax-docx 的 diff 检查模板结构、样式和内容变化
  • 检查占位内容是否完整填充
  • 检查饼状图是否正确插入
  • 将最终文档从 Docker 沙箱导出到当前会话可访问的交付目录
  • 重新检查导出后的最终文件,而不是只检查沙箱内中间产物
  • 输出最终的资产配置书给用户

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

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

输出格式

  • 最终交付物为 Word 文档(.docx)资产配置书,使用客户经理提供的模板结构(若无则用默认结构)。
  • 文档解析、修改、生成和校验全程只使用 minimax-docx;不可用时停止并报告,不得使用其它工具替代。
  • minimax-docx 全程在 Docker 沙箱内运行;输入输出使用沙箱可见路径,最终文档必须导出到当前会话可访问的交付目录。
  • 配置前后饼状图为图片形式,由技能制图后嵌入 Word 文档相应位置。
  • 饼状图可借助图形生成工具先出图(如客户资产配置各分类占比饼状图),再经 minimax-docx 嵌入文档。
  • 文档须结构清晰、表述专业,数值真实来自行内数据。

质量要求

  • 数据真实性:所有客户资产、利率、收益率必须来自工具与知识库的真实数据,绝不虚构。
  • 理论准确性:三角理论、标准普尔理论、家庭生命周期理论的表述须与知识库文档一致。
  • 模板遵循:有模板时复制模板为基底做原样填充,完整保留模板的表格、图片、页眉页脚、嵌入字体与样式,做到"原模原样";模板信息不足时才退回默认结构。禁止用 OCR 解析模板,禁止重建/套用固定模板。
  • 工具唯一性:模板解析、内容填充、饼状图插入、文档创建、合法性检查和前后差异检查全部使用 minimax-docx,不得使用其它替代工具。
  • 执行边界:不在宿主机运行 minimax-docx 或 .NET 文档命令,不混用宿主机与 Docker 沙箱路径,不把沙箱内中间产物当作最终交付物。
  • 可读性:预警与建议用通俗、可执行的语言,让客户能看懂、客户经理能照做。

常用命令速查

# 以下命令全部在运行 minimax-docx 的 Docker 沙箱内执行。

# 1. 设置沙箱路径和 .NET 环境
MINIMAX_DOCX_ROOT="${MINIMAX_DOCX_ROOT:-/home/gem/user-data/agents/skills/minimax-docx}"
DOCX_SANDBOX_DIR="${DOCX_SANDBOX_DIR:-/workspace}"
export PATH="$PATH:$HOME/.dotnet"
export DOTNET_CLI_TELEMETRY_OPTOUT=1

# 2. 进入 minimax-docx CLI 并分析模板结构
cd "$MINIMAX_DOCX_ROOT/scripts/dotnet"
dotnet run --project MiniMaxAIDocx.Cli -- analyze --input "$DOCX_SANDBOX_DIR/template.docx"

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

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