团队项目第一次作业

基于 Agent 协同与本地持久化的智能企业费控管理系统

作业所属课程 首页 - 计科24级56班 - 广东工业大学 - 班级博客 - 博客园
这个作业要求在哪里 团队项目第一次作业 团队展示+选题报告+需求分析 - 作业 - 计科24级56班 - 班级博客 - 博客园
这个作业的目标 自主选题,开发一个把智能体真正嵌入业务系统的软件,完成团队展示、选题报告与需求分析,并撰写博客
团队名称 过敏者小组
团队成员学号-名字 3124004054-邓子航 3124005969-郭敏哲
项目开源地址 https://github.com/LeiYuD/AI-Expense-Assistant

基于 Agent 协同与本地持久化的智能企业费控管理系统 —— 让 AI 真正接管繁琐的财务录入

本文是「过敏者小组」的团队作业博客,包含团队展示、选题报告与需求分析三部分。本项目在传统企业管理系统的底座上引入了大语言模型,通过 Function Calling 机制,把“自然语言报账”直接推进到“生成真实 Excel 台账”的执行闭环。


一、团队展示

1. 团队名片

项目 内容
队名 过敏者小组
人数 2人
项目全称 基于 Agent 协同与本地持久化的智能企业费控管理系统
一句话定位 不做“陪聊机器人”,做“能真实建档、记账、删档的财务助理”

我们刻意收窄了范围:首期只做“台账 CRUD(增删改查)”这一条主线跑通,不铺开复杂的发票 OCR 识别和企业审批流。功能可以少,但大模型操作本地文件的每一个动作都必须真实可见。

2. 队员风采

  • 姓名:邓子航 (学号:3124004054)
  • 姓名:郭敏哲 (学号:3124005969)

3. 项目的具体规划及描述

项目按“先让 AI 懂意图,再让 AI 长手脚”的顺序推进:

  • 阶段一 基础对话:跑通大模型基础 API 调用,建立前端通信链路。
  • 阶段二 工具唤醒(Function Calling):定义 JSON Schema,让大模型能判断何时需要记账、何时需要查询。
  • 阶段三 本地持久化(Execution):利用 pandas 和 openpyxl,让 AI 真实操作本地 Excel 文件(增、删、查、看明细)。
  • 阶段四 容错与联调:处理文件被占用、多轮上下文记忆等边界问题,确保演示稳定。

4. 团队愿景

让 AI 赋能每一个被繁琐填表折磨的打工人。打造懂意图、能动手的办公中台,让员工只需随口一句“打车花了50”,系统就能自动完成结构化数据录入。让技术既有大模型的智商,也有真实落地的执行力。


二、选题报告

1. 选题背景:问题不在“记账”,而在“动作断层”

传统费控系统高度依赖人工经验,存在录入繁琐、易出错等痛点。当员工出差产生多笔消费后,常常需要事后回忆、集中贴票填表。

痛点归纳为两个断点:

  • 状态不可见:员工无法随时知道“我今天花了多少钱”,必须登录系统手动查询。
  • 动作不连贯:即便大模型能理解“记一笔打车费”,传统对话 AI 也只会回复“好的,已为您记录”,并不会真正生成一个文件。

2. 选题价值:从“人找表单”到“事件驱动 + 工具协同”

传统方式是一条“等人推动”的链:发生消费 -> 事后回忆 -> 填表报账。
目标方式把“对话”变成链条的起点,大模型作为调度中枢,挂载多个工具函数:

  • 意图识别:提取金额、分类、说明。
  • 执行落地:调用 pandas 真实写入本地 Excel。
  • 数据反馈:读取已有 Excel 进行统计与明细展示。

3. 杀手级功能:本地 Excel 的 CRUD 闭环

我们认为最值得讲的创新点:一次对话,触发跨内存与磁盘的完整执行链。

  • 建(Create):用户说“生成记账本”,后端真实创建 .xlsx 文件。
  • 写(Write):用户说“打车50”,后端调用 pandas 追加一行结构化数据。
  • 查(Read):用户问“明细”或“总额”,后端真实读取文件并计算,绝不胡编乱造。
  • 删(Delete):用户说“清空”,后端调用 os.remove 将文件从硬盘物理擦除。

4. 技术方案:Flask + DeepSeek 支撑智能体协同

层次 组成 说明
终端展示层 HTML5 + 原生 JS 对话式 UI,维护 chatHistory 数组实现多轮记忆
业务服务层 Python + Flask 接收请求、拼接 Prompt、拦截 tool_calls 指令
认知决策层 DeepSeek API 分析意图,决定调用增、删、改、查哪一个工具
数据支撑层 pandas + openpyxl 真实执行本地 Excel 文件读写操作,落地持久化

5. 安全边界:AI 可执行,但需可控

  • 异常兜底:Excel 文件被占用时,系统捕获异常并提示用户关闭表格,不直接崩溃。
  • 物理隔离:所有的文件均存储在本地,不涉及云端隐私泄露。

三、需求分析

1. 项目概述

迭代记录表:

迭代 核心目标 交付物 状态
迭代 1 基础对话与意图识别 可运行的 Web 界面、API 联通 已完成
迭代 2 工具定义与本地写入 能生成 Excel,能追加数据 已完成
迭代 3 扩展 CRUD 与明细 支持读取、汇总、删除文件 已完成
迭代 4 上下文与容错 多轮记忆、文件占用报错处理 已完成

2. 系统总体架构

数据流转:
前端发对话 → 后端拼接历史记录 → 调用 DeepSeek API → 模型返回工具指令(JSON) → 后端拦截并执行 pandas 脚本 → 返回结果给模型 → 前端渲染最终回复。

3. 核心功能需求

模块 功能描述 业务规则
智能建档 用户要求生成台账时,创建空 Excel 已存在同名文件时提示,不覆盖旧数据
智能记账 提取类别、金额、备注并写入 建议金额必须为数字,分类需从预设类别选择
数据统计 查询某类或全部费用总额 必须基于真实文件计算,禁止模型编造结果
明细查看 展示最近几笔消费 倒序排列(最新在上),条数可定制
物理删除 清空记账本 需模型明确识别“删除”意图,执行 os.remove

4. 数据与接口需求

核心接口: /chat (POST)

  • 入参:{"history": [{"role": "user", "content": "打车50"}]}
  • 出参:{"reply": "记录成功!已为您将..."}
  • 超时与降级:设置 8 秒超时限制,若 AI 异常,返回“服务暂时不可用”,不阻塞前端。

数据模型(本地 Excel 字段):

  • 报销时间 (String)
  • 费用类别 (String)
  • 金额(元) (Float)
  • 备注说明 (String)

5. 非功能需求与验收标准

类别 要求
性能 AI 接口响应通常 ≤ 5 秒;本地文件写入耗时 ≤ 0.5 秒。
容错 当 Excel 被其他软件打开时,需捕获异常并给予温和提示,不抛出红字报错。
可观察性 在答辩现场,能当场打开 Excel 文件看到数据真实写入。
验收项 验收标准
建账本 说“生成记账本”后,左侧目录立刻出现 .xlsx 文件。
记一笔 说“打车50”后,打开 Excel,里面出现一行“交通费、50”。
查明细 问“最近花了啥”,AI 能列出刚才写入的那笔数据。
删台账 说“删掉”,电脑里的 Excel 文件瞬间消失。

四、结语

我们相信,智能体的价值不在于“聊得多像人”,而在于“能不能替人把事办完”。通过这次作业,我们跳出了将大模型视为“文本生成器”的局限。通过 Function Calling 机制,大模型真正长出了“手脚”,能够去操作文件、改变现实世界的数据。未来,我们将继续深化多模态能力,让费控报销真正实现“动动嘴就能搞定”。

posted @ 2026-11-08 14:34  lyd2026  阅读(10)  评论(0)    收藏  举报