零依赖启动:
docker compose up -d,一行命令拉起全部服务。
这是一个完整可复现的 AI 任务后端系统。用户提交一句自然语言描述的任务,系统异步执行:调 LLM 推理 → 自主选择工具 → 根据结果调整策略 → 每一步可追溯。
零依赖启动:
docker compose up -d,一行命令拉起全部服务。
这是一个完整可复现的 AI 任务后端系统。用户提交一句自然语言描述的任务,系统异步执行:调 LLM 推理 → 自主选择工具 → 根据结果调整策略 → 每一步可追溯。
项目:AI Task Backend · Python 3.13 · 纯异步
一条 docker compose up 命令,五服务全启动。Docker 不只是打包工具——它改变了服务的启动顺序、网络拓扑、环境注入、持久化策略。本篇记录从零搭建 Docker 交付的每一步设计决策。
User → POST /tasks → [API:8000] → [RabbitMQ] → [Worker] → Agent Loop
↕ ↕ ↕
[PostgreSQL] [Redis] [LLM API]
项目:AI Task Backend · Python 3.13 · 纯异步
一个让用户可以提交任意任务的后端系统,核心是 Agent 循环。Agent 与 Chatbot 和 Workflow 的本质区别在于:谁来决定下一步。Agent 把这个决策权交给了模型——模型在运行时推理、选择工具、根据结果调整策略。前四天所学的基础设施(FastAPI、RabbitMQ、PostgreSQL、Redis)全部服务于这个循环。
User Input
│
┌───────────▼───────────┐
│ Agent Loop (核心) │
│ │
│ Model Call ◄─────────┤
│ │ │
│ ├─ text ──────► Response
│ │ │
│ └─ tool_call ──► Execute Tool
│ │ │
│ └── result ─┘
│ (back to Model Call)
└───────────────────────┘
环境:Docker
redis:7-alpine+redis-py8.0.1 · Python 3.13
Redis 在 AI Task Backend 里不是主存储,而是性能层。它的定位是:高频读写的临时状态放 Redis,需要持久化、复杂查询的数据落 PostgreSQL。本节把这条边界讲清楚。
用户请求
│
┌────────▼────────┐
│ FastAPI API │
└────────┬────────┘
│
┌──────────────┼──────────────┐
▼ ▼ ▼
PostgreSQL RabbitMQ Redis
(真相来源) (异步任务) (性能层)
环境:Docker
rabbitmq:3-management+aio-pika9.6.2 · Python 3.13
后端收到一个 AI 任务请求(比如代码审查),不能一直阻塞等结果——任务可能跑几分钟。消息队列把"接收请求"和"处理任务"解耦:
HTTP POST /tasks ──→ RabbitMQ ──→ Worker 异步处理
↑ │
立即返回 task_id 更新状态到 Redis/DB

MyBatis-Plus 是一个MyBatis 的增强工具,在MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生
任何刚开始学MyBatis-Plus的都会从满脸的质疑到成为忠诚的MP信徒这样的转变,一开始我是不信的,学了3分钟之后就变脸了XD
本章节展示如何在您的项目中使用MyBatis-Plus的常用功能
MyBatis-Plus最核心的功能就是通过继承BaseMapper<T>接口,自动获得基础的CRUD操作方法: