Skip to content

Latest commit

 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

README.md

Demo 26: Prioritization Pattern (优先级排序模式)

这是一个使用 Vercel AI SDKDeepSeek API 实现的项目管理智能体示例,展示了 AI 智能体如何根据优先级排序模式来管理任务。

功能介绍

该项目实现了一个项目经理 AI 智能体,能够:

  • 创建新任务并分配唯一 ID
  • 根据用户请求自动分析并分配任务优先级(P0/P1/P2)
  • 将任务分配给合适的工作人员(Worker A/Worker B/Review Team)
  • 列出所有任务及其状态

优先级排序规则

  • P0(最高优先级):紧急、关键任务(如用户提到 "urgent", "ASAP", "critical")
  • P1(中等优先级):常规任务(默认优先级)
  • P2(最低优先级):低优先级任务

技术栈

  • 运行时: Node.js 22.16.0
  • 包管理器: pnpm
  • 语言: TypeScript
  • AI SDK: Vercel AI SDK (ai 包)
  • LLM Provider: DeepSeek (@ai-sdk/deepseek)
  • 代码质量: ESLint + Prettier

安装

1. 确保 Node.js 版本

# 使用 nvm 切换到项目指定的 Node.js 版本
nvm use

2. 安装依赖

pnpm install

3. 配置环境变量

复制 .env.example 文件为 .env

cp .env.example .env

然后编辑 .env 文件,填入你的 DeepSeek API Key:

DEEPSEEK_API_KEY=your_deepseek_api_key_here

💡 如何获取 DeepSeek API Key:

  1. 访问 DeepSeek 开放平台
  2. 注册并登录
  3. 在 API Keys 页面创建新的 API Key

使用方法

开发模式运行

pnpm dev

构建项目

pnpm build

运行构建后的代码

pnpm start

代码格式化

pnpm format

代码检查

pnpm lint

项目结构

demo26-prioritization/
├── src/
│   ├── types.ts           # 类型定义
│   ├── task-manager.ts    # 任务管理器
│   ├── tools.ts           # 工具函数定义
│   ├── pm-agent.ts        # 项目经理智能体
│   └── index.ts           # 主程序入口
├── todos/
│   ├── spec1.md           # 项目需求文档
│   └── task1.md           # 任务拆解文档
├── .env.example           # 环境变量示例
├── .nvmrc                 # Node.js 版本配置
├── package.json           # 项目配置
├── tsconfig.json          # TypeScript 配置
├── eslint.config.js       # ESLint 配置
└── .prettierrc            # Prettier 配置

测试场景

程序包含两个测试场景:

场景 1:紧急任务,指定工作人员

用户请求

Create a task to implement a new login system. It's urgent and should be assigned to Worker B.

预期行为

  1. 创建任务(获得 TASK-001)
  2. 分析关键词 "urgent",分配 P0 优先级
  3. 分析关键词 "Worker B",分配给 Worker B
  4. 列出所有任务

场景 2:普通任务,信息不完整

用户请求

Manage a new task: Review marketing website content.

预期行为

  1. 创建任务(获得 TASK-002)
  2. 没有紧急关键词,分配默认 P1 优先级
  3. 没有指定工作人员,分配给默认 Worker A
  4. 列出所有任务

工作原理

该项目使用 Vercel AI SDKtool calling 功能,让 LLM 能够:

  1. 理解用户意图:分析用户请求中的优先级和分配信息
  2. 规划任务步骤:决定先创建任务,再分配优先级和工作人员
  3. 调用工具:使用预定义的工具函数执行实际操作
  4. 动态决策:根据工具执行结果调整后续行动

核心概念

优先级排序模式

优先级排序模式通过让智能体根据以下标准评估和排序任务来解决资源有限的问题:

  • 紧迫性:任务的时间敏感度
  • 重要性:对主要目标的影响
  • 依赖关系:任务之间的先后顺序
  • 资源可用性:所需工具或人员的就绪状态
  • 成本收益分析:投入与预期产出的对比

智能体工作流

用户请求 → LLM 分析 → 工具调用 → 执行操作 → 返回结果 → LLM 决策 → 继续或结束

参考资料

License

MIT