做了一个ai项目,面试官追问两小时!

太长不看版:

一个面向金融面试的RPA开源项目:基于Skyvern改造,主打三维度权限、高危审批、LLM容错、双Agent,附带简历写法+面试QA+16天开发日志,代码+文档全开源,专治面试没得聊。

🌟 核心亮点速览(就三点):

  • 业务深度:银行真实权限模型+分级审批+审计留痕
  • 技术巧思:Action缓存降本60%、双Agent断点续跑、三层LLM容错
  • 面试加成:所有设计决策写在日志里,配套简历/QA手册,让你聊得深

👉 项目地址评论区自取,觉得有用给个Star就行~

正文开始:

做这个项目的起因很简单:我想要一个面试时真正能聊得深的项目。不是那种 CRUD 搭完就结束的 demo,而是一个完整的系统——有真实的业务场景驱动、有经得起追问的设计决策、有能跑通的端到端链路。最终我选择基于 Skyvern(用 LLM + 视觉理解驱动浏览器自动化的开源框架),针对金融行业做了一套企业级 RPA 平台的完整改造。现在把它完整开源出来,项目地址放在文末。

这个项目里有什么

一、完整的企业级功能

不是堆功能列表,每个模块都有明确的设计动机:

三维度权限体系(部门 × 业务线 × 角色)

为什么不用简单的 role?因为银行里对公信贷部的操作员不该看到个人金融部的任务,但风险管理部需要跨部门只读,合规审计部需要跨部门审批——单一维度的角色模型覆盖不了这些真实场景。operator 和 approver 在数据库层面强制互斥,对应金融行业的职责分离要求。

高危操作分级审批

转账、放款、核保这类操作不能让 AI 自主执行。我设计了两阶段识别(关键词预筛 + LLM 精准判断),命中后按风险等级路由给不同层级审批人,整个等待通过 Redis Pub/Sub 实现,不阻塞其他任务,超时自动拒绝。

全链路合规审计

每步操作前后截图上传私有化 MinIO(数据不出内网),敏感信息自动脱敏,完整操作时间线支持多维度检索。这不是"加个日志表"的事,是在架构层面设计的。

LLM 三层容错 + NEEDS_HUMAN 状态机

LLM 不是 100% 可靠的。Prompt 格式约束 → Pydantic 校验重试 → 超出重试转人工接管。为 NEEDS_HUMAN 设计了完整的处置流程:查看截图和 LLM 原始输出,选择跳过/手动执行/终止。

Planner + Executor 双 Agent 协作

将「规划」和「执行」解耦为两个独立 Agent,四种失败策略(retry / skip / abort / replan),子任务状态持久化支持断点续跑——银行日终批处理中途中断可以从上一个成功步骤继续。

可组合 Skill 库

7 个独立 Skill(登录、表单填写、表格提取等),统一接口,6 个金融工作流模板通过 Skill 组合实现。所有银行场景共享同一个 LoginSkill,登录页变化只改一处。

Action 缓存 + 模型路由

相同页面结构的重复执行跳过 LLM 调用,模型路由根据页面复杂度自动选择轻量/标准/重型模型,降低约 60% 调用成本。

二、面试能聊什么

列几个我在准备过程中觉得有深度的点,也是面试里容易被追问的方向:

  • 权限模型的选型理由:为什么三维度而不是简单 role?怎么处理风控部跨部门只读和合规部跨部门审批这种交叉需求?互斥约束为什么放在数据库层而不只是应用层?
  • 审批的异步实现:为什么用 Redis Pub/Sub 而不是数据库轮询或 Kafka?并发量、实时性、部署成本三者怎么取舍?
  • LLM 容错的分层设计:为什么不是一层 try-catch 搞定?Prompt 约束、解析重试、人工兜底各解决什么层次的问题?
  • 双 Agent 架构的失败策略:retry / skip / abort / replan 四种策略分别对应什么场景?replan 次数上限怎么定?
  • Action 缓存的 key 设计:DOM 哈希怎么剥除动态内容?缓存命中率和正确性之间怎么平衡?

这些问题在项目的 16 天开发日志(summaries/)里都有完整的推理过程,不是结论式的,是"我当时考虑了哪些方案、为什么排除了其他选项"这种记录。

三、工程完整度

不只是功能能跑,整个工程链路是通的:

  • 601 个测试(561 单元 + 40 端到端集成),85% 覆盖率,覆盖权限边界、租户隔离、审批路由、LLM 容错、缓存失效等场景
  • Docker Compose 一键启动(PostgreSQL + Redis + MinIO + Skyvern + UI),开发和生产双配置
  • Nginx 反向代理 + gzip + 安全头 + HTTPS 预留
  • 完整的 数据库迁移(Alembic)和 种子数据(16 个演示用户、6 个部门、4 条业务线)
  • 从登录认证 → 任务创建 → 风险识别 → 审批流转 → 审计留痕,整条业务链路可端到端走通

四、不只是代码

除了项目本身,仓库里还附带了几份可能对你有用的东西:

简历写法指南docs/resume_guide.md

三个版本:通用后端版、AI 强化版、全栈版。核心原则不是罗列技术栈,而是写清楚"你判断了什么问题、做了什么取舍、产生了什么结果"。可以直接参考格式往自己的简历上套。

面试 QA 手册docs/interview_qa.md

基于这个项目可能被追问的高频面试题,分项目深挖、系统设计、技术原理、金融场景四个维度。每道题给的是回答框架而不是背诵答案——因为背答案没用,面试官换个角度问你就卡住了。

16 天开发日志(每个 day 分支的 summaries/

每天做了什么、为什么这样设计、踩了什么坑、怎么解决的。不是流水账,是完整的技术决策记录。如果你想理解"一个系统是怎么从零长出来的",从 Day 1 的 summaries/day_1_summary.md 开始读。

技术栈一览

AI Agent 底座

Skyvern + Playwright

后端

FastAPI + Python 3.11 + SQLAlchemy 2.0

数据库

PostgreSQL 14

缓存 & 消息

Redis 7(Pub/Sub + 缓存)

对象存储

MinIO

前端

React 18 + TypeScript + ECharts

容器化

Docker Compose + Nginx

测试

pytest + Vitest

写在最后

我的bg不算出众,甚至可以说比较低,在座的各位想必都要比我优秀的多,但可能也会在春招里面临被拒和自我怀疑的困境,而陷入迷茫。

但与其花时间焦虑,不如把时间花在提升自己的道路上。

我深知这个项目尚不完美——Action 缓存还是内存实现,Skill 库只有 7 个,双 Agent 通信没有消息队列持久化——但它的每一行代码、每一个设计决策、每一 篇踩坑记录,都是在深思熟虑后写下的。面试的时候,它们可以帮你说清楚每个模块为什么存在、为什么这样设计、有什么不足和改进方向。我想,这或许可以为你带来一些其他教程和付费课给不了的底气。

项目完整开源,随意 fork 和参考。如果对你有帮助,希望能给个 Star。

祝各位春招顺利,大家都可以抵达梦想的远方。

#AI求职实录#
全部评论
项目地址: https://github.com/Musenn/finrpa-enterprise
1 回复 分享
发布于 今天 15:44 广东
这个项目很牛哇
点赞 回复 分享
发布于 今天 21:26 四川
存降本60%?老板狂喜
点赞 回复 分享
发布于 今天 18:46 湖北
融RPA实战,哈哈哈可以这么说
点赞 回复 分享
发布于 今天 18:45 山东
大佬这设计,省Token神器啊
点赞 回复 分享
发布于 今天 18:45 广东
比轮询强
点赞 回复 分享
发布于 今天 18:45 广东
这项目太硬核了!
点赞 回复 分享
发布于 今天 18:45 陕西

相关推荐

评论
3
3
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务