推荐一个适合学习AI Agent开发的AI智能体开源项目
本文详细介绍了一个基于 Harness Engineering 架构的汽车零部件采购智能助手,该系统利用 DeepAgent 和 LangGraph 框架,结合 MCP 协议,实现了供应商智能分析、采购订单全生命周期管理、库存预警等功能。系统核心亮点包括遵循 Planning → Executing → Review → Result 的工作流、采用7层防护的生产级 Docker 安全沙箱、五态沙箱生命周期管理、完整的 HITL 人工审批流程、33个工具集等。文章还提供了详细的技术栈、系统架构、项目结构和快速启动指南,为AI Agent开发者提供了宝贵的参考。
【目录】
- 项目简介
- 技术栈
- 系统架构
- 核心功能
-
- Harness 工作流(Planning → Executing → Review → Result)
-
- Docker 安全沙箱(7 层防护)
-
- 沙箱五态生命周期管理
-
- HITL 人工审批
-
- 子Agent 委派
-
- 项目显式注册的中间件栈
-
- 33 个工具
- 项目结构
- 快速启动
- 环境要求
-
- 克隆项目 & 安装依赖
-
- 配置环境变量
-
- 启动 MongoDB
-
- 启动 Docker 沙箱容器
-
- 启动 MCP Server(端口 9000)
-
- 启动后端 API(端口 8000)
-
- 启动前端(端口 3000)
-
- 访问应用
- 启动顺序总结
- 项目亮点
-
- 真正的 Harness Engineering 架构
-
- 生产级 Docker 安全沙箱
-
- 五态沙箱生命周期
-
- 完整的 HITL 审批流程
-
- 中间件栈
-
- MCP 协议解耦
-
- MongoDB 全链路持久化
-
- 子Agent 委派 + YAML 声明式配置
-
- SSE 流式协议
-
- 技能系统(Skills)
- API 端点
- 开发说明
- 项目代码仓库地址
推荐一个适合学习AI Agent开发的AI智能体开源项目
项目是Harness Engineering 架构,基于 DeepAgent + LangGraph + MCP 协议的汽车零部件采购智能助手,严格遵循 Harness Engineering 架构思想(Planning → Executing → Review → Result)。

项目代码仓库地址,在文章末尾。
项目简介
本项目是一个面向汽车零部件ERP采购管理场景的 AI Agent 系统。通过 DeepSeek、通义千问等模型驱动的智能体,与已部署的 Java ERP 后端进行交互,实现:
- 供应商智能分析(信用评级、供货能力对比)
- 采购订单全生命周期管理(创建/修改/审批)
- 库存预警与出入库管理
- 零部件搜索与供应商关联查询
- 数据可视化图表生成(26 种图表类型)
- 结构化文档输出(Markdown/HTML/CSV/JSON)
- 人工审批流程(HITL — Human-in-the-Loop)
技术栈
| 层级 | 技术 | 说明 |
|---|---|---|
| LLM | DeepSeek deepseek-flash | DeepSeek API(对话、grader、联网搜索共用) |
| Agent 框架 | DeepAgent + LangGraph | 状态图引擎,支持中断/恢复/子Agent |
| MCP 协议 | FastMCP + SSE | Agent ↔ ERP 的工具桥接层 |
| Web 框架 | FastAPI + Uvicorn | SSE 流式响应 |
| 前端 | Next.js 16 + React 19 + TailwindCSS 4 | 流式对话 UI + 中断交互 |
| 数据库 | MongoDB (Motor/Pymongo) | 会话/消息/Store 持久化 |
| 沙箱 | Docker SDK + 7 层安全防护 | 隔离代码执行环境 |
| 图表 | Matplotlib + Pandas | 26 种图表生成 |
| 语言 | Python 3.11+ / TypeScript | 后端 Python,前端 TypeScript |
系统架构
┌─────────────────────────────────────────────────────────────────┐│ Frontend (Next.js :3000) ││ SSE 流式对话 + HITL 中断交互 + 历史管理 │└────────────────────────────┬────────────────────────────────────┘ │ HTTP / SSE┌────────────────────────────▼────────────────────────────────────┐│ Backend API (FastAPI :8000) ││ chat.py (SSE流) + history.py (会话CRUD) + agent_loader.py ││ MongoDBStore + MongoDBSaver (生产级持久化) │└────────────────────────────┬────────────────────────────────────┘ │┌────────────────────────────▼────────────────────────────────────┐│ Agent Core (DeepAgent) ││ ┌──────────┐ ┌───────────────┐ ┌─────────────┐ ┌────────────┐ ││ │ LLM │ │ Composite │ │ 中间件栈 │ │ 2 子Agent │ ││ │ DeepSeek │ │ Backend │ │ (自定义 + │ │ analyst │ ││ │ │ │ (Docker+Store)│ │ 框架内置) │ │ order │ ││ └──────────┘ └───────────────┘ └─────────────┘ └────────────┘ ││ ┌─────────────────────────────────────────────────────────────┐││ │ Tools: 23 MCP + 10 Custom = 33 个工具 │││ │ chart(26种) + web_search + web_fetch + install_skill │││ │ + hitl_tools + download_sandbox_file + document_generator │││ └─────────────────────────────────────────────────────────────┘│└────────────────────────────┬────────────────────────────────────┘ │ MCP (SSE)┌────────────────────────────▼────────────────────────────────────┐│ MCP Server (FastMCP :9000) ││ suppliers(5) + parts(5) + orders(7) + inventory(6) = 23 tools │└────────────────────────────┬────────────────────────────────────┘ │ HTTP REST┌────────────────────────────▼────────────────────────────────────┐│ Java ERP 后端 (:8081) ││ http://localhost:8081(可替换为你的 ERP 地址) │└─────────────────────────────────────────────────────────────────┘
核心功能
1. Harness 工作流(Planning → Executing → Review → Result)
Agent 严格遵循四阶段工作流:
- Planning:分析用户意图,生成任务规划(前端展示 TodoList)
- Executing:调用 MCP 工具 / 沙箱执行代码 / 委派子Agent
- Review:按需审查执行结果,验证数据完整性(问候、感谢和纯概念问答默认跳过 grader;查询、分析、下单等业务任务自动启用)
- Result:结构化输出最终结果
审查策略配置在 src/agent/harness_config.yaml 的 review.mode:auto(默认)、always 或 never。判断过程只使用本地规则,不会为了决定是否审查而额外调用一次模型。
2. Docker 安全沙箱(7 层防护)
1. --read-only 文件系统只读2. --tmpfs/tmp 临时目录内存挂载(限制大小)3. --memory="512m" 内存上限4. --cpus="1.0" CPU 上限5. --network bridge 网络隔离/受限6. --cap-drop ALL 移除所有 Linux Capability7. --security-opt seccomp 系统调用白名单
支持可扩展多语言运行时:Python / Go / Node.js
3. 沙箱五态生命周期管理
预热池(WARM) → 认领(CLAIMED) → MongoDB缓存(CACHED) ↑ │ │ 补充预热 │ 故障/超时 │ ↓ 新建(CREATE) ←────────────── 销毁(DESTROY)
4. HITL 人工审批
- 订单创建/更新触发
interrupt_on中断 - 前端展示审批卡片,用户批准后恢复执行
- 缺少字段时触发信息补充中断
5. 子Agent 委派
- procurement-analyst:采购分析师(数据分析 + 图表生成)
- procurement-order:订单专家(订单 CRUD + 审批流程)
6. 项目显式注册的中间件栈
| # | 中间件 | 职责 |
|---|---|---|
| 1 | SandboxHealthMiddleware | 沙箱健康检查 + 自动重连 |
| 2 | HarnessPhaseMiddleware | 阶段状态机 + 按需 rubric |
| 3 | ContextInjectionMiddleware | 用户上下文注入(工厂模式隔离) |
| 4 | SkillsSyncMiddleware | 技能文件夹级增量同步 |
| 5 | UserSkillsRestoreMiddleware | 用户自定义技能恢复 |
| 6 | ToolsSummarizationMiddleware | 工具调用摘要监控 |
| 7 | MemoryUpdateMiddleware | 用户偏好自动提取 |
| 8 | SandboxCircuitBreakerMiddleware | 沙箱熔断器(三态模型) |
| 9 | RubricMiddleware | 复杂任务结果审查与有限次重做 |
| 10 | ModelCallLimitMiddleware | 模型调用次数限制 |
| 11 | ToolCallLimitMiddleware | 工具调用次数限制 |
7. 33 个工具
- 23 个 MCP 工具:供应商(5) + 零部件(5) + 订单(7) + 库存(6)
- 10 个自定义工具:chart_generator, web_search, web_fetch, install_skill, list_user_skills, request_order_info, download_sandbox_file, list_sandbox_files, generate_document, generate_table_report
项目结构
ERP-AGENT/├── frontend/# Next.js 前端│ ├── src/│ │ ├── app/# App Router│ │ ├── components/# UI 组件│ │ │ ├── chat/# 对话区(消息/输入/工具调用/思考动画)│ │ │ ├── interrupt/# HITL 中断交互(审批/补充信息)│ │ │ ├── sidebar/# 侧边栏(历史/搜索)│ │ │ └── common/# 通用组件│ │ ├── hooks/# useChat / useSSE / useHistory│ │ └── lib/# API / SSE解析 / 类型定义│ └── package.json│├── src/# Python 后端│ ├── agent/# Agent 核心│ │ ├── main_agent.py # 主入口:create_main_agent() 7步组装│ │ ├── config.py # 全局配置│ │ ├── middleware_config.py # 子Agent中间件工厂│ │ ├── backends/# Docker 沙箱后端│ │ │ ├── custom_opensandbox.py # Docker SDK 封装(30+ 方法)│ │ │ ├── sandbox_setup.py # 安全沙箱创建 + 多语言运行时│ │ │ ├── sandbox_manager.py # 五态生命周期管理│ │ │ ├── sandbox_proxy.py # 代理层(热替换)│ │ │ └── seccomp.json # seccomp 安全策略│ │ ├── middlewares/# 自定义中间件│ │ ├── tools/# 10 个自定义工具│ │ │ ├── document_generator.py # 文档生成(MD/HTML/CSV/JSON)│ │ │ ├── download_sandbox_file.py # 沙箱文件下载│ │ │ ├── chart_generator.py # 26 种图表│ │ │ ├── web_fetch.py # URL抓取 + Skill安装│ │ │ └── hitl_tools.py # HITL 人工介入│ │ ├── subagents/# 子Agent(YAML声明式)│ │ └── memory/# 系统提示词 + 操作手册│ ├── api_view/# FastAPI Web 层│ │ ├── web_main.py # 应用入口│ │ ├── agent_loader.py # Agent 单例(MongoDB持久化)│ │ ├── mongodb_store.py # LangGraph Store(MongoDB实现)│ │ └── api/# 路由(chat + history)│ ├── mcp_server/# MCP 网关(23个ERP工具)│ ├── skills/# 技能文件(文件夹级)│ └── download/# 生成文件下载目录│├── .env.example # 环境变量模板(复制为 .env)├── requirements.txt # Python 依赖└── README.md # 项目说明与启动指南
快速启动
环境要求
- Python 3.11+
- Node.js 18+
- MongoDB 6.0+
- Docker Desktop(已启动)
- DeepSeek API Key(对话、grader、联网搜索共用)
1. 克隆项目 & 安装依赖
# 克隆项目git clone <repo-url>cd ERP-AGENT# Python 依赖pip install -r requirements.txt# 前端依赖cd frontendnpm installcd ..
2. 配置环境变量
编辑项目根目录 .env 文件:
# DeepSeek API Key(主对话、grader、联网搜索共用)DEEPSEEK_API_KEY=sk-your-api-keyLLM_MODEL=deepseek-flashLLM_BASE_URL=https://api.deepseek.comWEB_SEARCH_MODEL=deepseek-flashDEEPSEEK_RESPONSES_URL=https://api.deepseek.com/responses# MongoDB 连接MONGODB_URI=mongodb://localhost:27017# Java ERP 后端地址# 若没有自己的 ERP 服务,可先保留占位地址,联网搜索和基础对话仍可启动ERP_BASE_URL=http://localhost:8081# MCP Server 地址(本地)MCP_SERVER_URL=http://localhost:9000# 沙箱 Docker 镜像SANDBOX_IMAGE=python:3.11-slim
3. 启动 MongoDB
# 确保 MongoDB 正在运行mongod --dbpath /path/to/data# 或使用 Dockerdocker run -d --name mongodb -p 27017:27017 mongo:6.0
4. 启动 Docker 沙箱容器
docker run -d \ --name erp-sandbox \ -w /workspace \ python:3.11-slim \sleep infinity
5. 启动 MCP Server(端口 9000)
python -m src.mcp_server.server_main
看到以下输出表示成功:
🚀 Starting MCP Serveron0.0.0.0:9000 (SSE transport)Uvicorn running on http://0.0.0.0:9000
6. 启动后端 API(端口 8000)
python -m src.api_view.web_main
看到以下输出表示成功:
AgentLoader initializedStarting ERP AgentWebServer...Uvicorn running on http://0.0.0.0:8000
7. 启动前端(端口 3000)
cd frontendnpm run dev
8. 访问应用
浏览器打开 http://localhost:3000 即可使用。
启动顺序总结
MongoDB → Docker沙箱 → MCP Server(:9000) → Backend API(:8000) → Frontend(:3000)
注意:MCP Server 必须在 Backend API 之前启动,因为 Agent 初始化时会连接 MCP Server 加载 23 个 ERP 工具。
项目亮点
1. 真正的 Harness Engineering 架构
不是简单的 ChatBot,而是严格遵循 Planning → Executing → Review → Result 四阶段工作流。前端实时展示每个阶段的状态变化(Phase Bar + TodoList),用户可清晰看到 Agent 的思考和执行过程。
2. 生产级 Docker 安全沙箱
7 层安全防护(只读文件系统 + tmpfs + 资源限制 + 网络隔离 + Capability 移除 + seccomp 白名单 + PID 限制),不是玩具级沙箱。支持多语言运行时扩展(Python/Go/Node.js),项目文件完整同步到沙箱实现真正隔离测试。
3. 五态沙箱生命周期
预热池 → 认领 → MongoDB 缓存 → 新建 → 销毁。服务重启不丢失用户绑定关系,预热池保证 < 100ms 分配速度,健康检查 + 自动重建故障容器。
4. 完整的 HITL 审批流程
订单创建/更新需人工审批,缺少字段时触发信息补充中断。基于 LangGraph 的 interrupt/resume 机制,前端展示审批卡片和信息补充表单。
5. 中间件栈
沙箱健康检查、用户上下文注入(工厂模式防串扰)、技能增量同步、用户技能恢复、工具摘要监控、偏好自动提取、熔断器保护、调用限制。每个中间件都有明确的职责边界。
6. MCP 协议解耦
Agent 不直接调用 ERP API,而是通过 MCP Server 提供的 23 个标准化工具交互。MCP 层可独立部署、独立扩展,Agent 侧无需关心 ERP 接口细节。
7. MongoDB 全链路持久化
- MongoDBSaver:LangGraph Checkpointer(会话状态持久化)
- MongoDBStore:LangGraph Store(跨会话用户偏好/技能存储)
- display_messages:前端展示消息持久化
- conversations:会话列表管理
8. 子Agent 委派 + YAML 声明式配置
采购分析师和订单专家两个子Agent,通过 YAML 文件声明式配置(工具集、系统提示词、委派规则),主Agent 根据任务类型自动委派。
9. SSE 流式协议
完整的 SSE 事件协议:thinking → token → tool_start → tool_result → phase → todo_update → interrupt → done。前端逐 token 渲染,实时展示工具调用和阶段变化。
10. 技能系统(Skills)
文件夹级技能管理(SKILL.md + 脚本 + 依赖),支持安装/同步/恢复。SkillsSyncMiddleware 实现增量同步(SHA256 哈希比对),保留完整目录结构。
API 端点
| 方法 | 路径 | 说明 |
|---|---|---|
| POST | /api/chat/stream | SSE 流式对话 |
| POST | /api/chat/{thread_id}/resume | 中断恢复 |
| GET | /api/chat/{thread_id}/state | 获取中断状态 |
| GET | /api/chat/{thread_id}/history | 获取消息历史 |
| GET | /api/history/{user_id} | 获取会话列表 |
| DELETE | /api/history/{thread_id} | 删除会话 |
| GET | /api/download/{filename} | 下载生成文件 |
| GET | /health | 健康检查 |
开发说明
- 修改 Agent 行为:编辑
src/agent/memory/prompts.py(系统提示词) - 添加新工具:在
src/agent/tools/创建工具文件,在main_agent.py注册 - 添加新中间件:在
src/agent/middlewares/创建,在main_agent.py中间件栈中添加 - 修改子Agent:编辑
src/agent/subagents/configs/*.yaml
最后
对于正在迷茫择业、想转行提升,或是刚入门的程序员、编程小白来说,有一个问题几乎人人都在问:未来10年,什么领域的职业发展潜力最大?
答案只有一个:人工智能(尤其是大模型方向)
当下,人工智能行业正处于爆发式增长期,其中大模型相关岗位更是供不应求,薪资待遇直接拉满——字节跳动作为AI领域的头部玩家,给硕士毕业的优质AI人才(含大模型相关方向)开出的月基础工资高达5万—6万元;即便是非“人才计划”的普通应聘者,月基础工资也能稳定在4万元左右。
再看阿里、腾讯两大互联网大厂,非“人才计划”的AI相关岗位应聘者,月基础工资也约有3万元,远超其他行业同资历岗位的薪资水平,对于程序员、小白来说,无疑是绝佳的转型和提升赛道。

如果你还不知道从何开始,我自己整理一套全网最全最细的大模型零基础教程,我也是一路自学走过来的,很清楚小白前期学习的痛楚,你要是没有方向还没有好的资源,根本学不到东西!
下面是我整理的大模型学习资源,希望能帮到你。

👇👇扫码免费领取全部内容👇👇

最后
1、大模型学习路线

2、从0到进阶大模型学习视频教程
从入门到进阶这里都有,跟着老师学习事半功倍。

3、 入门必看大模型学习书籍&文档.pdf(书面上的技术书籍确实太多了,这些是我精选出来的,还有很多不在图里)

4、 AI大模型最新行业报告
2026最新行业报告,针对不同行业的现状、趋势、问题、机会等进行系统地调研和评估,以了解哪些行业更适合引入大模型的技术和应用,以及在哪些方面可以发挥大模型的优势。

5、面试试题/经验

【大厂 AI 岗位面经分享(107 道)】

【AI 大模型面试真题(102 道)】

【LLMs 面试真题(97 道)】

6、大模型项目实战&配套源码

适用人群

四阶段学习规划(共90天,可落地执行)
第一阶段(10天):初阶应用
该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。
- 大模型 AI 能干什么?
- 大模型是怎样获得「智能」的?
- 用好 AI 的核心心法
- 大模型应用业务架构
- 大模型应用技术架构
- 代码示例:向 GPT-3.5 灌入新知识
- 提示工程的意义和核心思想
- Prompt 典型构成
- 指令调优方法论
- 思维链和思维树
- Prompt 攻击和防范
- …
第二阶段(30天):高阶应用
该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。
- 为什么要做 RAG
- 搭建一个简单的 ChatPDF
- 检索的基础概念
- 什么是向量表示(Embeddings)
- 向量数据库与向量检索
- 基于向量检索的 RAG
- 搭建 RAG 系统的扩展知识
- 混合检索与 RAG-Fusion 简介
- 向量模型本地部署
- …
第三阶段(30天):模型训练
恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。
到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?
- 为什么要做 RAG
- 什么是模型
- 什么是模型训练
- 求解器 & 损失函数简介
- 小实验2:手写一个简单的神经网络并训练它
- 什么是训练/预训练/微调/轻量化微调
- Transformer结构简介
- 轻量化微调
- 实验数据集的构建
- …
第四阶段(20天):商业闭环
对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。
-
硬件选型
-
带你了解全球大模型
-
使用国产大模型服务
-
搭建 OpenAI 代理
-
热身:基于阿里云 PAI 部署 Stable Diffusion
-
在本地计算机运行大模型
-
大模型的私有化部署
-
基于 vLLM 部署大模型
-
案例:如何优雅地在阿里云私有部署开源大模型
-
部署一套开源 LLM 项目
-
内容安全
-
互联网信息服务算法备案
-
…
👇👇扫码免费领取全部内容👇👇

3、这些资料真的有用吗?
这份资料由我和鲁为民博士(北京清华大学学士和美国加州理工学院博士)共同整理,现任上海殷泊信息科技CEO,其创立的MoPaaS云平台获Forrester全球’强劲表现者’认证,服务航天科工、国家电网等1000+企业,以第一作者在IEEE Transactions发表论文50+篇,获NASA JPL火星探测系统强化学习专利等35项中美专利。本套AI大模型课程由清华大学-加州理工双料博士、吴文俊人工智能奖得主鲁为民教授领衔研发。
资料内容涵盖了从入门到进阶的各类视频教程和实战项目,无论你是小白还是有些技术基础的技术人员,这份资料都绝对能帮助你提升薪资待遇,转行大模型岗位。


这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】

更多推荐

所有评论(0)