零依赖启动:
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
postgres:16-alpine+asyncpg0.30.0 +SQLAlchemy2.0.42 · Python 3.13
一次 AI Agent 请求从用户输入到最终返回结果,经历了多个环节。我们要记录的不只是"最终答案",而是整个过程的每一步——谁说了什么、系统做了什么、用了哪些工具、每一步用了多久、失败时是什么原因。
环境:Docker
rabbitmq:3-management+aio-pika9.6.2 · Python 3.13
后端收到一个 AI 任务请求(比如代码审查),不能一直阻塞等结果——任务可能跑几分钟。消息队列把"接收请求"和"处理任务"解耦:
HTTP POST /tasks ──→ RabbitMQ ──→ Worker 异步处理
↑ │
立即返回 task_id 更新状态到 Redis/DB
是 Python 内置的异步 I/O 框架,用一个事件循环同时跑多个协程,遇到 I/O 等待就切走,不等。
| 概念 | 是什么 | 类比 |
|---|---|---|
| 协程对象(Coroutine) | async def 的返回值,还没开始执行 |
写在纸上的待办事项 |
| Task(Future 的子类) | 协程被 create_task() 包装并提交给事件循环 |
待办事项已经交到调度员手里了 |
| Future(通用) | 任何"未来才会有结果"的占位符,可以手动 set_result() |
取货单——谁都可以往里放结果 |
从 ¥31/3天 到 ¥0.05/天 — 一次完整的 Agent 推理成本排查与优化
在维护 AI 情报站项目时,发现 DeepSeek API 账单异常:3 天消耗 ¥31,而实际业务只需要每天跑几次精选 + 几篇翻译,理论上一天花不了几毛钱。
排查下来发现两台机器(本地 Mac + 阿里云 ECS)都存在严重的 token 浪费问题。这篇文章记录完整的诊断过程和解决方案。
6 月 16 日查看 DeepSeek 余额:
每日全球 AI 技术动态自动采集站点
🌐 ai.hjhai.xyz | 📊 仪表盘 | 🗂️ GitHub