File size: 6,037 Bytes
9b9c5c1
 
 
 
 
 
 
 
f39c319
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8efeb01
f39c319
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8efeb01
 
f39c319
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
---
title: Privacy Compliance Agent
emoji: 🛡️
colorFrom: blue
colorTo: green
sdk: docker
pinned: false
---
# 隐私合规协同场景 - 智能体服务层 (Privacy Compliance Agent Services)

本项目为“银行智能体操作台系统”中的核心组件之一:**同业隐私协议跟踪与客户协议重构协同场景**的智能体服务层。该服务提供 4 个角色智能体(Agent)的标准化 API,专为云端部署的 **Dify** 平台工作流编排而设计。

## 🎯 业务目标

围绕“同业隐私协议跟踪与客户协议重构”场景,形成以下可执行的自动化能力链:
1. **同业/监管变化摘要** (AGENT-01)
2. **协议重构与建议** (AGENT-02)
3. **合规校验** (AGENT-03)
4. **法务审核包生成** (AGENT-04)

通过 Dify 调用这些服务,可以完成从客户原始材料(协议、PRD、权限、SDK清单)到最终法务结构化审核包的完整 AI 处理链。

---

## 🚀 核心特性

- **高度结构化的输出 (JSON Schema)**:所有智能体 API 严格遵循预定义的 JSON Schema 输出数据,确保上下游节点(Dify)能够稳定解析。
- **角色分离的智能体架构**:4 个智能体各司其职,不越权、不混淆(例如:协议重构智能体不负责输出最终合规结论,法务智能体不替代人工审批)。
- **统一的上下文模型**:通过 `CaseContext` 对象贯穿整个生命周期,保证了上下文信息的完整传递。
- **内置容错与 NFR 机制**:包含全局的请求日志追踪(`case_id`)、全局错误码映射(如 `4001` 缺材料、`5001` 推理失败)和重试友好型设计。

---

## 🛠️ 技术栈

- **Runtime**: [Node.js](https://nodejs.org/) (v16+)
- **Language**: [TypeScript](https://www.typescriptlang.org/)
- **Framework**: [Express.js](https://expressjs.com/)
- **Data Validation**: JSON Schema

---

## 📁 项目结构

```text
/workspace
├── src/
│   ├── index.ts           # Express 服务入口与路由定义
│   ├── llm.ts             # 大模型调用核心逻辑(含 Prompt 占位与 Mock)
│   ├── middlewares.ts     # 全局错误处理与日志追踪中间件
│   ├── models/            # TypeScript 数据模型定义 (CaseContext 等)
│   └── schemas/           # JSON Schema 文件 (供外部系统校验使用)
├── test.ts                # 端到端串联测试脚本
├── package.json           # 项目依赖与 npm 脚本
├── tsconfig.json          # TypeScript 编译配置
└── 方案.md                # 原始业务需求与架构设计规格书
```

---

## 🚦 快速开始

### 1. 环境准备
确保您的机器已安装 Node.js (推荐 v16.x 或以上版本)。

### 2. 安装依赖
```bash
npm install
```

### 3. 启动服务 (开发模式)
```bash
npm run dev
```
服务默认启动在 `http://localhost:3000`### 4. 运行端到端测试
测试脚本会按顺序模拟 Dify 调用 4 个 API,并测试异常处理机制。
```bash
npx ts-node test.ts
```

---

## 🔌 API 接口文档

所有接口均采用 `POST` 方法,请求与响应格式均为 `application/json`### 1. 同业/监管变化摘要 (AGENT-01)
- **Endpoint**: `/api/agents/peer-reg-summary`
- **描述**: 归纳头部银行隐私协议及监管文件的关键变化。
- **输入**: `peer_updates` (数组), `regulatory_updates` (数组), `app_name`, `business_line`
- **输出**: `PeerRegSummary` 对象 (包含 `peer_summary`, `reg_summary`, `reference_clauses` 等)

### 2. 协议重构 (AGENT-02)
- **Endpoint**: `/api/agents/policy-rewrite`
- **描述**: 对比客户当前协议与 PRD/权限/SDK 清单的一致性,生成差异分析和修订建议。
- **输入**: `case_context` (统一上下文), `peer_reg_summary` (来自 AGENT-01 的输出)
- **输出**: `GapAnalysis` 对象 (包含 `gaps`, `rewrite_suggestions`, `redline_seed` 等)

### 3. 合规校验 (AGENT-03)
- **Endpoint**: `/api/agents/compliance-check`
- **描述**: 校验修订建议是否覆盖主要监管要求,并标出高风险项和待确认项。
- **输入**: `case_context`, `gap_analysis` (来自 AGENT-02 的输出)
- **输出**: `ComplianceCheck` 对象 (包含风险等级、合规缺口清单、待法务确认项等)

### 4. 法务审核包生成 (AGENT-04)
- **Endpoint**: `/api/agents/legal-pack`
- **描述**: 汇总前三个智能体的结果,生成法务可直接阅读的结构化审核包。
- **输入**: `case_context`, `peer_reg_summary`, `gap_analysis`, `compliance_check`
- **输出**: `LegalReviewPack` 对象 (包含结构化审核包、审核建议等)

---

## 🔗 Dify 接入指南

本服务设计为无状态(Stateless)的 HTTP API,极易与 Dify 平台集成。

1. **工作流编排**:在 Dify 的 Workflow 中,使用 **HTTP Request** 节点依次串联这 4 个接口。
2. **上下文透传**:使用 Dify 的 Code 节点将文档解析(Document Extractor)和知识检索(Knowledge Retrieval)的结果组装为 `CaseContext` JSON,并在各 HTTP 节点间透传。
3. **错误重试**:本服务会在内部大模型推理失败时返回 `5001` 错误码,建议在 Dify 的 HTTP 节点配置 **重试机制(例如重试 1-2 次)**4. **渲染展示**:在 Dify 的尾部节点,使用 **Template (Jinja2)** 节点将 AGENT-04 输出的 JSON 格式化为 Markdown 审核包,最后交给 **Human Input** 节点进行法务人工确认。

---

## 📝 后续开发注意事项

- **替换真实的 LLM**:当前代码在 `src/llm.ts` 中使用了 Mock 数据(带有 5% 的随机失败率用于测试容错)。对接真实业务时,请在此文件内接入 OpenAI、Claude 或企业内部大模型 API,并填充真实的 System Prompt。
- **扩展 JSON Schema**:如业务字段发生变更,请同步更新 `src/models/` 下的 TypeScript 接口与 `src/schemas/` 下的 JSON Schema 文件。

---
*版本:V1.0 | 适用范围:本地/服务端智能体服务开发,供云端 Dify 调用*