从0开始打造自己的个人智能体(一)——Deep Agents js环境配置与对话入门

从0开始打造自己的个人智能体(一)------Deep Agents js环境配置与对话入门

本教程专注于最基础的环境搭建 + 纯对话能力,不涉及工具调用、文件系统等进阶功能,确保你最快跑通与大模型的交互。


一、前置准备

  1. Node.js 18+ :建议使用 18.x 或更高版本,支持原生 ESM 模块与顶层 await
  2. 包管理器:npm /pnpm/yarn /bun 任选,本教程使用 npm
  3. 代码编辑器:VSCode、Trae 等都可以
  4. 至少一个大模型 API 密钥:OpenAI、Anthropic、或任何兼容 OpenAI 接口的模型服务

二、项目初始化

  1. 在电脑上合适的位置,新建一个名为 deepagents-chat-demo的文件夹。
  2. 把文件夹拖进代码编辑器。
  3. 在文件夹内新建一个名为 package.json 的文件,填入以下内容:
perl 复制代码
{
  "type": "module",
  "name": "deepagents-chat-demo",
  "version": "1.0.0",
  "dependencies": {
    "@langchain/core": "^1.2.3",
    "@langchain/langgraph": "^1.4.8",
    "@langchain/openai": "^1.5.5",
    "@langchain/anthropic": "^0.3.0",
    "deepagents": "^1.12.0",
    "dotenv": "^17.4.2",
    "langchain": "^1.5.4"
  }
}

依赖说明:

  • deepagents:Deep Agents 核心框架,提供开箱即用的智能体全套能力
  • langchain:底层基础组件库,提供模型、工具等通用抽象与标准接口
  • @langchain/core:LangChain 核心基础模块,包含通用类型定义与底层基础能力
  • @langchain/langgraph:底层编排运行时,支撑智能体的状态管理、持久化与执行流程
  • @langchain/openai:OpenAI 接口适配器,兼容所有支持 OpenAI 格式的大模型服务
  • @langchain/anthropic:Anthropic 官方接口适配器,用于接入 Claude 系列模型,支持原生 Prompt Caching 特性
  • dotenv:环境变量加载工具,用于统一管理 API 密钥、模型地址等敏感配置

三、安装依赖

在编辑器的终端面板中执行以下命令,安装所有依赖包:

复制代码
npm install

四、配置模型与编写对话代码

基础版:环境变量自动配置(入门推荐)

在项目根目录新建 .env 文件:

ini 复制代码
# .env
# 模型名称,格式:openai:模型名
DEEPAGENTS_MODEL=openai:gpt-4o-mini

# API 密钥
OPENAI_API_KEY=你的API密钥

# 第三方兼容服务接口地址,使用官方 OpenAI 可注释
# OPENAI_BASE_URL=https://你的接口地址/v1

💡 所有兼容 OpenAI 接口的第三方模型,都可以通过修改上述三项配置直接接入,业务代码无需改动。

新建 chat.js,这是不含任何工具的纯对话版本:

javascript 复制代码
// 加载环境变量
import "dotenv/config";

// 导入 Deep Agents 核心方法
import { createDeepAgent } from "deepagents";

// 从环境变量读取模型名称
const model = process.env.DEEPAGENTS_MODEL;

// 创建智能体实例
const agent = await createDeepAgent({
  // 传入模型名称字符串,底层自动读取 OPENAI_ 开头的环境变量完成实例化
  model: model,
  // 系统提示词:设定 AI 的身份和行为
  systemPrompt: "你是一个简洁友好的助手,回答尽量简短清晰。",
});

// 使用 invoke 发起一次对话
const response = await agent.invoke({
  messages: [
    { role: "user", content: "你好,请简单介绍一下你自己。" }
  ],
});

// 输出 AI 的最终回复
console.log("AI 回复:", response.messages.at(-1).content);
代码说明
  • createDeepAgent:创建智能体实例,model 是必填参数
  • 字符串形式的 model:格式为 服务商:模型名,配合标准 OPENAI_ 环境变量即可自动完成模型初始化,适合快速上手
  • invoke:同步调用方法,传入消息数组,返回完整的对话状态
  • response.messages.at(-1).content:取最后一条消息的内容,即 AI 的回答

进阶版:手动传入模型实例(兼容openai接口)

当你需要自定义温度、使用自定义命名的环境变量,或配置超时、代理等更多模型参数时,可以手动创建模型实例再传入。以智谱模型为例:

.env 中配置智谱专属参数:

ini 复制代码
# .env
# 模型名称
GLM_MODEL=glm-4-flash-250414

# API 密钥
GLM_API_KEY=你的API密钥

# 智谱接口地址
GLM_BASE_URL=https://open.bigmodel.cn/api/paas/v4/

修改 chat.js 代码:

php 复制代码
// 加载环境变量
import "dotenv/config";
import { createDeepAgent } from "deepagents";
import { ChatOpenAI } from "@langchain/openai";

// 手动封装模型创建函数,支持自定义参数和环境变量名
function createModel(options = {}) {
  return new ChatOpenAI({
    model: process.env.GLM_MODEL || "glm-4-flash-250414",
    apiKey: process.env.GLM_API_KEY,
    configuration: {
      baseURL: process.env.GLM_BASE_URL || "https://open.bigmodel.cn/api/paas/v4/",
    },
    temperature: 0.7,
    ...options,
  });
}

const model = createModel();

// 创建智能体实例,直接传入模型实例
const agent = await createDeepAgent({
  model: model,
  systemPrompt: "你是一个简洁友好的助手,回答尽量简短清晰。",
});

// 调用方式不变
const response = await agent.invoke({
  messages: [
    { role: "user", content: "你好,请简单介绍一下你自己。" }
  ],
});

console.log("AI 回复:", response.messages.at(-1).content);

这种方式灵活性最高,支持所有模型参数的自定义,适合生产环境或有特殊配置需求的场景。


五、运行测试

在终端执行:

复制代码
node chat.js

预期输出示例:

复制代码
AI 回复:你好!我是一个 AI 助手,可以帮你解答问题、提供信息和进行交流。有什么我可以帮你的吗?

跑通这一步,说明环境配置成功,Deep Agents 已经可以正常调用大模型了。


六、常见问题排查

  1. 报错 Failed to load model 检查模型名称拼写是否正确,以及对应的 API Key 和 Base URL 是否配置正确。
  2. 报错 Cannot use import statement outside a module 忘记在 package.json"type": "module",加上即可。
  3. 网络连接失败 如果使用官方 OpenAI,确保网络能正常访问;如果使用国内服务商,检查 Base URL 是否正确。
  4. 返回结果很长,不是单纯的回答 请使用 response.messages.at(-1).content 取最后一条消息,不要直接打印整个 response 对象。
相关推荐
阿里云云原生1 小时前
只有日志告警不够:构建 AI Agent 时代的可解释性“全息审计”体系
agent
码农小韩2 小时前
AIAgent应用开发——大模型理论基础与应用(七)
python·学习·ai·大模型·agent
weixin_468466853 小时前
DeepSeek-V4-Flash正式版深度解析:当“轻量模型”用后训练撬动Agent能力革命
人工智能·大模型·agent·deepseek·deepseek-v4
晨曦中的暮雨3 小时前
Learn Claude Code:CodeAgent 的状态机流程编排——Todo任务系统和自主智能体
ai·大模型·agent
leeyi3 小时前
pgvector 入门:向量存进你已经在用的 PostgreSQL(第72篇-E58)
aigc·agent·ai编程
武子康4 小时前
2026 年 7 月 AI 模型发布复盘:真正被比较的是整套工作系统
人工智能·llm·agent
gyx_这个杀手不太冷静4 小时前
Agent开发进阶指南(第 2 章):Agent 运行全流程拆解、上下文窗口、流式输出、记忆系统与 Function Call 实战
前端·架构·agent
不一样的少年_6 小时前
Claude Code 是怎么自己改代码的?答案藏在这 4 个工具里
前端·agent·ai编程