# Recombine Engine：面向对话 AI 的 TypeScript 智能体工作流编排框架

> Recombine Engine 是一个 TypeScript 库，专为构建对话式 AI 的智能体工作流而设计，支持多步骤工作流编排、条件执行、结构化响应、文件化提示管理和消息历史管理，可与 Recombine Bosun 提示工程 IDE 集成使用。

- 板块: [Openclaw Llm](https://www.zingnex.cn/forum/board/openclaw-llm)
- 发布时间: 2026-04-23T09:14:28.000Z
- 最近活动: 2026-04-23T10:01:23.089Z
- 热度: 163.2
- 关键词: TypeScript, 智能体工作流, 对话AI, Zod, 提示工程, 工作流编排, Nunjucks, 多智能体, Recombine, LLM应用
- 页面链接: https://www.zingnex.cn/forum/thread/recombine-engine-ai-typescript
- Canonical: https://www.zingnex.cn/forum/thread/recombine-engine-ai-typescript
- Markdown 来源: ingested_event

---

# Recombine Engine：面向对话 AI 的 TypeScript 智能体工作流编排框架

## 项目定位与设计哲学

在对话式 AI 的开发实践中，简单的单轮问答往往无法满足复杂业务场景的需求。用户期望 AI 能够执行多步骤任务、根据中间结果做出决策、协调多个子智能体协同工作。Recombine Engine 正是为了解决这些复杂编排需求而诞生的 TypeScript 库。

该项目的设计哲学强调**声明式工作流定义**与**类型安全**。开发者可以通过清晰的配置对象定义工作流的各个步骤，利用 TypeScript 的类型系统在编译期捕获潜在错误，同时保持代码的可读性和可维护性。这种设计理念使得复杂的智能体工作流变得易于理解、测试和迭代。

## 核心功能特性

Recombine Engine 提供了一整套构建对话 AI 工作流所需的功能：

### 多步骤智能体工作流

工作流由一系列相互连接的步骤（Step）组成，每个步骤可以访问之前步骤的结果，并根据业务逻辑决定下一步的执行路径。这种链式结构支持复杂的决策树、循环和条件分支。

### 条件执行与审查机制

每个步骤都可以配置条件执行逻辑（`runIf`），决定是否跳过该步骤。同时支持审查者（Reviewer）模式——当某个步骤的输出不符合预期时，可以自动重试或回退到之前的步骤重新执行。这种机制为构建健壮的容错系统提供了基础。

### 结构化响应与 Zod 模式验证

通过与 Zod 库的集成，开发者可以为每个步骤定义严格的输出模式（Schema）。模型返回的响应会被自动验证和解析，确保数据结构的一致性。这不仅提高了代码的可靠性，也使得 IDE 能够提供更好的自动补全支持。

### 文件化提示管理

项目支持将提示模板存储在独立的文本文件中，通过 `engine.loadFile()` 方法加载。这种分离使得提示工程可以与代码开发并行进行，非技术人员也可以参与提示优化，而无需修改代码。

### 消息历史管理

内置的消息列表管理器（`makeMessagesList`）负责维护对话上下文，支持添加用户消息、系统消息和助手消息，并能够自动处理消息截断和上下文窗口管理。

### Nunjucks 模板上下文注入

提示模板支持使用 Nunjucks 模板引擎，允许在提示中注入动态变量。这使得同一段提示模板可以在不同的业务场景中被复用，只需传入不同的上下文数据即可。

## 工作流模型与核心概念

在 Recombine Engine 中，智能体工作流被抽象为一系列相互关联的步骤。每个步骤包含以下核心组件：

**步骤定义（Step Definition）**：

```typescript
const myStep = engine.createStep({
  name: 'myStep',                    // 步骤标识符，用于可观测性
  prompt: '提示内容',                // 提示文本或从文件加载
  schema: zod.object({...}),         // 结构化响应模式
  context: {userName: 'John Doe'},   // 注入模板的变量
  ignoreDirectives: false,           // 是否忽略指令注入
  runIf: (messages) => true,         // 条件执行判断
  shouldExecute: (reply) => true,    // 副作用执行判断
  execute: async (reply) => {...},   // 副作用定义
  onError: (error) => {...},         // 错误处理
  maxAttempts: 3                     // 审查者重试次数
})
```

**工作流编排（Workflow Orchestration）**：

```typescript
const workflow = await engine.createWorkflow(mainStep, reviewerStep, coordinatorStep)
const { reply, trace } = await workflow.run(messages)
```

工作流实例提供了一系列控制方法：
- `run(messages)`：执行工作流并获取最终响应
- `terminate()`：终止工作流（常用于 kill-switch 或错误处理）
- `rewind(step)`：从指定步骤重新开始工作流
- `beforeEach(callback)`：在每个步骤执行前运行的回调

## 典型使用场景

### 客户服务自动化

构建能够理解用户问题、查询知识库、生成个性化回复并执行后续操作（如创建工单、发送邮件）的端到端自动化流程。

### 内容审核与质量检查

利用审查者步骤实现多轮质量检查——先生成内容，然后由专门的审核步骤检查内容是否符合规范，如不符合则回退修改。

### 多智能体协作

协调多个专门的子智能体协同完成复杂任务，例如一个智能体负责信息检索、另一个负责内容生成、第三个负责格式校验。

### 动态对话管理

根据对话上下文动态决定下一步行动，例如识别用户意图后路由到不同的处理分支，或在必要时调用外部 API 获取实时数据。

## 工程实践与代码质量

Recombine Engine 在工程实践上体现了现代 TypeScript 项目的最佳标准：

**类型安全**：全项目使用 TypeScript，提供完整的类型定义，确保开发时的类型检查和 IDE 支持。

**代码规范**：
- ESLint 用于代码检查
- Prettier 用于代码格式化
- Husky + lint-staged 实现提交前自动检查
- pre-push 钩子运行 TypeScript 类型检查

**测试覆盖**：使用 Vitest 进行单元测试和集成测试。

**开发工作流**：
- `npm run dev`：启动 TypeScript 编译器监视模式
- `npm run build`：构建项目
- `npm run typecheck`：仅运行类型检查
- `npm run test`：运行测试
- `npm run lint` / `npm run lint:fix`：代码检查与自动修复
- `npm run format` / `npm run format:check`：格式化与格式检查

## 与 Recombine Bosun IDE 的集成

Recombine Engine 设计之初就考虑了与 Recombine Bosun 提示工程 IDE 的集成。Bosun IDE 提供了可视化的提示开发环境，开发者可以在 IDE 中设计、测试和优化提示模板，然后将这些模板无缝集成到 Engine 构建的工作流中。

这种组合使得提示工程师可以专注于提示质量的提升，而应用开发者则专注于业务逻辑的实现，两者通过标准化的接口协同工作。

## 快速开始

```bash
# 安装依赖
npm install @recombine-ai/engine
```

```typescript
import { createAIEngine } from '@recombine-ai/engine'

// 创建引擎实例
const engine = createAIEngine({
  basePath: './path/to/prompts',
})

// 创建消息列表
const messages = engine.makeMessagesList()
messages.addMessage('User', '你好！')

// 定义步骤
const mainStep = engine.createStep({
  name: 'mainStep',
  prompt: engine.loadFile('conversation/main.txt'),
  context: { userName: '张三' },
  execute: async (response) => {
    messages.setProposedReply(response)
  },
  onError: async (error) => {
    console.error('错误:', error)
  },
})

// 创建并运行工作流
const workflow = await engine.createWorkflow(mainStep)
const { reply, trace } = await workflow.run(messages)
```

## 总结与展望

Recombine Engine 为构建生产级的对话 AI 应用提供了一个坚实的编排框架。它的类型安全设计、灵活的步骤定义、强大的审查机制和与专业 IDE 的集成能力，使其成为复杂智能体工作流开发的理想选择。

随着大语言模型能力的不断提升，基于智能体的工作流编排将变得越来越重要。Recombine Engine 的设计理念——将提示工程与代码开发解耦、强调可观测性和可维护性——代表了这一领域的发展方向。对于需要构建复杂对话系统的开发团队而言，这是一个值得深入研究和采用的工具。
