从 Chatbot 到 Agent
判断一个系统是不是 Agent,可以问一句:下一步由谁决定?
| 形态 | 决策者 | 流程 | 适用场景 |
|---|---|---|---|
| Chatbot | 无 | 一问一答 | 翻译、简单问答 |
| Workflow | 开发者 | 代码预定义 | 路径稳定、强可审计 |
| Agent | 模型 | 运行时动态选择 | 意图开放、多工具组合 |
2026/9/4大约 3 分钟
判断一个系统是不是 Agent,可以问一句:下一步由谁决定?
| 形态 | 决策者 | 流程 | 适用场景 |
|---|---|---|---|
| Chatbot | 无 | 一问一答 | 翻译、简单问答 |
| Workflow | 开发者 | 代码预定义 | 路径稳定、强可审计 |
| Agent | 模型 | 运行时动态选择 | 意图开放、多工具组合 |
模型输出一段自然语言时,人可以理解,程序却很难稳定判断它是否包含候选对象、分类信息和后续动作。平台使用 Pydantic 定义结构化结果模型,把 Agent 输出变成后端可以继续处理的契约。
系统 Prompt + 工具 schema
│
▼
模型选择工具
│
▼
ToolCallController 校验
│
├─ 通过:执行工具并记录结果
└─ 拒绝:返回可解释的错误
│
▼
工具结果回到对话上下文
│
▼
模型继续推理
│
▼
Pydantic 校验最终输出
入职初期,我先完成开发环境配置、项目启动和服务结构梳理,建立对公司 AI 后端平台的整体认识。随后逐步参与接口、DAG 阶段、Agent、工具和数据链路相关工作,并通过 PR、自测、部署和联调把修改推进到可验证状态。
零依赖启动:
docker compose up -d,一行命令拉起全部服务。
这是一个完整可复现的 AI 任务后端系统。用户提交一句自然语言描述的任务,系统异步执行:调 LLM 推理 → 自主选择工具 → 根据结果调整策略 → 每一步可追溯。
项目: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)
└───────────────────────┘