
“周志”这个词最初看到时我以为是某位同事的名字后来才知道这是一个贷后管理项目的代号也可以理解为“周度业绩日志”的简称。项目并不复杂但有一个很有代表性的矛盾流程本身非常成熟话术模板、客户分级、催收节奏、日报汇总每一个环节都有固定做法可真正执行起来却极其依赖人工。每天打开Excel登记客户、翻模板改沟通话术、打几十通电话后凭记忆补录记录、下班前再手动汇总数据写日报——这些事情占掉了一大半的精力真正需要人决策的部分反而没时间想。这篇博客就围绕一个真实可落地的场景展开用华硕弘道AI笔记本作为运行底座把“客户导入 → 自动分级 → 话术生成 → 通话复盘 → 周报输出”这条催收工作流完整搭建起来。需要先给出一个明确判断这类AI PC真正带来的不是硬件性能上的简单升级而是把大模型从云端搬到了本地方案里让催收这类高敏感业务可以在数据不出本机的前提下跑起一套自己的AI工作流。全文会分成四个部分来看先讲清楚为什么催收业务需要AI工作流、AI工作流和传统流程引擎有什么区别然后在华硕弘道AI笔记本上部署本地大模型环境接着用一个完整示例把催收工作流的每一个环节用代码落实最后给出常见问题、合规边界和工程建议。整个过程不涉及复杂架构一台AI笔记本加几个Python脚本就能跑通。1. 这篇文章真正要解决的问题先聊聊为什么催收团队特别需要AI工作流。传统催收流程表面上是一套“标准化动作”客户逾期后先进入短信提醒阶段然后电话沟通再根据客户反馈决定是否寄送函件、是否协商还款方案。但真正干过贷后管理的人都知道这套标准动作在落地时非常依赖人的经验。客户分级是否准确、话术是否踩到合规红线、通话记录是否完整、每日数据是否及时汇总稍有不慎就会出问题。实际中痛点集中在四个环节。第一是客户分级Excel里几千行数据要看逾期天数、金额、历史还款行为纯靠人工筛选分类效率低而且口径容易不统一。第二是话术生成虽然公司有统一模板但不同客户的情况差异很大一个逾期5天的客户和一个逾期120天的客户沟通策略完全不一样每次都要人工去调话术。第三是通话复盘打完电话要写沟通记录、提取客户承诺还款日期、识别风险客户这些靠回忆和手打有时候打完几十通电话再看记录根本记不全。第四是日报汇总催收员每天下班前要整理当天联系了多少人、有效沟通多少人、承诺还款多少笔这些统计数据手动统计既费时间又容易出错。AI工作流能改变的正是这四个低效环节。它的核心不是“无人化”而是“把AI能力嵌入到业务流程的每一个步骤里”让AI做分类、起草、摘要、汇总让人类做判断、审核、决策。过去要实现这种效果要么买一套昂贵的业务系统要么自己搭服务器部署模型中小团队基本没有这个条件。华硕弘道AI笔记本这类设备出现以后门槛被大幅拉低。它搭载的Intel Core Ultra处理器内置了NPU可以在本地运行大模型配合Ollama等工具一台笔记本就能充当AI推理服务器。催收数据不需要上传到任何云端服务敏感信息始终在本地处理。也就是说中小催收团队不需要独立机房不需要高端GPU服务器用一台商用AI笔记本就能把工作流跑起来。什么人适合读这篇文章如果你正在做贷后管理、金融客服或者要给团队搭建一套带AI能力的业务辅助工具这篇文章可以直接作为落地参考。如果你只是对AI PC感兴趣也可以从中看到一个真实的端侧AI应用场景——不是跑分测试不是聊天机器人而是实实在在嵌入业务流的工程实践。2. 基础概念AI工作流、端侧AI与商用AI笔记本“工作流”这个词在技术圈有很多含义。在BPM领域它往往指流程引擎比如Flowable、Activiti强调审批节点、状态流转、任务分配是一种“流程自动化”工具。但这里要说的AI工作流是另一回事它以大模型为核心把业务流程拆解成多个步骤每一步由AI承担文本生成、分类、摘要、抽取等任务再由脚本把步骤串起来。以催收场景为例传统工作流引擎擅长管理“催收任务从A部门流转到B部门”的审批流程AI工作流擅长的是“根据客户数据生成一条合规话术”“把一段通话转成结构化记录”“把一周的数据汇总成报告”。前者解决流程管理后者解决内容生产。两者可以结合但对于中小团队先用好AI工作流就能解决大部分效率问题。再来看端侧AI。端侧AI是指在本地设备上运行AI模型而不是把数据发送到云端接口。它依赖两个条件硬件上有足够算力软件上有推理框架。华硕弘道AI笔记本的思路很明确用Intel Core Ultra处理器里的NPU承担AI运算CPU和GPU作为辅助再配合Ollama这类推理框架就能在本地运行7B参数级别的开源大模型。跑一个7B模型量化之后大概占用4到6GB内存32GB内存的笔记本运行起来没有任何压力。选择本地模型而不是云端API对催收业务有非常现实的意义。催收数据涉及客户姓名、电话、欠款金额、还款行为属于敏感个人信息。按照个人信息保护的要求这类数据在上传外部服务之前必须做严格评估。本地部署意味着数据从头到尾不出这台电脑合规压力小很多。另外催收团队经常需要批量生成话术如果按API调用次数付费每天几百次调用也是一笔不小成本本地部署只有电费没有按量计费的问题。华硕弘道AI笔记本在整个方案里扮演的角色可以理解为一个“端侧AI工作站”。它不需要连接外网调用模型不需要把业务数据传到第三方平台所有处理都在本地完成。它内置的“AI专属键”可以一键唤起AI助手快速完成文档处理、会议摘要、内容总结等日常任务配合AI视频会议、AI降噪等功能在团队远程同步场景下也比较实用。不过文章的核心还是把它当作工作流的运行底座用代码把流程真正跑通。下面用一张表来对比传统工作方式和AI工作流的差异环节传统做法AI工作流做法时间对比以千条数据为例客户分级人工在Excel里筛选、判断脚本自动清洗数据并调用模型分类数小时 → 数分钟话术生成复制模板、逐条修改模型按客户画像生成个性化话术半小时 → 5分钟通话记录打完电话后手工录入模型根据通话文本生成结构化摘要1小时 → 5分钟数据汇总手动统计、粘贴进Excel脚本自动聚合生成Markdown报告半小时 → 即时3. 需求设计与工作流整体方案在写代码之前先把整个催收工作流的需求拆清楚。这个项目叫“周志”我们把它定义成一个以周为周期运行、自动生成“业绩日志”的贷后管理辅助工作流。它的输入是一堆客户数据输出是一份周报和一批可执行的催收任务。流程分成五个环节。第一个环节是数据导入。催收团队每天会从业务系统导出一份客户清单包含客户ID、姓名、手机号、欠款金额、逾期天数、最近还款日期等字段。这份Excel数据质量参差不齐有的字段是空值有的日期格式不统一需要先做清洗。第二个环节是客户分级。按照逾期天数、欠款金额、历史联系情况把客户分成A到D四个等级。不同等级的客户对应不同的催收频率和沟通策略。分级规则可以写死在脚本里也可以用AI模型来做辅助判断但为了稳定性和可解释性建议先用规则处理规则覆盖不了的边界情况再交给模型。第三个环节是话术生成。这是整个工作流中AI价值最明显的部分。给模型传入客户等级、逾期天数、欠款金额、历史沟通记录摘要让它生成一段合规的沟通话术。关键约束是不能出现威胁性语言、不能泄露债务信息给第三方、必须包含还款方案引导。模型生成之后必须由催收员审核再使用。第四个环节是通话复盘。电话沟通结束后催收员把通话转写的文本粘贴到一个文本文件里脚本调用本地模型生成结构化摘要包括客户还款意愿、承诺还款金额、承诺还款日期、风险提示。这个环节在很多团队里是纯手工完成的AI的提效作用最直接。第五个环节是报表输出。脚本汇总本周的分级结果、通话记录、承诺还款情况生成一份Markdown格式的周报方便团队负责人快速查看整体进展。周报只需要编写不需要用邮件系统自动发送减少系统对接成本。整个工作流的角色设计是AI负责清洗、分类、起草、摘要、汇总人类负责导入数据、审核话术、执行电话沟通、确认最终方案。人不被AI替代但重复劳动被显著压缩。4. 环境准备在华硕弘道AI笔记本上部署本地AI环境本节开始进入实操。先说明一下以下版本和命令以当前主流的开源工具链为例实际操作中版本会有更新本文的重点是演示通用思路版本号不必纠结只要保证兼容性即可。4.1 硬件与系统要求操作系统Windows 11 或 Ubuntu 22.04 均可以。处理器Intel Core Ultra系列带NPU华硕弘道B系列、B9等商用机型均可。内存建议16GB以上32GB更稳妥。硬盘建议固态硬盘预留至少20GB空间存放模型文件。网络首次下载模型需要联网之后日常运行可以完全离线。需要特别说明“NPU”是什么它是神经处理单元专门用来加速AI推理计算的芯片。在Intel Core Ultra处理器上NPU可以和CPU、GPU协同工作跑大模型推理时能降低CPU占用和整机功耗。在接下来的示例中我们用CPU也能跑但NPU的存在让推理更顺滑、续航更好。4.2 安装Ollama并下载模型Ollama是目前最简单易用的本地大模型运行工具支持Windows和macOS。到官网下载安装包安装完成后打开命令行工具执行下面的命令ollama --version确认安装成功之后拉取一个适合文本生成的开源模型。对于催收话术生成这类任务Qwen2.5 7B是一个不错的选择中文能力强、显存占用适中ollama pull qwen2.5:7b这个模型的大小约为4GB到6GB下载时间取决于网速。下载完成以后可以做一次最简单的验证ollama run qwen2.5:7b 请用一句话说明什么是催收如果模型能正常输出中文内容说明本地推理环境已经就绪。4.3 安装Python依赖工作流脚本用Python编写需要安装以下几个库。建议使用虚拟环境避免和系统环境冲突mkdir -p weekly-collection-workflow cd weekly-collection-workflow python -m venv venv source venv/bin/activate # Windows下执行 venv\Scripts\activate pip install pandas openpyxl requests各库的作用库名用途pandas读取和清洗Excel客户数据openpyxlpandas读写Excel所需的引擎requests调用Ollama本地API4.4 验证本地APIOllama启动后默认在本地11434端口提供HTTP API。可以用一条命令验证API是否可用curl http://localhost:11434/api/generate -d { model: qwen2.5:7b, prompt: 你好, stream: false }如果返回的JSON里包含response字段说明API就绪。Python脚本后续会通过这个接口调用本地模型。5. 核心实现从脚本到工作流环境准备好以后开始编写工作流的核心脚本。整个代码按模块拆分成四个文件每个文件对应一个环节职责清晰方便单独调试。weekly-collection-workflow/ ├── prepare_data.py # 环节1数据清洗与客户分级 ├── gen_talk.py # 环节2话术生成 ├── gen_summary.py # 环节3通话摘要与待办提取 ├── gen_report.py # 环节4周报生成 ├── data/ │ ├── customers.xlsx # 客户数据演示用 │ ├── calls/ # 通话转写文本存放目录 │ └── output/ # 输出目录5.1 数据清洗与客户分级第一个文件prepare_data.py负责读取Excel客户数据完成基础清洗然后按规则把客户分成A到D四个等级。分级规则设计如下等级条件策略建议A高优逾期天数 90 或 欠款金额 50000电话函件2天内必联B中优逾期天数 30 且 90电话为主3天内必联C关注逾期天数 7 且 30短信电话提醒D常规逾期天数 7短信提醒即可# 文件路径weekly-collection-workflow/prepare_data.py import pandas as pd from datetime import datetime INPUT_FILE data/customers.xlsx OUTPUT_FILE data/output/customers_classified.xlsx def classify_customer(row): overdue_days row.get(overdue_days, 0) amount row.get(amount, 0) if overdue_days 90 or amount 50000: return A elif overdue_days 30: return B elif overdue_days 7: return C else: return D def main(): df pd.read_excel(INPUT_FILE, engineopenpyxl) # 基础清洗日期列转为标准格式欠款金额转成数值 df[last_payment_date] pd.to_datetime(df[last_payment_date], errorscoerce) df[amount] pd.to_numeric(df[amount], errorscoerce).fillna(0) df[overdue_days] pd.to_numeric(df[overdue_days], errorscoerce).fillna(0) # 删除关键字段为空的行 df df.dropna(subset[customer_id, customer_name, mobile]) # 客户分级 df[level] df.apply(classify_customer, axis1) # 按等级和逾期天数排序方便催收员优先处理高优客户 level_order {A: 0, B: 1, C: 2, D: 3} df[level_order] df[level].map(level_order) df df.sort_values([level_order, overdue_days], ascending[True, False]) df df.drop(columns[level_order]) # 输出 df.to_excel(OUTPUT_FILE, indexFalse, engineopenpyxl) print(f处理完成共 {len(df)} 条客户数据输出到 {OUTPUT_FILE}) # 打印分级统计 print(df[level].value_counts().to_string()) if __name__ __main__: main()关键逻辑说明pd.to_datetime和pd.to_numeric用于清洗数据避免脏数据导致后续脚本报错。分类函数用规则实现逻辑简单、结果可解释方便团队统一口径。输出前按等级和逾期天数排序催收员直接打开Excel就能从最紧急的客户开始处理。运行方式python prepare_data.py预期输出处理完成共 1000 条客户数据输出到 data/output/customers_classified.xlsx A 120 B 280 C 420 D 1805.2 调用本地大模型生成合规话术第二个文件gen_talk.py读取步骤5.1生成的客户分级结果为指定客户生成一条合规沟通话术。这里需要设计一个合理的提示词。提示词对输出质量的影响非常大尤其要强调合规边界。我们给模型传入客户等级、逾期天数、欠款金额和一个“合规要求”让它输出一段口语化、有温度、不含威胁语的沟通话术。# 文件路径weekly-collection-workflow/gen_talk.py import json import requests import pandas as pd OLLAMA_URL http://localhost:11434/api/generate MODEL_NAME qwen2.5:7b # 不同客户等级的沟通重点 LEVEL_GUIDE { A: 客户逾期较久或金额较大需要明确还款方案和逾期后果但语气必须冷静、专业不得威胁或辱骂。, B: 客户属于中期逾期需要了解逾期原因引导客户提出明确的还款计划。, C: 客户刚逾期不久重点是提醒还款并确认客户是否遇到困难。, D: 客户逾期时间短主要以友善提示为主避免造成心理压力。, } def generate_talk(level, overdue_days, amount, customer_name): guide LEVEL_GUIDE.get(level, ) prompt f你是一名银行贷后管理客服需要给逾期客户打电话沟通还款事宜。 客户信息如下 姓名{customer_name} 逾期天数{overdue_days}天 欠款金额{amount}元 客户等级{level} 沟通要求 {guide} 请生成一段开场白和核心沟通话术要求 1. 语气温和、专业不得出现威胁、恐吓、辱骂词汇 2. 向客户说明逾期状态并主动询问逾期原因 3. 引导客户说出可承受的还款金额和还款时间 4. 不泄露客户隐私不提及其他第三方 5. 字数控制在150字以内。 payload { model: MODEL_NAME, prompt: prompt, stream: False, temperature: 0.7, } resp requests.post(OLLAMA_URL, jsonpayload, timeout120) resp.raise_for_status() data resp.json() return data[response].strip() def main(): df pd.read_excel(data/output/customers_classified.xlsx, engineopenpyxl) # 取前3条客户作为示例实际可以处理所有行 sample df.head(3) for _, row in sample.iterrows(): print( * 50) print(f客户{row[customer_name]}等级{row[level]}逾期{row[overdue_days]}天) print(- * 50) talk generate_talk( levelrow[level], overdue_daysrow[overdue_days], amountrow[amount], customer_namerow[customer_name], ) print(talk) if __name__ __main__: main()运行之前确保Ollama已经在后台运行。如果Ollama没有启动调用requests.post会直接报连接错误。运行方式python gen_talk.py预期输出示例模型输出会有差异 客户张三等级A逾期120天 -------------------------------------------------- 您好请问是张三先生吗我是XX银行贷后管理部门的客服人员。今天联系您是想和您确认一下您名下一笔贷款已经逾期120天的情况。我们理解您可能遇到了一些困难所以想了解一下具体原因。这个逾期状态如果持续下去会对您的个人信用记录产生比较明显的影响。您方便和我聊一下目前的情况吗如果压力比较大我们可以一起商量一个您能承受的还款方案。这里有一个很重要的提醒模型生成的内容只能作为参考草稿必须在人工审核确认之后才能使用。原因是任何大模型在业务场景中都可能出现幻觉比如编造还款政策、承诺不存在的减免方案。这一步省不了。5.3 通话记录摘要与待办提取第三个文件gen_summary.py处理催收员通话后的复盘环节。催收员把通话转写的文本保存成一个txt文件脚本读取后调用本地模型生成结构化摘要包括客户还款意愿、承诺还款日期、风险提示、下一步待办。# 文件路径weekly-collection-workflow/gen_summary.py import json import requests from pathlib import Path OLLAMA_URL http://localhost:11434/api/generate MODEL_NAME qwen2.5:7b CALLS_DIR Path(data/calls) OUTPUT_DIR Path(data/output/summaries) OUTPUT_DIR.mkdir(parentsTrue, exist_okTrue) def summarize_call(call_text: str) - str: prompt f你是一名贷后管理团队的助理需要把一段电话录音的转写文本整理成结构化沟通摘要。 通话文本如下 {call_text} 请从以下维度输出 1. 客户当前还款意愿高/中/低 2. 客户承诺还款金额元 3. 客户承诺还款日期具体日期或未承诺 4. 客户逾期的主要原因 5. 风险提示例如客户失联、拒绝沟通、情绪激动等 6. 下一步建议动作 要求简洁、客观不要主观编造只根据通话文本提取信息。 payload { model: MODEL_NAME, prompt: prompt, stream: False, temperature: 0.3, } resp requests.post(OLLAMA_URL, jsonpayload, timeout120) resp.raise_for_status() return resp.json()[response].strip() def main(): # 处理data/calls目录下所有txt文件 for txt_file in CALLS_DIR.glob(*.txt): call_text txt_file.read_text(encodingutf-8) print(f正在处理{txt_file.name}) summary summarize_call(call_text) out_file OUTPUT_DIR / f{txt_file.stem}_summary.md out_file.write_text(summary, encodingutf-8) print(f摘要已保存到{out_file}) print(- * 50) if __name__ __main__: main()通话转写文本从哪里来催收员使用的电话系统通常提供录音转写功能导出文本后放到data/calls目录即可。这里给出的示例是验证流程用的实际操作时需要和团队现有的录音系统做对接。预期的摘要输出类似这样1. 客户当前还款意愿中 2. 客户承诺还款金额2000元 3. 客户承诺还款日期2025-06-15 4. 客户逾期的主要原因做生意资金周转困难 5. 风险提示客户表示近期收入不稳定存在二次逾期风险 6. 下一步建议动作6月15日前电话确认客户是否完成还款如未还款按B类客户标准安排第二次跟进。5.4 自动生成日报和周报最后一个脚本gen_report.py把前面的处理结果汇总成一份Markdown周报。它读取客户分级结果、通话摘要目录按照周维度统计关键指标。# 文件路径weekly-collection-workflow/gen_report.py import pandas as pd from pathlib import Path from datetime import datetime CLASSIFIED_FILE data/output/customers_classified.xlsx SUMMARY_DIR Path(data/output/summaries) REPORT_FILE data/output/weekly_report.md def main(): df pd.read_excel(CLASSIFIED_FILE, engineopenpyxl) total len(df) level_counts df[level].value_counts().to_dict() total_amount df[amount].sum() # 统计通话摘要中有承诺还款的客户数量 commitment_count 0 risk_count 0 for md_file in SUMMARY_DIR.glob(*_summary.md): content md_file.read_text(encodingutf-8) if 承诺还款金额 in content: commitment_count 1 if 风险提示 in content and (失联 in content or 拒绝沟通 in content or 情绪激动 in content): risk_count 1 now datetime.now().strftime(%Y-%m-%d %H:%M) lines [] lines.append(# 催收工作周报) lines.append() lines.append(f 生成时间{now}) lines.append() lines.append(## 一、总体数据) lines.append() lines.append(f- 本周处理客户总数{total}) lines.append(f- 欠款总额{total_amount:,.2f} 元) lines.append() lines.append(## 二、客户等级分布) lines.append() lines.append(| 等级 | 客户数 | 占比 |) lines.append(| --- | --- | --- |) for level in [A, B, C, D]: count level_counts.get(level, 0) percent count / total * 100 if total else 0 lines.append(f| {level} | {count} | {percent:.1f}% |) lines.append() lines.append(## 三、跟进情况) lines.append() lines.append(f- 已完成通话摘要{len(list(SUMMARY_DIR.glob(*_summary.md)))} 条) lines.append(f- 有承诺还款记录{commitment_count} 条) lines.append(f- 有风险提示记录{risk_count} 条) lines.append() report \n.join(lines) Path(REPORT_FILE).write_text(report, encodingutf-8) print(f周报已生成{REPORT_FILE}) print(report) if __name__ __main__: main()运行方式python gen_report.py预期输出是一份Markdown格式的周报可以直接复制到团队文档或企业微信群里。数据汇总部分完全省掉了人工统计。6. 运行结果与效果验证整个工作流跑完之后有两个层面的验证业务层面是否真正能帮到催收团队技术层面是否稳定可靠。从业务角度看最直观的变化是催收员的工作内容发生了肉眼可见的转移。原来每天要花一两个小时做客户分类和话术修改现在变成打开Python脚本跑一遍、在输出Excel里筛选高优客户、把生成的话术草稿稍微调整就能用。通话记录从“打完电话再写”变成“粘贴转写文本等AI生成摘要”。数据汇总从下班前手忙脚乱变成一条命令输出周报。从技术角度看需要验证以下几点客户分级是否符合规则。可以随机抽取一些分级结果和人工判断做对比避免规则写错导致分类偏差。话术生成是否踩线。重点检查生成内容里有没有“再不还钱就起诉你全家”“联系你单位”之类的高风险表述。如果出现需要修改提示词增加更强硬的禁止性描述。通话摘要是否准确。摘要里的“承诺还款金额”“承诺还款日期”必须从通话文本中有依据不能凭空生成。建议抽检一批摘要核对原文本。脚本运行是否稳定。确认脚本在无人值守下能跑完整个流程不会因为某一行的脏数据中断。如果验证中发现AI输出质量不稳定通常不是笔记本性能问题而是提示词设计问题。提示词要具体、有约束条件、给出输出格式要求并且对禁止内容做显式说明。7. 常见问题与排查思路在实际搭建过程中会遇到一些比较典型的问题。下面整理成表格便于排查。问题现象可能原因排查方式解决方案Ollama启动后本地API无法访问服务未启动或端口被占用运行ollama list确认服务状态netstat -anofindstr 11434查看端口首次运行脚本报连接错误Python里Ollama URL配置错误检查OLLAMA_URL是否为http://localhost:11434/api/generate确认Ollama监听端口改为实际端口模型生成话术出现不合规表述提示词中合规约束不够强输出生成内容检查是否有威胁、恐吓词语在提示词中增加禁止性描述如“严禁出现威胁、恐吓、辱骂词汇”Excel中文乱码编码问题检查输入文件编码使用UTF-8编码的CSV或在pandas中指定encodingutf-8模型推理速度偏慢模型未充分利用NPU或内存不足打开任务管理器查看CPU/内存占用确认使用ollama run qwen2.5:7b关掉无关程序优先用8B以下模型通话摘要内容偏离原文提示词过于开放模型自行发挥对照原始转写文本检查摘要在提示词中增加“只根据通话文本提取信息不得主观编造”脚本处理到一半报错客户数据中含异常值查看报错栈定位具体行在清洗步骤增加更多容错处理如errorscoerce周报数据统计为0摘要文件没有生成或读取目录错误检查data/output/summaries目录下是否有文件确认先运行gen_summary.py再运行gen_report.py补充一个容易忽略的问题如果你在用笔记本电脑的NPU跑本地模型但Ollama默认可能只用CPU或GPU不一定自动启用NPU。想要确认实际使用情况可以观察任务管理器里的NPU占用率或者查看Ollama的日志。启用NPU的具体方式与Ollama版本和驱动版本有关不同版本可能略有差异建议以官方文档为准。这个不做深究也不影响整体流程跑通。8. 最佳实践与工程建议到这里一套能在华硕弘道AI笔记本上跑通的催收AI工作流已经完成了。但现实中真正重要的是把这套东西放到业务里去用还要用得好、不踩坑。下面给几个工程层面的建议。8.1 把合规红线写进提示词和审核流程催收业务最大的风险不是技术风险而是合规风险。AI生成的话术如果出现威胁、辱骂、泄露债务人信息、骚扰第三人等行为不仅违反监管规定还可能带来法律后果。因此提示词里必须写清楚禁止性要求业务上必须设置人工审核环节。建议所有AI生成的话术模板都配上“审核人”和“审核时间”字段做到可追溯。更稳妥的做法是建立一份“违禁词表”在话术输出后用脚本做一次自动检查命中违禁词的直接拦截不允许进入发送环节。8.2 分级规则优先用确定性逻辑客户分级这类对准确率要求高的环节优先使用确定性规则而不是让AI判断。原因是规则脚本有明确的可解释性为什么这个客户是A级因为逾期90天以上。责任人可以去核对规则。如果用AI做分类虽然也能做但模型输出不稳定一旦出错还要花时间解释“为什么模型把这个人分到C级”。更合理的策略是规则能做的用规则规则做不了的边界场景再交给AI。话术生成、摘要提取这种没有唯一正确答案的内容生产任务才适合交给大模型。8.3 模板和提示词要版本化管理提示词本质上是业务逻辑的一部分。同一个工作流话术风格调整、合规要求变化最终都要改提示词。建议把每一个提示词模板存成独立的文本文件放在prompts/目录下面用文件名和修改时间做版本记录。出问题的时候能快速回退到上一版。不要让提示词散落在代码里。8.4 数据安全与最小权限催收客户数据是典型的敏感个人信息。这些数据只应该存储在受控的电脑上脚本运行过程不做数据外传。Ollama的运行完全本地这一点已经保障了数据主体不出本机。但还要注意不要让团队成员随便复制包含客户信息的Excel文件到U盘或网盘操作数据库时如果涉及更新要在测试环境验证并保留备份。无论笔记本的AI能力多强大数据权限管理仍然是底线。8.5 适度扩展从脚本工作流到平台化脚本工作流的好处是轻量、直观、可调试缺点是当团队人数变多、流程变复杂之后维护成本会上升。后续可以考虑把脚本串成Dify、n8n这类可视化AI工作流平台把节点界面化让业务人员也能参与配置。或者用Flowable等流程引擎把AI能力和任务审批结合起来做成完整的贷后管理系统。这些都是后续演进方向但从现在的脚本版开始已经能明显感受到效率提升。9. 总结与后续学习方向回到标题的问题用华硕弘道AI笔记本搭建催收工作流到底是什么体验体验的核心在于“边界”二字。过去想跑AI工作流要么把客户数据传到云端API要么自己买GPU服务器前者有合规顾虑后者有成本压力。华硕弘道AI笔记本的出现把这两者都解决了数据留在本机模型在本地推理交付形态只是一台商用笔记本加一个Python脚本。它让一个十几人的催收团队也能用上“私有化大模型”而不需要任何基础设施团队。从技术实现的角度看整套工作流其实不复杂。Ollama提供了模型运行环境Python脚本做了业务编排华硕弘道AI笔记本提供了算力底座。真正需要花心思的是业务拆解哪些环节适合交给AI哪些环节必须由人来判断。这个判断准确了AI工作流的价值就会自然浮现。下一步如果继续深入可以从两个方向走方向一是把工作流平台化用Dify、n8n或Flowable把脚本升级成可视化流程让非技术人员也能调整流程节点方向二是结合华硕AI助手、AI视频会议这些端侧能力把会议记录、文档总结也纳入到日常工作流里让笔记本的AI能力覆盖更多业务场景。建议先把今天这套脚本在真实的客户数据上跑一遍用两周时间积累运行反馈再逐步优化提示词和分级规则。工具本身不是一个解决问题的魔法真正有效的是把工具放到一个具体业务流程里持续打磨的过程。