基础概念

什么是 Agent

AI Agent(智能体)是一个能自主调用工具来完成任务的语言模型。不同于普通的"一问一答"聊天机器人,Agent 会:

  1. 理解用户意图
  2. 决定需要哪些工具
  3. 调用工具获取信息或执行操作
  4. 根据工具结果继续推理
  5. 最终给出完整回复

FaustBot 内部实现了一个Agent.

OpenAI Chat Completions API

OpenAI API是一套简单的程序使用大模型的规范。

FaustBot 支持四种接口格式:OpenAI Chat Completions、OpenAI Responses、Anthropic Messages、Google Gemini,并会按模型自动判断该用哪一种。多数服务商仍然是 OpenAI Chat 兼容的,所以下面按最常见的写法说明;换个服务商时你只需要密钥、模型 ID 和接口地址。

API Key

API Key 是你的身份凭证,类似"密码"。从 LLM 服务商获取后填入配置文件:

在 FaustBot 的 配置中心(Configer)→ AI 服务商 → 添加服务商 → 密钥 中填入即可。

格式基本上是sk-{一大串随机字符}

接口地址(Base URL)

不同服务商的 API 地址不同:

这一项应该是一个https://开头的链接

在 Configer 的 AI 服务商 → 添加服务商 → 接口地址 中填入。

常见服务商的 Base URL:

服务商 Base URL
OpenAI https://api.openai.com/v1
DeepSeek https://api.deepseek.com/v1
硅基流动 https://api.siliconflow.cn/v1
OpenRouter https://openrouter.ai/api/v1
本地 Ollama http://localhost:11434/v1

Embedding API

Embedding模型用于FaustBot记忆库。

Embedding模型可以把一段文本编码为一串数字(向量),程序可以通过计算向量间的相似性来找出相关的文本。

在FaustBot中,记忆库的搜索使用了Embedding模型

Embedding API的配置同样包括 Base URL,API和Model

工具调用

工具(Tool)是 AI的"手和脚"——让模型不仅能"说",还能"做"。

工具的能力,实际上决定了一个LLM模型能够进行什么样的操作

工作原理

用户: "帮我写一个贪吃蛇游戏"
       │
       ▼
   Agent 推理: 需要 write 工具
       │
       ▼
   Agent 调用: write("snake.py", "...代码...")
       │
       ▼
   工具返回: "已写入 snake.py"
       │
       ▼
   Agent 回复: "已为你创建了贪吃蛇游戏,保存在 snake.py"

FaustBot 的主要工具集

工具 功能
read 读取文件
write 创建/修改文件
edit 精确文本替换(old_str 唯一匹配)
execute 运行 Python/系统命令
search 网页搜索
find 项目内文件搜索
minecraft Minecraft 机器人控制
nimble 灵动交互窗口
browser 浏览器自动化
memory 记忆库读写
trigger 定时任务管理

工具输出截断

为防止工具输出过长消耗大量 Token,FaustBot 对长输出自动截断:

  • 短输出(≤120 字符单行)→ 原样返回
  • 长输出 → 截断为 500 字符摘要 + [完整输出: artifact://<id>]
  • Agent 可调用 read("artifact://<id>") 获取完整内容

模型思维链

思维链(Chain of Thought)是模型在给出最终答案前的内部推理过程。

普通对话 vs 思维链

普通: 用户问 → 模型答

思维链:
用户问 → 模型: "我需要先理解这个问题..."
      → 模型: "让我考虑几种方案..."
      → 模型: "方案A的问题是...方案B更合适..."
      → 最终答案

为什么重要

  • 复杂任务: 数学计算、代码调试需要分步推理
  • 透明性: 你可以看到模型"在想什么"
  • 可纠正: 发现推理错误时可以纠正方向
  • 工具决策: Agent 选择哪个工具时,思维链解释了为什么

在 FaustBot 中

FaustBot 支持两类模型:

类型 说明 示例
普通模型 一次生成最终答案 gpt-4o, deepseek-chat
推理模型 先输出思维链再输出答案 deepseek-r1, o1, o3

推理模型会先进行内部推理(你可以在界面中看到思考过程),然后再执行工具调用或给出回复。这让 Agent 在复杂任务上表现更可靠。

上下文窗口

每次对话,Agent 能看到的内容包括:

  1. 系统提示: Agent 的角色设定和行为规范
  2. 对话历史: 之前的所有用户消息和助手回复
  3. 工具调用记录: 工具名称、参数、返回结果
  4. 记忆: 从记忆库中检索的相关信息

这些内容一起构成上下文窗口(Context Window)。窗口大小由模型决定(如 128K tokens),超出部分会被截断。

记忆系统

FaustBot 的记忆不是简单的"聊天记录",而是三层检索系统:

层级 技术 用途
向量搜索 nano-vectordb 语义相似匹配
关键词搜索 BM25 精确词匹配
知识图谱 networkx 实体关系推理

Agent 在回复前会自动检索记忆库,找到相关信息注入上下文。

MCP 扩展

MCP(Model Context Protocol)让 Agent 连接外部工具服务器:

FaustBot ──stdio/sse──→ MCP Server (如 Playwright)
                            │
                            ├── browser_navigate
                            ├── browser_click
                            └── browser_snapshot

一个 MCP Server 可以提供多个工具。FaustBot 自动将它们注册为可用工具,Agent 调用时完全透明。详见 MCP Server 教程。

下一步