AnythingLLM自定义Agent:让AI替你工作的完整流程

学习使用AnythingLLM构建自定义AI Agent。从内置工具到自定义集成,高效自动化你的工作流程

AnythingLLM自定义Agent:让AI替你工作的完整流程

AI Agent不再是科幻——它们是生产力倍增器。AnythingLLM提供强大的Agent框架,让你能够自动化复杂工作流,同时保持一切私密和本地化。本指南涵盖从基础Agent设置到构建自定义工具的全部内容。

什么是AnythingLLM中的AI Agent?

AnythingLLM中的Agent是LLM驱动的助手,能够:

  • 执行工具(网络搜索、代码执行、文件操作)
  • 基于上下文和目标做决策
  • 链式组合操作完成复杂任务
  • 通过自定义集成与外部系统交互

Agent模式 vs 聊天模式

能力聊天模式Agent模式
回答问题
使用文档(RAG)
执行代码
网络搜索
文件操作
多步推理有限
工具调用

Agent入门

步骤1:启用Agent模式

在工作区设置中:

  1. 进入工作区设置
  2. 选择Agent配置
  3. 开启启用Agent
  4. 选择Agent使用的LLM(可与聊天LLM不同)

步骤2:配置Agent LLM

为获得最佳Agent性能,选择工具调用能力强的模型:

模型工具调用质量速度
Claude Sonnet 4.5优秀
GPT-5.2优秀
Llama 3.2 90B很好
Mistral Large
Qwen 2.5 72B

步骤3:选择内置工具

AnythingLLM包含多个强大的内置工具:

可用工具:
├── 🔍 网络搜索(Serper、SerpAPI、Bing)
├── 💻 代码解释器(Python、JavaScript)
├── 📁 文件管理器(读、写、列表)
├── 🧮 计算器(复杂数学)
├── 📊 图表生成器
├── 🔗 URL抓取器
└── 📝 文档编写器

内置工具详解

1. 网络搜索工具

配置网络搜索获取实时信息:

// 设置 → Agent → 网络搜索
{
  provider: "serper",     // 或 "serpapi", "bing"
  apiKey: "your-api-key",
  maxResults: 5,
  searchType: "search"    // 或 "news", "images"
}

使用示例:

用户:"核聚变的最新进展是什么?"

Agent:[激活网络搜索工具]
       [检索前5条结果]
       [综合成完整回答]

2. 代码解释器

直接执行Python或JavaScript代码:

// 设置 → Agent → 代码解释器
{
  enabled: true,
  runtime: "python3",     // 或 "nodejs"
  timeout: 30000,         // 30秒超时
  maxMemory: "512mb",
  allowNetworkAccess: false
}

交互示例:

用户:"计算10000元以5%年利率存10年的复利"

Agent:我用Python来计算:
```python
本金 = 10000
利率 = 0.05
年限 = 10
金额 = 本金 * (1 + 利率) ** 年限
print(f"最终金额: ¥{金额:.2f}")
print(f"利息收入: ¥{金额 - 本金:.2f}")

输出: 最终金额: ¥16,288.95 利息收入: ¥6,288.95


### 3. 文件管理器

在工作区内读写文件:

```javascript
// 能力配置
{
  readFiles: true,
  writeFiles: true,
  listDirectory: true,
  allowedExtensions: [".txt", ".md", ".json", ".csv"],
  maxFileSize: "10mb"
}

构建自定义工具

自定义工具架构

┌─────────────────────────────────────────┐
│            AnythingLLM Agent            │
├─────────────────────────────────────────┤
│  工具路由器                              │
│  ├── 内置工具                           │
│  ├── 自定义HTTP工具                     │
│  └── 自定义代码工具                     │
├─────────────────────────────────────────┤
│  工具执行引擎                            │
│  ├── 认证处理器                         │
│  ├── 响应解析器                         │
│  └── 错误处理器                         │
└─────────────────────────────────────────┘

创建HTTP工具

创建调用外部API的自定义工具:

// custom-tools/weather-tool.json
{
  "name": "get_weather",
  "description": "获取城市当前天气",
  "type": "http",
  "config": {
    "method": "GET",
    "url": "https://api.openweathermap.org/data/2.5/weather",
    "headers": {
      "Content-Type": "application/json"
    },
    "queryParams": {
      "appid": "{{env.OPENWEATHER_API_KEY}}",
      "units": "metric",
      "q": "{{city}}"
    }
  },
  "parameters": {
    "type": "object",
    "properties": {
      "city": {
        "type": "string",
        "description": "要查询天气的城市名"
      }
    },
    "required": ["city"]
  }
}

创建代码工具

构建基于Python的自定义工具:

# custom-tools/sentiment_analyzer.py
"""
工具名称: sentiment_analyzer
描述: 分析给定文本的情感
参数:
  - text (string, 必填): 要分析的文本
"""

from textblob import TextBlob

def run(text: str) -> dict:
    """分析给定文本的情感。"""
    blob = TextBlob(text)
    polarity = blob.sentiment.polarity
    
    if polarity > 0.1:
        sentiment = "正面"
    elif polarity < -0.1:
        sentiment = "负面"
    else:
        sentiment = "中性"
    
    return {
        "sentiment": sentiment,
        "polarity": round(polarity, 3),
        "subjectivity": round(blob.sentiment.subjectivity, 3)
    }

多Agent工作流

Agent链式协作

创建Agent协作的工作流:

┌─────────────┐     ┌─────────────┐     ┌─────────────┐
│   调研      │ ──▶ │   写作      │ ──▶ │   编辑      │
│   Agent     │     │   Agent     │     │   Agent     │
└─────────────┘     └─────────────┘     └─────────────┘
      │                   │                   │
      ▼                   ▼                   ▼
   网络搜索            起草内容            润色&格式化

实现示例:

// workflow/research-to-article.js
const workflow = {
  name: "调研到文章",
  steps: [
    {
      agent: "researcher",
      instruction: "研究主题: {{topic}}",
      tools: ["web_search", "url_scraper"],
      outputVariable: "research_notes"
    },
    {
      agent: "writer",
      instruction: "基于以下内容写文章: {{research_notes}}",
      tools: ["document_writer"],
      outputVariable: "draft"
    },
    {
      agent: "editor",
      instruction: "编辑并改进: {{draft}}",
      tools: ["grammar_check", "document_writer"],
      outputVariable: "final_article"
    }
  ]
};

实战Agent示例

示例1:调研助手

用户提示:"调研本月融资的前5家AI创业公司,创建摘要报告"

Agent操作:
1. [网络搜索] 查询:"2026年1月AI创业公司融资"
2. [网络搜索] 查询:"本月AI创业公司top融资轮"
3. [URL抓取] 从Crunchbase、36氪提取数据
4. [代码解释器] 分析并按融资额排名
5. [文档编写器] 创建格式化的markdown报告
6. [文件管理器] 保存报告到工作区

输出:包含以下内容的2页报告:
- 公司简介
- 融资金额和投资人
- 产品方向
- 市场分析

示例2:数据分析流水线

用户提示:"分析sales_2025.csv中的销售数据,为季度报告创建可视化图表"

Agent操作:
1. [文件管理器] 读取sales_2025.csv
2. [代码解释器] 用pandas加载,清洗数据
3. [代码解释器] 计算季度指标
4. [图表生成器] 创建季度营收柱状图
5. [图表生成器] 创建产品分布饼图
6. [文档编写器] 生成执行摘要

输出:多个图表 + 可用于演示的书面分析

最佳实践

1. 工具选择

  • 从内置工具开始
  • 仅在必要时添加自定义工具
  • 组合前单独测试工具

2. Agent提示词工程

好的Agent提示:
"使用网络搜索彻底研究这个主题。
 提取关键事实和统计数据。
 引用你的来源。
 如需计算,使用代码解释器。
 将最终输出保存为markdown文件。"

差的Agent提示:
"告诉我关于AI的事"(太模糊,没有工具指导)

3. 错误处理

// 配置重试行为
{
  maxRetries: 3,
  retryDelay: 1000,
  onFailure: "continue",  // 或 "stop", "fallback"
  fallbackMessage: "无法完成此步骤"
}

总结

AnythingLLM Agent将被动的AI聊天转化为主动的自动化:

内置工具处理常见任务 ✅ 自定义工具满足特定工作流 ✅ 多Agent编排 ✅ 隐私优先 — 本地运行

今天就开始构建你的自动化AI员工队伍!


常见问题

Q:Agent能自主运行吗? A:可以,通过适当的工具配置和定时触发器。

Q:Agent操作有速率限制吗? A:取决于底层LLM和外部API的限制。

Q:能调试Agent的决策吗? A:可以,启用详细日志查看工具选择推理过程。

Q:有自定义工具市场吗? A:GitHub上有社区工具;官方市场即将推出。


你用AnythingLLM Agent自动化了哪些工作流?欢迎分享!