智能体技术概述

在AI技术快速发展的背景下,智能体(Agent)已成为连接大语言模型与实际业务场景的重要桥梁。智能体不仅能够理解自然语言,还能够通过工具调用、任务推理和步骤拆解来完成复杂的自动化任务。

从技术角度来看,智能体的核心能力包括:

  • 任务理解与分解:将复杂任务拆解为可执行的子步骤
  • 工具调用:集成外部API、数据库、文件系统等资源
  • 推理决策:根据上下文信息做出合理的决策和行动
  • 学习适应:通过反馈不断优化执行策略

在实际应用中,智能体特别适合处理”重复度高、机械化程度高”的工作,如文档检核、批量任务处理、自动化测试执行等场景。这些应用不仅能显著提高工作效率,还能降低人工操作的错误率。

主流智能体开发平台对比

Dify:开源企业级解决方案

Dify是一款完全开源的LLM应用开发平台,基于Apache 2.0协议。其技术架构包括:

  • 后端:Python(Flask)
  • 前端:Next.js
  • 数据库:PostgreSQL + 向量数据库

核心优势:

  • 支持完全私有化部署,满足数据安全要求
  • 提供可视化工作流编辑器,降低开发门槛
  • 支持多种应用类型:聊天助手、Agent、工作流等
  • 开放式插件架构,可深度定制
  • 支持多家大模型接入(OpenAI、Claude、国产模型等)

Dify详细安装部署

1. 基础环境准备

首先确保系统已安装Docker和Docker Compose:

1
2
3
# 检查Docker版本
docker --version
docker-compose --version

2. 快速部署步骤

1
2
3
4
5
6
7
8
9
10
11
12
# 克隆项目代码
git clone https://github.com/langgenius/dify.git
cd dify/docker

# 复制环境配置文件
cp .env.example .env

# 启动所有服务
docker compose up -d

# 检查服务状态
docker compose ps

3. 重要环境变量配置

编辑 .env 文件,配置关键参数:

4. 系统初始化

部署完成后访问初始化页面:

1
2
3
4
5
# 本地环境
http://localhost/install

# 服务器环境
http://your_server_ip/install

创建管理员账户并完成基础配置。

Dify系统更新升级

1. 备份重要数据

1
2
3
4
5
6
7
8
9
10
# 停止服务
cd dify/docker
docker compose down

# 备份数据库
docker compose exec postgres pg_dump -U postgres dify > backup_$(date +%Y%m%d).sql

# 备份卷数据
sudo cp -r /var/lib/docker/volumes/docker_app_storage ./backup_storage_$(date +%Y%m%d)
sudo cp -r /var/lib/docker/volumes/docker_db_data ./backup_db_$(date +%Y%m%d)

2. 更新代码和镜像

1
2
3
4
5
6
7
8
# 拉取最新代码
git pull origin main

# 下载最新镜像
docker compose pull

# 重新启动服务
docker compose up -d

3. 数据库迁移

系统数据存储位置:dify/docker/volumes

参考:https://docs.dify.ai/en/getting-started/install-self-hosted/docker-compose#upgrade-dify

离线插件打包与安装

在内网环境中,插件安装需要特殊处理。离线安装插件也需要从互联网拉取一些pipy包,因此内网安装失败。

需要手动打包纯离线插件。

1. 插件重新打包工具

1
2
3
4
5
6
# 下载插件打包工具
git clone https://github.com/junjiem/dify-plugin-repackaging.git
cd dify-plugin-repackaging

# 给脚本执行权限
chmod +x plugin_repackaging.sh

2. 打包不同架构插件

1
2
3
4
5
# x86_64架构打包
./plugin_repackaging.sh -p manylinux2014_x86_64 -s linux-amd64 local _temp

# ARM架构打包(适用于M1/M2 Mac或ARM服务器)
./plugin_repackaging.sh -p manylinux2014_aarch64 -s linux-arm64 local _temp

3. 常见问题排查

问题1:插件签名验证失败

1
2
错误信息:PluginDaemonBadRequestError: plugin verification has been enabled, 
and the plugin you want to install has a bad signature

解决方案:

1
2
3
4
5
6
7
# 在docker/.env配置文件添加
echo "FORCE_VERIFYING_SIGNATURE=false" >> docker/.env

# 重启服务
cd docker
docker compose down
docker compose up -d

问题2:架构不匹配错误

1
错误信息:Because gevent==25.5.1 has no wheels with a matching platform tag

解决方案:

1
2
3
4
5
6
7
8
9
# 查看当前系统架构
uname -m

# 针对不同架构重新打包
# x86_64系统使用:
./plugin_repackaging.sh -p manylinux2014_x86_64 -s linux-amd64 local _temp

# aarch64系统使用:
./plugin_repackaging.sh -p manylinux2014_aarch64 -s linux-arm64 local _temp

问题3:查看详细错误日志

1
2
3
4
5
6
7
8
# 查看插件守护进程日志
docker logs -f docker-plugin_daemon-1

# 查看API服务日志
docker logs -f docker-api-1

# 查看工作进程日志
docker logs -f docker-worker-1

4. 插件安装验证

1
2
3
4
5
6
# 检查插件是否安装成功
# 有些插件(如OpenRouter)不会显示在工具列表,但会在模型配置中出现

# 通过API检查插件状态
curl -X GET "http://localhost/console/api/workspaces/current/tool-providers" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN"

参考链接:

https://github.com/junjiem/dify-plugin-repackaging

https://github.com/lebenito030/dify-plugin-repackaging

https://blog.csdn.net/f80407515/article/details/147240740

https://blogs.lebenito.net/posts/Blind-Do/4a33641693af7111

https://www.cnblogs.com/xjl456852/p/18865586

扣子(Coze):字节生态智能体平台

扣子是字节跳动推出的商业化AI Bot构建平台,主要特点:

  • 完整的UI组件 + 低代码工作流 + AI大模型
  • 便于与飞书生态集成
  • 主要支持豆包和DeepSeek模型
  • 云服务为主,不支持私有化部署

技术限制:

  • 代码节点仅支持有限的第三方依赖(JavaScript:dayjs、lodash;Python:requests_async、numpy)
  • 无法导入其他第三方包,限制了功能扩展能力

适用场景:

  • 快速上线,无需大量技术投入
  • 主要构建对话类Bot应用
  • 与字节生态有集成需求的场景

HiAgent:企业级私有化方案

HiAgent是字节旗下火山引擎推出的企业AI中台,专注于大型企业的私有化部署需求:

  • 支持本地部署和定制化开发
  • 提供完整的企业级解决方案
  • 适合大型企业和高校等机构使用

选择建议:

  1. 数据安全优先:选择Dify或HiAgent的私有化部署
  2. 快速验证:使用扣子进行原型开发和功能验证
  3. 企业级应用:考虑HiAgent的商业化解决方案

大语言模型与本地部署

DeepSeek系列模型

DeepSeek V3作为当前领先的开源大模型,具有以下特点:

  • 参数规模:671B总参数,37B激活参数
  • 上下文长度:128K token
  • 模型能力:支持推理、代码生成、多语言处理

DeepSeek R1专注于推理能力优化,特别适合需要逻辑推理的智能体任务。

本地模型部署方案

Ollama详细部署指南

1. Ollama安装

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# Linux/macOS 一键安装
curl -fsSL https://ollama.ai/install.sh | sh

# 或者手动下载安装
# macOS
curl -L https://ollama.ai/download/ollama-darwin -o ollama
chmod +x ollama
sudo mv ollama /usr/local/bin/

# Linux
curl -L https://ollama.ai/download/ollama-linux-amd64 -o ollama
chmod +x ollama
sudo mv ollama /usr/local/bin/

# Windows
# 下载 https://ollama.ai/download/ollama-windows-amd64.exe

2. 镜像源配置(重要)

国内用户建议配置镜像源以提高下载速度:

1
2
3
4
5
6
7
8
9
10
11
12
13
# 创建配置目录
mkdir -p ~/.ollama

# 方法1:创建配置文件
cat << EOF > ~/.ollama/config.json
{
"registry": {
"mirrors": {
"registry.ollama.ai": "https://ollama.modelscope.cn"
}
}
}
EOF

可用镜像源列表:

1
2
3
4
5
6
7
8
9
10
11
# 魔搭社区(推荐)
https://ollama.modelscope.cn

# 阿里云镜像
https://registry.ollama.ai

# DeepSeek官方镜像
https://ollama.deepseek.com

# 浙江大学镜像站
https://ollama.zju.edu.cn

方法2:环境变量配置

1
2
3
4
5
6
7
8
# 临时设置
export OLLAMA_HOST=0.0.0.0:11434
export OLLAMA_REGISTRY_MIRROR=https://ollama.modelscope.cn

# 永久设置
echo 'export OLLAMA_HOST=0.0.0.0:11434' >> ~/.zshrc
echo 'export OLLAMA_REGISTRY_MIRROR=https://ollama.modelscope.cn' >> ~/.zshrc
source ~/.zshrc

3. 模型管理命令详解

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# 查看可用模型
ollama list

# 下载并运行模型
ollama run deepseek-r1:7b

# 仅下载模型(不运行)
ollama pull llama3.2:1b

# 查看正在运行的模型
ollama ps

# 停止指定模型
ollama stop deepseek-r1:7b

# 删除模型
ollama rm llama3.2

# 查看模型详细信息
ollama show deepseek-r1:7b

# 复制模型(创建别名)
ollama cp deepseek-r1:7b my-deepseek

4. 高级配置选项

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 设置并发加载模型数量
export OLLAMA_MAX_LOADED_MODELS=2

# 设置模型存储路径
export OLLAMA_MODELS=/path/to/your/models

# 设置GPU使用
export OLLAMA_NUM_GPU=1

# 设置内存限制
export OLLAMA_MAX_VRAM=8GB

# 启动服务(后台运行)
ollama serve

5. 推荐轻量级模型

模型名称 大小 参数量 运行命令 适用场景
DeepSeek-R1 4.7GB 7B ollama run deepseek-r1:7b 推理、代码生成
Llama 3.2 1.3GB 1B ollama run llama3.2:1b 轻量级对话
Llama 3.2 2.0GB 3B ollama run llama3.2:3b 平衡性能
Qwen2.5 1.5GB 1.5B ollama run qwen2.5:1.5b 中文优化
Gemma 2 1.6GB 2B ollama run gemma2:2b Google模型

Open WebUI前端部署

1. Docker部署(推荐)

1
2
3
4
5
6
7
8
9
10
11
# 基础部署
docker run -d -p 3000:8080 \
--add-host=host.docker.internal:host-gateway \
-v open-webui:/app/backend/data \
--name open-webui \
--restart always \
ghcr.io/open-webui/open-webui:main

# 验证部署
docker ps | grep open-webui
docker logs open-webui

2. 功能配置

首次访问需要创建管理员账户,然后可以配置:

  • 模型管理:添加/删除可用模型
  • 用户权限:设置用户访问级别
  • 插件扩展:安装各种功能插件
  • Arena模式:随机选择模型进行对比测试

Arena Model 1.竞技场模型
The Arena Model randomly selects from a pool of available models, making sure the evaluation is fair and unbiased. This helps in removing a potential flaw in manual comparison: ecological validity – ensuring you don’t knowingly or unknowingly favor one model.
Arena 模型会从众多可用模型中随机选择,确保评估公平公正。这有助于消除人工比较中的潜在缺陷: 生态效度 ——确保您不会有意或无意地偏向某个模型。

Dify集成Ollama配置

1. 在Dify中添加Ollama模型

进入Dify管理后台 → 模型供应商 → 添加模型:

1
2
3
4
5
# 模型供应商:Ollama
# 基础URL:http://host.docker.internal:11434
# 模型名称:deepseek-r1:7b
# 模型类型:LLM
# 启用对话:是

2. Docker网络配置注意事项

如果Dify和Ollama都运行在Docker中,需要确保网络连通:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# 检查Docker网络
docker network ls

# 创建自定义网络(可选)
docker network create ollama-network

# 启动Ollama时加入网络
docker run -d --name ollama \
--network ollama-network \
-p 11434:11434 \
-v ollama:/root/.ollama \
ollama/ollama

# 在Dify中使用容器名访问
# 基础URL:http://ollama:11434

3. 性能优化配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# GPU支持(NVIDIA)
docker run -d --gpus all \
--name ollama \
-p 11434:11434 \
-v ollama:/root/.ollama \
ollama/ollama

# 内存限制
docker run -d --name ollama \
--memory=8g \
--cpus="4.0" \
-p 11434:11434 \
-v ollama:/root/.ollama \
ollama/ollama

参考链接:

RAG与知识库构建

RAG技术原理

  • 检索(Retrieval):从外部知识库中查找相关信息
  • 增强(Augmented):用检索到的信息增强AI模型的知识
  • 生成(Generation):基于增强后的信息生成回答

RAG(Retrieval-Augmented Generation)结合了信息检索和文本生成技术,解决了以下核心问题:

  • AI模型知识截止时间限制
  • 专业领域知识缺乏
  • 避免模型”幻觉”现象
  • 提供可追溯的信息来源

基本工作流程:

1
用户问题 → 向量化 → 相似性搜索 → 检索相关文档 → 组合提示词 → LLM生成答案

知识库构建实践

文档处理流程:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# 文本分块
from langchain.text_splitter import RecursiveCharacterTextSplitter
text_splitter = RecursiveCharacterTextSplitter(
chunk_size=1000,
chunk_overlap=200
)
chunks = text_splitter.split_documents(documents)

# 向量化存储
from langchain.embeddings import OpenAIEmbeddings
from langchain.vectorstores import Chroma
embeddings = OpenAIEmbeddings()
vectorstore = Chroma.from_documents(
documents=chunks,
embedding=embeddings
)

MaxKB知识库系统

MaxKB是企业级AI助手,支持RAG检索增强生成:

  • 支持多种文档格式:TXT、Markdown、PDF、HTML、DOC、CSV
  • 支持同步Notion文档和网页内容
  • 提供工作流编排和MCP工具调用能力
  • 广泛应用于智能客服、企业知识库问答等场景

部署配置:

1
2
3
4
docker run -d --name=maxkb --restart=always -p 8080:8080 \
-v ~/.maxkb:/var/lib/postgresql/data \
-v ~/.python-packages:/opt/maxkb/app/sandbox/python-packages \
registry.fit2cloud.com/maxkb/maxkb

向量数据库技术

Milvus向量数据库为AI应用提供高性能向量检索能力:

  • 专门为GenAI应用设计的开源向量数据库
  • 支持高速搜索和扩展到数十亿个向量
  • 基于Approximate Nearest Neighbor(ANN)算法进行语义相似性搜索

向量嵌入技术将非结构化数据转换为数值表示,在多维空间中相似的概念会被放置得更近,从而实现语义搜索而非仅仅是关键词匹配。

智能体应用架构设计

应用类型与选择

Dify支持多种应用类型,各有不同的适用场景:

应用类型 特点 适用场景
聊天助手 基于LLM的对话式交互 客服机器人、咨询问答
文本生成 单次生成类任务 内容创作、文本分类、翻译
Agent 任务分解、推理思考、工具调用 复杂业务流程自动化
对话流 多轮对话,具有记忆功能 智能助手、个人顾问
工作流 自动化批处理 文档处理、数据分析

Agent执行模式

Function Calling模式

  • 基于OpenAI的Function Calling规范
  • AI模型直接识别需要调用的工具
  • 一次性决定工具调用参数
  • 适合确定性任务执行

ReAct模式(Reasoning + Acting)

  • 推理与行动的循环模式
  • 模型逐步思考,逐步行动
  • 支持多轮工具调用和中间推理
  • 适合复杂的多步骤任务

文件处理架构

在智能体应用中,文件处理是一个重要环节。需要注意的是:

  • LLM无法直接读取文件,需要通过文档提取器转换为文本
  • 支持多种文件格式:Word、Excel、PDF、Markdown等
  • 可以通过开始节点添加文件变量,或者在附加功能中开启文件上传

文档提取流程:

1
文件上传 → 文档提取器 → 文本变量 → LLM处理 → 结果输出

MCP协议与工具集成

MCP协议概述

Model Context Protocol(模型上下文协议)是由Anthropic开发的开源协议,为AI模型提供安全、标准化的外部资源访问方式。

核心特点:

  • 让AI模型安全地访问外部数据和工具
  • 提供统一的接口标准
  • 支持动态上下文扩展
  • 保障数据安全和隐私

传输方式:

  • HTTP with SSE(Server-Sent Events)
  • Streamable HTTP:支持流式数据传输

MCP协议:

https://modelcontextprotocol.io/introduction

https://www.runoob.com/np/mcp-protocol.html

https://github.com/yzfly/Awesome-MCP-ZH

常用的MCP client: Claude Desktop, AI 应用,Dify, Vscode , Cursor等。

MCP服务器部署

Chrome MCP Server

Chrome MCP Server将浏览器功能暴露给AI助手,实现浏览器自动化:

环境要求:

  • Node.js >= 18.19.0
  • Chrome/Chromium浏览器

安装步骤:

  1. 下载Chrome扩展并安装到浏览器
  2. 全局安装bridge:npm install -g mcp-chrome-bridge
  3. 配置Claude Desktop连接

配置示例:

连接方式1:

使用streamable http的方式连接

1
2
3
4
5
6
7
8
{
"mcpServers": {
"chrome-mcp-server": {
"type": "streamableHttp",
"url": "http://127.0.0.1:12306/mcp"
}
}
}

连接方式2:

使用stdio的方式连接

比如客户端Claude Desktop暂时仅支持stdio连接方式。

找到插件的文件。

1
2
3
~/Library/Application Support/Claude/ npm list -g mcp-chrome-bridge
/opt/homebrew/lib
└── mcp-chrome-bridge@1.0.29
1
/opt/homebrew/lib/node_modules/mcp-chrome-bridge/dist/mcp/mcp-server-stdio.js

在Claude Desktop中配置MCP Server

点击settings, Developer, 点击配置,会自动创建配置文件。

配置文件位置:~/Library/Application Support/Claude/claude_desktop_config.json

1
2
3
4
5
6
7
8
9
10
11
{
"mcpServers": {
"chrome-mcp-stdio": {
"command": "npx",
"args": [
"node",
"/opt/homebrew/lib/node_modules/mcp-chrome-bridge/dist/mcp/mcp-server-stdio.js"
]
}
}
}

重启Claude Desktop,现在就可以在Claude Desktop中直接调用浏览器进行操作了!

Playwright MCP

Playwright MCP提供了更强大的浏览器自动化能力:

1
npm install @playwright/mcp@latest

在Dify中集成MCP:

启动服务:

1
npx @playwright/mcp@latest --port 8931

注意,需要配置IP地址为电脑本地IP,而不是127.0.0.1

1
{  "server_name": {    "url": "http://192.168.64.1:8931/sse",    "headers": {}, "timeout": 50,    "sse_read_timeout": 50  }}

在Claude Desktop中配置:

1
2
3
4
5
6
7
8
9
10
{
"mcpServers": {
"playwright": {
"command": "npx",
"args": [
"@playwright/mcp@latest"
]
}
}
}

可以和之前的配置文件合并:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
{
"mcpServers": {
"chrome-mcp-stdio": {
"command": "npx",
"args": [
"node",
"/opt/homebrew/lib/node_modules/mcp-chrome-bridge/dist/mcp/mcp-server-stdio.js"
]
},
"playwright": {
"command": "npx",
"args": [
"@playwright/mcp@latest"
]
}
}
}

Dify集成MCP

注意,可以在Dify中使用MCP插件,或者先配置MCP服务器(1.6.0以上)。

如果报错,可以选择其他Agent策略。有些可能有问题,不能正常使用。建议选择官方的Dify Agent 策略。

然后可以直接调用工具,或者在Agent中添加工具。

其他MCP工具

https://modelcontextprotocol.io/examples

  • filesystem-MCP:本地文件系统访问
  • MarkItDown-MCP:文档格式转换
  • firecrawl-mcp-server:网页爬取

实践案例:测试助手智能体

项目背景

针对测试管理、执行工作中重复度高、机械化程度高的工作开发智能体,主要包括:

  • 文档检核智能体
  • 批量任务处理智能体
  • 自动化测试任务执行智能体

架构设计

智能体架构层次:

graph LR
    subgraph "用户交互层"
        U1[测试经理用户]
        U2[文件上传界面]
        U3[参数输入表单]
    end
    
    subgraph "智能体层"
        S1[测试报告核验助手]
        S2[对话管理]
        S3[文件处理]
    end
    
    subgraph "工作流层"
        W1[测试报告核验工作流]
    end
    
    subgraph "节点执行层"
        N1[文档提取器节点]
        N2[代码执行节点]
        N3[HTTP请求节点]
        N4[LLM验证节点]
    end
    
    subgraph "外部系统层"
        E1[测试管理平台API]
        E2[VP系统API]
        E3[DeepSeek大模型]
    end

工作流设计

数据流处理:

  1. 输入层

    • 业务需求编号和名称
    • 测试报告文件
    • 测试案例文件
    • 背景内容
  2. 数据提取层

    • 文档提取器:处理Word/Excel文档
    • 代码执行:提取文件元信息
    • HTTP请求:查询外部系统数据
  3. 验证层

    • LLM验证文件名规范
    • LLM验证报告内容完整性
    • LLM验证案例数据一致性
  4. 分析层

    • 交叉验证分析
    • 数据一致性检查
  5. 输出层

    • 生成结构化验证报告
    • 提供问题清单和改进建议

数据库集成实践

在工作流中,可能需要查询外部数据库。

MySQL连接配置:

由于Dify运行在Docker环境中,需要特殊的网络配置:

1
2
3
4
5
主机地址: host.docker.internal
端口: 3306
数据库名: dify_test
用户名: dify
密码: dify123

连接字符串格式:

1
mysql+pymysql://dify:dify123@host.docker.internal:3306/dify_test

这种架构设计确保了智能体能够:

  • 自动处理多种格式的测试文档
  • 与外部测试管理系统无缝集成
  • 提供准确的验证结果和改进建议
  • 支持批量处理和规模化应用

AI编程助手与开发工具

主流编程助手工具

在智能体开发过程中,AI编程助手能够显著提高开发效率:

Claude Code详细配置

1. 安装配置

Claude Code是Anthropic推出的官方CLI工具,需要API Key支持:

1
2
3
4
5
6
7
8
9
# 安装Claude Code
npm install -g @anthropic-ai/claude-code

# 设置API Key
export ANTHROPIC_API_KEY="your-api-key-here"

# 或者在配置文件中设置
echo 'export ANTHROPIC_API_KEY="your-api-key-here"' >> ~/.zshrc
source ~/.zshrc

2. 网络代理配置(国内必需)

国内用户需要配置代理才能正常使用:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# 方法1:环境变量配置
export HTTP_PROXY=http://127.0.0.1:7890
export HTTPS_PROXY=http://127.0.0.1:7890
export ALL_PROXY=http://127.0.0.1:7890

# 方法2:通过代理软件运行
# 确保代理软件(如Clash、V2Ray等)运行在7890端口
claude

# 方法3:使用proxychains(Linux/macOS)
sudo apt-get install proxychains4 # Ubuntu/Debian
brew install proxychains-ng # macOS

# 编辑配置文件 /etc/proxychains.conf 或 ~/.proxychains/proxychains.conf
# 添加:socks5 127.0.0.1 7890

# 使用代理运行
proxychains4 claude

3. 主要功能特点

  • 大型代码库分析:支持超过100万token上下文长度
  • 多模态应用生成:通过PDF或草图快速生成应用程序原型
  • 自动化运维任务:Git操作、PR查询、代码迁移计划制定
  • 集成外部工具:通过MCP服务器连接各种工具
  • 联网搜索支持:获取最新信息

Gemini CLI部署配置

1. 安装与配置

1
2
3
4
5
6
7
# 安装Gemini CLI
npm install -g @google/gemini-cli

# 设置API Key
export GEMINI_API_KEY="YOUR_API_KEY"
echo 'export GEMINI_API_KEY="YOUR_API_KEY"' >> ~/.zshrc
source ~/.zshrc

2. 代理配置(国内必需)

1
2
3
4
5
6
7
8
9
# 设置代理环境变量
export HTTP_PROXY=http://127.0.0.1:7890
export HTTPS_PROXY=http://127.0.0.1:7890

# 验证代理连接
curl -I https://ai.google.dev

# 启动Gemini CLI
gemini

3. 功能亮点

  • 处理大型代码库:超过100万token上下文长度
  • 多模态应用生成:PDF/草图快速原型
  • 自动化运维:Git操作、PR查询等
  • 媒体生成集成:Imagen、Veo、Lyria等
  • 实时信息搜索:内置Google Search

其他优秀开发工具

1. Cursor

1
2
3
4
5
6
7
8
# 下载安装
# https://cursor.sh/

# 主要特点:
# - 集成AI的代码编辑器
# - 支持多种大模型
# - 实时代码补全和解释
# - 支持自然语言编程

2. Windsurf

1
2
3
4
5
6
7
# 新兴的AI编程环境
# https://codeium.com/windsurf

# 特点:
# - AI原生的编程体验
# - 多文件代码理解
# - 智能重构和优化

3. GitHub Copilot

1
2
3
4
5
6
# VSCode扩展安装
# 在VSCode中搜索"GitHub Copilot"

# 或通过CLI使用
gh copilot suggest "create a web server"
gh copilot explain "complex regex pattern"

4. TabbyML - 开源替代方案

自建AI编程助手:

1
2
3
4
5
6
7
# Docker部署
docker run -it \
--gpus all -p 8080:8080 -v ~/.tabby:/data \
tabbyml/tabby \
serve --model TabbyML/StarCoder-1B --chat-model TabbyML/Mistral-7B

# 访问 http://localhost:8080

配置要点:

1
2
3
4
5
6
7
# 环境变量配置
export TABBY_MODEL_CACHE_ROOT=/path/to/models
export TABBY_HOST=0.0.0.0
export TABBY_PORT=8080

# GPU加速配置
export CUDA_VISIBLE_DEVICES=0

开发环境最佳实践

1. 代理配置统一管理

创建代理配置脚本:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# ~/.proxy_config.sh
#!/bin/bash

# 设置代理
export HTTP_PROXY=http://127.0.0.1:7890
export HTTPS_PROXY=http://127.0.0.1:7890
export ALL_PROXY=http://127.0.0.1:7890

# Git代理配置
git config --global http.proxy http://127.0.0.1:7890
git config --global https.proxy http://127.0.0.1:7890

# npm代理配置
npm config set proxy http://127.0.0.1:7890
npm config set https-proxy http://127.0.0.1:7890

echo "代理配置已设置"

使用方法:

1
2
3
4
5
6
7
8
9
# 启用代理
source ~/.proxy_config.sh

# 禁用代理时
unset HTTP_PROXY HTTPS_PROXY ALL_PROXY
git config --global --unset http.proxy
git config --global --unset https.proxy
npm config delete proxy
npm config delete https-proxy

2. API Key管理

1
2
3
4
5
6
7
8
# 创建API Key配置文件
# ~/.api_keys
export ANTHROPIC_API_KEY="claude-api-key"
export GEMINI_API_KEY="gemini-api-key"
export OPENAI_API_KEY="openai-api-key"

# 在.zshrc或.zshrc中加载
source ~/.api_keys

3. Docker开发环境

创建统一的AI开发环境:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# Dockerfile
FROM ubuntu:22.04

RUN apt-get update && apt-get install -y \
curl \
git \
nodejs \
npm \
python3 \
python3-pip \
docker.io

# 安装AI工具
RUN npm install -g @anthropic-ai/claude-code @google/gemini-cli
RUN pip3 install ollama

# 设置工作目录
WORKDIR /workspace

# 启动脚本
COPY start.sh /start.sh
CMD ["/start.sh"]

参考链接:

技术生态与未来展望

AI技术栈整体架构

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Ollama: 本地AI模型服务
├── 提供各种开源模型
├── GPU加速推理
└── API接口服务

Open WebUI: 通用AI对话界面
├── 友好的聊天体验
├── 模型切换和管理
├── 历史对话记录
└── 插件扩展支持

Dify: 企业级AI应用平台
├── RAG应用构建
├── Agent开发
├── 工作流编排
├── API生成
└── 复杂业务逻辑

MaxKB: 专业知识库系统
├── 结构化知识管理
├── 企业级权限控制
├── 多租户支持
└── 客服场景优化

学习建议

对于不同规模的应用场景:

  1. 新手学习:建议使用Ollama+AnythingLLM/MaxKB架构,逐步摸索实践
  2. 小型单位:可选择Ollama+MaxKB/Dify架构进行私有化部署
  3. 企业级应用:建议选择HiAgent等大型智能体平台,提供定制化解决方案

技术发展趋势

  • 模型能力持续提升:从GPT到Claude到DeepSeek,推理能力不断增强
  • 部署成本持续降低:本地化部署方案日趋成熟
  • 工具集成日益丰富:MCP协议推动了工具生态的标准化
  • 应用场景不断扩展:从聊天机器人到复杂业务流程自动化

其他技术领域探索

工作流自动化:n8n

n8n是一个开源的工作流自动化工具,可以与AI平台无缝集成,实现复杂的业务流程自动化。

n8n部署与配置

1. Docker快速部署

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# 创建数据卷
docker volume create n8n_data

# 基础部署
docker run -it --rm --name n8n -p 5678:5678 \
-v n8n_data:/home/node/.n8n \
docker.n8n.io/n8nio/n8n

# 持久化部署
docker run -d --name n8n --restart always \
-p 5678:5678 \
-v n8n_data:/home/node/.n8n \
-e N8N_BASIC_AUTH_ACTIVE=true \
-e N8N_BASIC_AUTH_USER=admin \
-e N8N_BASIC_AUTH_PASSWORD=password \
docker.n8n.io/n8nio/n8n

2. 环境变量配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# 创建.env文件
cat << EOF > n8n.env
N8N_BASIC_AUTH_ACTIVE=true
N8N_BASIC_AUTH_USER=admin
N8N_BASIC_AUTH_PASSWORD=your_secure_password
N8N_HOST=0.0.0.0
N8N_PORT=5678
N8N_PROTOCOL=http
WEBHOOK_URL=http://localhost:5678/
DB_TYPE=sqlite
DB_SQLITE_DATABASE=/home/node/.n8n/database.sqlite
N8N_ENCRYPTION_KEY=your_encryption_key
EOF

# 使用环境变量启动
docker run -d --name n8n --restart always \
-p 5678:5678 \
-v n8n_data:/home/node/.n8n \
--env-file n8n.env \
docker.n8n.io/n8nio/n8n

3. 与AI平台集成

n8n可以通过HTTP请求节点与Dify、Ollama等AI平台集成:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
{
"nodes": [
{
"name": "Trigger",
"type": "n8n-nodes-base.webhook"
},
{
"name": "Call Dify API",
"type": "n8n-nodes-base.httpRequest",
"parameters": {
"url": "http://localhost/v1/chat-messages",
"method": "POST",
"headers": {
"Authorization": "Bearer your-api-key",
"Content-Type": "application/json"
},
"body": {
"inputs": {},
"query": "{{$json.message}}",
"response_mode": "blocking",
"user": "user-123"
}
}
}
]
}

访问地址: http://localhost:5678

参考链接:

大数据技术栈

虽然不是AI智能体的核心内容,但在数据处理和分析方面,大数据技术仍有重要价值:

Hadoop生态系统

核心组件:

  • HDFS:分布式文件系统,负责存储
  • YARN:资源管理器,负责资源调度
  • MapReduce:计算引擎,负责数据处理

快速体验部署:

1
2
3
4
5
6
7
8
9
# 使用Docker快速搭建Hadoop环境
docker run -it --name hadoop-test \
-p 9870:9870 -p 8088:8088 \
sequenceiq/hadoop-docker:2.7.0 \
/etc/bootstrap.sh -bash

# 访问Web界面
# HDFS: http://localhost:9870
# YARN: http://localhost:8088

Spark计算引擎

1
2
3
4
5
6
7
8
# Docker部署Spark
docker run -it --rm \
-p 4040:4040 -p 8080:8080 \
-v $(pwd):/workspace \
apache/spark:3.5.0 \
/opt/spark/bin/spark-shell

# 访问Spark Web UI: http://localhost:4040

特点:

  • 替代MapReduce,基于内存计算,处理速度更快
  • 支持多种工作负载:批处理、流处理、机器学习
  • 包含Spark Core、Spark SQL、Spark Streaming、Spark MLlib等组件

Apache Flink流处理

1
2
3
4
5
6
7
8
9
10
# Docker部署Flink
docker run -d --name flink-jobmanager \
-p 8081:8081 \
flink:1.17.0 jobmanager

docker run -d --name flink-taskmanager \
--link flink-jobmanager:jobmanager \
flink:1.17.0 taskmanager

# 访问Web界面: http://localhost:8081
  • 专门为实时数据处理设计的流处理计算引擎
  • 通常与Kafka配合使用进行实时数据处理

学习路径建议:

  1. 本地环境:使用Docker简化搭建过程
  2. 云平台体验:使用阿里云、腾讯云、AWS免费试用
  3. 在线平台:Databricks Community Edition
  4. 实践项目:从词频统计开始,逐步进阶
  5. 学习顺序:建议从Spark开始,相对简单且应用广泛

参考链接:

内网开发环境配置

在纯内网环境下开发智能体应用时,需要特殊的配置方法:

Node.js离线环境配置

1. 手动路径配置

1
2
3
4
5
6
7
8
9
10
11
12
13
# Windows环境
# 手动指定命令路径
C:\Users\username\nodejs\node.exe
C:\Users\username\nodejs\npm.cmd

# 创建批处理文件
# node.bat
@echo off
C:\Users\username\nodejs\node.exe %*

# npm.bat
@echo off
C:\Users\username\nodejs\npm.cmd %*

假设你下载了一个名为my-package.zip的zip包,解压后目录结构如下:

1
2
3
4
5
my-package/
├── package.json
├── index.js
└── node_modules/
└── ... (已安装的依赖项)

my-package目录下,运行npm install,npm会读取package.json文件,安装其中的依赖项。如果package.json中定义了依赖lodash,那么npm会安装lodashmy-package/node_modules目录。

查看 node_modules/@playwright/mcp/package.json 文件,找到 "bin" 部分,看看实际的可执行文件路径是什么,然后直接运行那个文件。

1
node node_modules/@playwright/mcp/cli.js --port 8931

总结

AI智能体技术正在快速发展,从底层的大语言模型到上层的应用平台,整个技术栈日趋完善。在选择技术方案时,需要根据具体的业务需求、技术能力和安全要求进行综合考虑:很多公司因为数据安全的考虑会选择私有化部署方案。但在部署落地过程中可能遇到很多网络相关的报错问题。

未来,随着MCP协议等标准的推广,AI智能体将能够更好地集成各种外部工具和系统,真正成为企业数字化转型的重要助力。