From ef46c8d06b538f1a5429dab934b57f990dbd86f4 Mon Sep 17 00:00:00 2001 From: tangweijie <877588133@qq.com> Date: Mon, 19 Jan 2026 22:20:09 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E9=A1=B9=E7=9B=AE=E9=85=8D?= =?UTF-8?q?=E7=BD=AE=E5=92=8C=E6=96=87=E6=A1=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 更新.mcp.json配置 - 添加LLM API测试文件 - 新增项目需求文档 - 优化项目结构 --- .mcp.json | 17 +- requirements/评估业务流程确认清单.md | 287 ++++++ requirements/评估功能专家模拟评审报告.md | 1097 ++++++++++++++++++++++ requirements/评估功能实现评估报告.md | 501 ++++++++++ requirements/需求-10-评估报告.md | 553 ++++++++++- test_llm_api.py | 166 ++++ test_models.py | 85 ++ 指导书.md | 328 +++++++ 8 files changed, 3001 insertions(+), 33 deletions(-) create mode 100644 requirements/评估业务流程确认清单.md create mode 100644 requirements/评估功能专家模拟评审报告.md create mode 100644 requirements/评估功能实现评估报告.md create mode 100644 test_llm_api.py create mode 100644 test_models.py create mode 100644 指导书.md diff --git a/.mcp.json b/.mcp.json index c773e90..3e3dcea 100644 --- a/.mcp.json +++ b/.mcp.json @@ -1,6 +1,14 @@ { - "mcpServers": { -"mysql": { + "mcpServers": { + "filesystem": { + "command": "npx", + "args": [ + "-y", + "@modelcontextprotocol/server-filesystem", + "/Volumes/Dpan/github/xlcp" + ] + }, + "mysql": { "command": "npx", "args": [ "-y", @@ -11,7 +19,8 @@ "--port", "3306", "--user", "xlcp_dev", "--password", "xlcp_dev" - ] - } + ] } + + } } \ No newline at end of file diff --git a/requirements/评估业务流程确认清单.md b/requirements/评估业务流程确认清单.md new file mode 100644 index 0000000..ec5887f --- /dev/null +++ b/requirements/评估业务流程确认清单.md @@ -0,0 +1,287 @@ +# 评估报告业务流程确认清单 + +> 确认日期:2026-01-18 +> 确认人:产品负责人 +> 确认方式:专家问答确认 + +--- + +## 一、流程确认结果汇总 + +| 序号 | 问题 | 确认结果 | 影响范围 | +|-----|------|---------|---------| +| 1 | 数据完整性检查 | ✅ 需要检查 | 生成流程修改 | +| 2 | AI生成范围 | ✅ AI生成初稿 | AI功能边界 | +| 3 | 专业审核 | ❌ 无需专业人员 | 审核流程简化 | +| 4 | 审核层级 | ✅ 单级审核 | 流程简化 | +| 5 | 批量生成 | ✅ 支持批量 | 功能新增 | +| 6 | 退回原因 | ✅ 选择原因 | 审核流程 | +| 7 | 撤回功能 | ✅ 需要撤回 | 功能新增 | +| 8 | 归档策略 | ✅ 自动归档 | 功能新增 | +| 9 | 编号规则 | ✅ 保持现状 | 无需修改 | +| 10 | 风险等级 | ✅ 仅显示等级 | 无需配套 | +| 11 | 版本管理 | ✅ 完整功能 | 功能完善 | +| 12 | 导出格式 | ✅ PDF+Word+Excel | 与需求一致 | +| 13 | AI服务降级 | ✅ 手动填写 | 容错机制 | +| 14 | 评估维度 | ✅ 增加家庭帮教 | 维度补充 | + +--- + +## 二、确认后的业务流程设计 + +### 2.1 报告生成流程(修订后) + +``` +步骤1:选择罪犯 + │ + ▼ +步骤2:数据完整性检查 ⚠️ 【新增】 + ├── 检查项: + │ ├── 罪犯档案完整性 + │ ├── 计分考核记录(12个月) + │ ├── 消费记录(12个月) + │ ├── 心理测评记录 + │ └── 危险评估记录 + ├── 显示结果: + │ ├── 完整:显示绿色勾选 + │ ├── 缺失:显示黄色警告 + 缺失项列表 + └── 操作: + ├── [继续生成](数据完整或允许缺失) + └── [补录数据](跳转补录页面) + │ + ▼ +步骤3:选择报告模板 + │ + ▼ +步骤4:确认生成 + ├── 显示:预计生成时间、数据完整性状态 + └── [确认生成] + │ + ▼ +步骤5:AI生成报告初稿 ⚠️ 【AI生成初稿】 + ├── 生成时间:30-60秒/份 + ├── 并发限制:最多3个并行任务 + └── 进度显示:实时进度条 + │ + ▼ +步骤6:人工审核修改 + ├── 步骤:查看报告 → 逐维度审核 → 修改 → 确认 + └── 标识:AI生成内容显示"🤖 AI生成"标识 + │ + ▼ +步骤7:提交审核 + ├── 检查:必填维度是否完整 + └── 操作:[提交审核] + │ + ▼ +步骤8:审核通过 + ├── 审核人:单级审核(教育科长或指定审核人) + ├── 退回:需选择退回原因(分类选择) + └── 撤回:提交后允许撤回 + │ + ▼ +步骤9:自动归档 ⚠️ 【自动归档】 + ├── 条件:审核通过后24小时自动归档 + └── 效果:归档后不可修改 +``` + +### 2.2 批量生成流程 + +``` +批量生成入口:批量选择罪犯 → 选择模板 → 批量生成 + │ + ▼ +前置检查 + ├── 数据完整性扫描(批量) + └── 生成数据完整性报告 + │ + ▼ +任务队列 + ├── 异步处理:进入后台队列 + ├── 预估时间:根据数量计算 + └── 用户操作:可离开去做其他工作 + │ + ▼ +进度通知 + ├── 进度条:实时显示进度 + ├── 完成通知:系统消息通知 + └── 失败处理:标记失败项,支持重试 +``` + +### 2.3 审核流程(单级审核) + +``` +┌────────┐ 提交审核 ┌────────┐ 审核通过 ┌────────┐ 自动归档 ┌────────┐ +│ 草稿 │ ─────────→ │ 待审核 │ ─────────→ │ 已通过 │ ─────────→ │ 已归档 │ +└────────┘ └────────┘ └────────┘ └────────┘ + │ │ + │ │ 审核退回 + │ ▼ + │ ┌────────┐ + │ │ 已退回 │ ←─── 需选择退回原因 + │ └────────┘ + │ │ + │ │ 重新提交 + └────────────────────┘ + ↑撤回 +``` + +### 2.4 版本管理流程 + +``` +每次保存生成新版本 + │ + ▼ +版本记录 + ├── 版本号:v1, v2, v3... + ├── 修改人:记录操作人 + ├── 修改时间:记录时间戳 + └── 变更内容:记录修改摘要 + │ + ▼ +版本对比 + ├── 功能:选择两个版本进行对比 + ├── 显示:高亮显示差异部分 + └── 操作:可一键还原 + │ + ▼ +版本回滚 + ├── 功能:回滚到指定历史版本 + └── 限制:已归档报告不可回滚 +``` + +--- + +## 三、与需求文档对比(最终确认) + +| 功能点 | 需求文档要求 | 确认结果 | 处理建议 | +|-------|-------------|---------|---------| +| 导出PDF | 必须支持PDF导出 | ✅ **已确认** | 按需求实现 | +| 导出Word | 必须支持Word导出 | ✅ **已确认** | 按需求实现 | +| 专业审核 | 心理评估需专业人员审核 | ❌ 无需专业人员 | 按确认结果实施 | +| 三级审核 | 需要分监区→监区→监狱 | 单级审核 | 按确认结果实施 | +| 风险等级 | 需要配套管控措施 | 仅显示等级 | 按确认结果实施 | +| 家庭帮教维度 | 未明确要求 | ✅ **已确认增加** | 按需求实现 | + +--- + +## 四、家庭帮教维度设计(已确认) + +### 4.1 维度子项 + +| 子项名称 | 说明 | 数据来源 | +|---------|------|---------| +| 家属会见频次 | 近6个月会见次数、月均会见次数 | 会见记录表 | +| 帮教通信情况 | 家属来信次数、通信内容摘要 | 通信记录表 | +| 家属态度评价 | 积极/一般/消极 | 人工评价 | +| 家庭支持力度 | 强/中/弱(经济支持、情感支持) | 综合评估 | +| 假释后安置意向 | 有固定住所/无固定住所、就业意向 | 档案信息 | + +### 4.2 AI提示词建议 + +> 请根据以下家庭帮教情况数据,分析该犯的家属帮教支持情况: +> - 家属会见频次:{会见次数}次/月 +> - 帮教通信:{通信次数}次/月 +> - 家属态度:{家属态度} +> - 家庭支持:{支持力度} +> - 安置条件:{安置意向} +> +> 请生成客观描述,重点分析家庭支持对罪犯改造效果的影响。 + +--- + +## 五、根据确认结果的功能清单 + +### 5.2 必须实现功能清单 + +| 功能 | 优先级 | 工作量 | 说明 | +|-----|-------|-------|------| +| 数据完整性检查 | P0 | 3天 | 生成前检查数据完整性 | +| 批量生成功能 | P0 | 5天 | 异步队列 + 进度通知 | +| 撤回功能 | P0 | 2天 | 提交后撤回接口 | +| 自动归档 | P0 | 2天 | 审核通过后自动归档 | +| 退回原因选择 | P0 | 1天 | 审核退回时选择原因 | +| 版本管理(完整) | P0 | 4天 | 查看、对比、回滚 | +| 家庭帮教维度 | P0 | 2天 | 新增评估维度 | +| PDF导出 | P0 | 3天 | 按需求实现 | +| Word导出 | P0 | 3天 | 按需求实现 | +| Excel导出 | P0 | 1天 | 按需求实现 | +| AI服务手动降级 | P1 | 2天 | AI不可用时手动填写 | + +### 5.3 预计总工作量 + +| 阶段 | 功能范围 | 预计工时 | +|-----|---------|---------| +| 第一阶段 | 核心流程(数据检查、生成、审核) | 10天 | +| 第二阶段 | 批量功能、归档、版本管理 | 10天 | +| 第三阶段 | 导出功能(PDF/Word) | 7天 | +| **合计** | | **27天** | + +--- + +## 六、后续行动 + +### 6.1 确认完成事项 + +✅ 已确认全部14项流程问题 +✅ 已确认导出格式(PDF+Word+Excel) +✅ 已确认家庭帮教维度设计方案 + +### 6.2 下一步工作 + +1. **修订需求文档**(本周) + - 更新流程图(数据检查、批量生成、审核流程) + - 补充家庭帮教维度详细设计 + - 增加PDF/Word导出功能设计 + - 更新验收标准 + +2. **技术方案设计**(下周) + - 设计异步生成队列架构 + - 设计版本管理数据模型 + - 设计导出功能实现方案 + +3. **开发实施**(2-3周) + - 按功能清单分阶段开发 + - 每周进行进度同步 + +### 6.3 需求文档修订清单 + +| 修订项 | 修订内容 | 优先级 | +|-------|---------|-------| +| 流程修订 | 增加数据完整性检查步骤 | P0 | +| 流程修订 | 批量生成流程设计 | P0 | +| 流程修订 | 撤回功能流程设计 | P0 | +| 流程修订 | 自动归档规则设计 | P0 | +| 功能新增 | 家庭帮教评估维度 | P0 | +| 功能新增 | PDF导出功能 | P0 | +| 功能新增 | Word导出功能 | P0 | +| 功能完善 | 退回原因选择器 | P1 | +| 功能完善 | 版本对比/回滚界面 | P1 | +| 容错设计 | AI服务降级策略 | P2 | + +--- + +## 附录:用户回答原始记录 + +| 问题 | 回答 | +|-----|------| +| 1. 数据完整性检查 | 需要检查 | +| 2. AI生成范围 | AI生成初稿 | +| 3. 专业审核 | 无需专业人员 | +| 4. 审核层级 | 单级审核 | +| 5. 批量生成 | 支持批量 | +| 6. 退回原因 | 选择原因 | +| 7. 撤回功能 | 需要撤回 | +| 8. 归档策略 | 自动归档 | +| 9. 编号规则 | 保持现状 | +| 10. 风险等级 | 仅显示等级 | +| 11. 版本管理 | 完整功能 | +| 12. 导出格式 | PDF + Word + Excel | +| 13. AI服务降级 | 手动填写 | +| 14. 评估维度 | 需要增加家庭帮教 | + +--- + +**文档状态**:✅ 已确认 +**确认人签字**:__________ +**确认日期**:2026-01-18 diff --git a/requirements/评估功能专家模拟评审报告.md b/requirements/评估功能专家模拟评审报告.md new file mode 100644 index 0000000..5bcb9d4 --- /dev/null +++ b/requirements/评估功能专家模拟评审报告.md @@ -0,0 +1,1097 @@ +# 评估报告功能专家模拟评审报告 + +> 评审日期:2026-01-18 +> 模拟评审会形式:闭门评审会议 +> 评审主持:产品负责人 +> 记录整理:Claude Code + +--- + +## 评审专家团阵容 + +| 序号 | 专家姓名 | 角色 | 背景简介 | 评审领域 | +|-----|---------|------|---------|---------| +| 1 | 刘建国 | 监狱管理资深专家 | 原某省监狱管理局教育处副处长,35年监狱工作经验 | 业务流程、功能需求 | +| 2 | 张明远 | 刑罚执行专家 | 某省高级人民法院刑庭特邀专家顾问,法学博士,20年司法工作经验 | 法律合规、文书规范 | +| 3 | 王淑芬 | 心理评估专家 | 中国心理学会司法心理学分会委员,犯罪心理学博士,15年罪犯心理测评经验 | 心理评估、AI生成审核 | +| 4 | 李志强 | 技术架构专家 | 某大型国企信息化部技术总监,系统架构师,18年企业级系统开发经验 | 技术实现、性能优化 | +| 5 | 陈思雨 | 产品UX专家 | 某知名B端SaaS公司产品设计总监,12年B端产品设计经验,心理学硕士 | 交互体验、信息架构 | + +--- + +## 一、监狱管理资深专家评审意见 + +### 专家背景 +**刘建国** +- 原某省监狱管理局教育处副处长 +- 35年监狱管理经验 +- 多次参与司法部罪犯评估标准制定 +- 擅长罪犯改造效果评估体系设计 + +### 评审意见 + +#### 1.1 总体评价 + +> "这份评估报告需求文档整体框架搭建得不错,覆盖了评估模板管理、数据聚合、AI生成、报告审核等核心环节。从35年的监狱工作经验来看,这个系统如果能够真正落地,确实能够大幅减轻基层管教民警的工作负担。但是,从实际业务操作的角度来看,我发现了一些流程设计上的问题,如果不解决,会直接影响系统的实际使用效果。" + +#### 1.2 具体问题与建议 + +##### 问题1:评估报告生成流程顺序严重不合理 + +**原文设计**: +``` +步骤1:选择罪犯 +步骤2:选择报告模板 +步骤3:设置报告日期范围 +步骤4:系统自动聚合数据源 +步骤5:调用AI生成报告初稿 +步骤6:生成报告预览 +``` + +**专家意见**: + +> "这个流程设计完全颠倒了实际工作中的操作顺序!我来描述一下真实的工作场景: +> +> **真实工作流程**: +> 1. 管教民警首先需要查看这个罪犯的基础档案(犯罪情况、刑期、家庭背景等) +> 2. 查看该犯近一年的计分考核记录(每月得分、表扬/处分情况) +> 3. 查看消费记录(是否存在异常高消费或零消费) +> 4. 查看心理测评结果(是否有心理问题) +> 5. 查看危险评估记录(风险等级变化趋势) +> 6. **确认所有数据完整后**,才开始撰写评估报告 +> +> **当前设计的致命问题**: +> - 如果数据不完整,AI生成的内容必然有缺失 +> - 管教民警无法在生成前对数据进行核对和补录 +> - 可能导致AI生成错误的评估结论 +> +> **建议修改为**: +> ``` +> 步骤1:选择罪犯 +> 步骤2:【新增】数据完整性检查与补录 +> - 系统自动检查各项数据是否完整 +> - 如有缺失,提示民警补录 +> 步骤3:选择报告模板 +> 步骤4:确认生成(此时数据已完整) +> 步骤5:AI生成报告初稿 +> 步骤6:人工审核修改 +> ``` + +##### 问题2:评估维度缺少关键项目 + +**原文设计**的评估维度: +| 序号 | 维度名称 | 说明 | +|-----|---------|------| +| 1 | 基本信息 | 罪犯姓名、编号、入狱日期等 | +| 2 | 犯罪及刑罚情况 | 罪名、刑期、判决情况等 | +| 3 | 改造表现 | 考核得分、等级、表扬/处分记录 | +| 4 | 心理评估 | 测评结果、风险等级 | +| 5 | 服刑表现综合分析 | 消费行为、劳动表现、狱内关系 | +| 6 | 管教意见 | 改造评价、建议意见 | + +**专家意见**: + +> "缺少了'家庭帮教情况'这个极其重要的维度! +> +> **为什么重要**: +> 1. 减刑假释评审时,家庭帮教是法院重点审查内容 +> 2. 家属会见频率、家属态度、帮教意愿都影响罪犯的改造效果评估 +> 3. 很多省份已经将家庭帮教情况纳入罪犯改造质量评估体系 +> +> **建议增加维度**: +> | 新增维度 | 说明 | 数据来源 | +> |---------|------|---------| +> | 家庭帮教情况 | 家属会见情况、帮教通信、家庭支持力度 | 会见记录、通信记录 | +> | 社会支持网络 | 是否有固定工作、住所,社会关系情况 | 档案信息、社会调查 | +> | 假释评估条件 | 符合假释法定条件的具体情况 | 刑期、改造表现、累犯情况 | + +##### 问题3:风险等级与实际管控措施脱节 + +**原文设计**:低风险、中风险、高风险、极高风险四级 + +**专家意见**: + +> "仅仅划分风险等级是不够的!监狱需要的是'风险等级+对应管控措施'的完整方案。 +> +> **当前问题**: +> - 高风险罪犯应该如何管控?没有具体措施建议 +> - 不同风险等级的报告处理优先级没有明确 +> - 缺少风险预警和干预机制 +> +> **建议修改**: +> ``` +> 低风险(绿色): +> - 管控措施:常规管理 +> - 报告处理:可批量生成,定期抽查 +> +> 中风险(黄色): +> - 管控措施:重点关注,每周谈话 +> - 报告处理:优先生成,管教签字确认 +> +> 高风险(橙色): +> - 管控措施:重点监控,列入重点管控名单 +> - 报告处理:单人核对,教育科审核 +> +> 极高风险(红色): +> - 管控措施:单独管控,每日评估 +> - 报告处理:双人审核,报监狱领导审批 +> ``` + +##### 问题4:批量生成功能缺少质量控制 + +**原文设计**:支持选择多个罪犯+模板,批量生成报告 + +**专家意见**: + +> "批量生成功能我举双手赞成,月末生成几十份报告确实很痛苦。但是! +> +> **必须增加的质量控制措施**: +> 1. **数据完整性检测** +> - 批量生成前先扫描所有选中罪犯的数据完整性 +> - 显示完整度报告:哪些罪犯数据缺失 +> - 允许选择:是跳过数据缺失的罪犯,还是仅生成有数据的维度 +> +> 2. **异常数据预警** +> - 批量生成前检测异常数据(如本月分数异常波动) +> - 提示管教民警关注异常情况 +> +> 3. **生成质量抽检** +> - 建议每批次随机抽取5%-10%进行人工复核 +> - 建立批量生成的准确率统计 +> ``` + +### 1.3 刘建国专家综合评分 + +| 评审维度 | 满分 | 得分 | 扣分原因 | +|---------|-----|------|---------| +| 功能完整性 | 25 | 18 | 缺少家庭帮教维度 | +| 流程合理性 | 25 | 12 | 生成顺序严重不合理 | +| 业务贴合度 | 25 | 15 | 风险等级与管控脱节 | +| 可操作性 | 25 | 15 | 缺少质量控制 | +| **总分** | **100** | **60** | 需要重大修订 | + +### 1.4 刘建国专家评审结论 + +> **总体结论**:不通过,需重大修订 +> +> **主要问题**: +> 1. 报告生成流程必须增加数据完整性检查步骤 +> 2. 必须增加"家庭帮教情况"评估维度 +> 3. 风险等级必须配套对应的管控措施 +> 4. 批量生成必须增加质量控制机制 +> +> **建议**:需求打回修改后重新评审 + +--- + +## 二、刑罚执行专家评审意见 + +### 专家背景 +**张明远** +- 某省高级人民法院刑庭特邀专家顾问 +- 法学博士,刑法学专业 +- 20年司法工作经验 +- 参与多部司法解释起草工作 +- 擅长减刑假释案件审查标准研究 + +### 评审意见 + +#### 2.1 总体评价 + +> "这份需求文档从技术角度看设计得很完整,但从法律合规角度来看,存在几个重大风险点。作为参与过上百件减刑假释案件审查的法官,我必须指出:如果这些问题不解决,生成的评估报告可能在法庭上被质疑,影响减刑假释裁定效果。" + +#### 2.2 法律合规性问题 + +##### 问题1:评估报告法律效力存疑 + +**原文设计**:AI生成内容 + 人工审核确认 + +**专家意见**: + +> "这是最大的法律风险点! +> +> **法律问题分析**: +> 1. AI生成的内容能否作为执法依据? +> 2. 如果AI生成的内容有错误,责任如何界定? +> 3. 当前设计没有明确区分哪些内容是AI生成的,哪些是人工撰写的 +> +> **法庭可能的质疑**: +> - '这份评估报告有多少内容是AI写的?管教民警是否认真审核过?' +> - '如果AI生成的内容与实际情况不符,是AI的责任还是监狱的责任?' +> - 'AI生成的内容是否符合减刑假释的法定条件认定标准?' +> +> **建议修改**: +> 1. AI生成内容必须在报告中明确标注(标注为'系统辅助生成') +> 2. 人工审核必须保留完整的审核痕迹(审核人、审核时间、修改内容) +> 3. 关键法律结论(如'符合假释条件')必须人工撰写,AI不能生成 +> 4. 建立AI生成内容的双人复核机制 + +##### 问题2:数字签名机制不完整 + +**原文设计**:报告生成时计算内容哈希值,使用系统私钥对哈希值进行数字签名 + +**专家意见**: + +> "数字签名设计方向是对的,但实现细节存在严重问题! +> +> **当前设计问题**: +> 1. 没有说明使用什么算法(RSA?ECDSA?) +> 2. 私钥如何保管?谁有权限使用? +> 3. 签名验证的流程是什么?谁来验证? +> 4. 如果签名验证失败,如何处理? +> +> **法院审查要求**: +> 根据《最高人民法院关于办理减刑假释案件审理程序的规定》,评估报告需要: +> 1. 制作人签字 +> 2. 审核人签字 +> 3. 单位盖章 +> 4. 制作日期 +> +> **建议修改**: +> ``` +> 报告防篡改机制: +> 1. 报告完成时自动计算SHA-256哈希值 +> 2. 由以下人员分别进行电子签名: +> - 制作人(管教民警) +> - 审核人(教育科长) +> - 审批人(分管领导) +> 3. 签名信息存储在报告元数据中 +> 4. 导出PDF时在文件属性中显示签名信息 +> 5. 提供在线签名验证接口 +> ``` + +##### 问题3:减刑假释评估模板缺失法定要素 + +**原文设计**:评估模板包含基本信息、犯罪情况、改造表现、心理评估等维度 + +**专家意见**: + +> "根据《最高人民法院关于办理减刑假释案件具体应用法律的规定》,假释评估必须包含以下法定要素,当前模板大部分缺失: +> +> **法定必须包含的评估内容**: +> | 要素 | 说明 | 是否包含 | +> |-----|------|---------| +> | 服刑期间表现 | 具体描述悔改表现 | ✅ 已有 | +> | 没有再犯罪危险 | 需要具体分析 | ❌ 缺失 | +> | 有悔改表现 | 不再危害社会 | ❌ 缺失 | +> | 假释后生活来源 | 有固定住所和收入 | ❌ 缺失 | +> | 社区评估意见 | 社区是否具备监管条件 | ❌ 缺失 | +> | 被害人意见 | 被害人是否谅解 | ❌ 缺失 | +> +> **建议**:必须增加'假释条件评估'专用模板,包含上述法定要素" + +##### 问题4:审核流程不符合法定程序 + +**原文设计**:草稿 → 待审核 → 已通过/已退回 + +**专家意见**: + +> "这个审核流程过于简单,不符合法定程序要求! +> +> **法定程序要求**: +> 1. 减刑假释评估报告需要经过分监区、监区、监狱三级审核 +> 2. 监狱刑罚执行科需要出具审查意见 +> 3. 监狱长需要审批签字 +> 4. 需要公示期 +> +> **建议修改**: +> ``` +> 审核流程: +> 1. 管教民警起草(草稿) +> 2. 分监区领导审核(分监区意见) +> 3. 监区领导审核(监区意见) +> 4. 刑罚执行科审查(合规性审查) +> 5. 监狱长审批(最终审批) +> 6. 公示(5个工作日) +> 7. 正式归档 +> ``` + +### 2.3 张明远专家综合评分 + +| 评审维度 | 满分 | 得分 | 扣分原因 | +|---------|-----|------|---------| +| 法律合规性 | 30 | 12 | AI生成效力、法定要素缺失 | +| 证据效力 | 25 | 10 | 数字签名不完整 | +| 法定程序 | 25 | 8 | 审核流程不符合规定 | +| 文书规范性 | 20 | 12 | 缺少标准文书格式 | +| **总分** | **100** | **42** | 存在重大法律风险 | + +### 2.4 张明远专家评审结论 + +> **总体结论**:不通过,存在重大法律风险 +> +> **核心问题**: +> 1. AI生成内容的法律效力未明确,可能被法庭质疑 +> 2. 缺少减刑假释法定评估要素 +> 3. 数字签名机制不完整,无法满足法院审查要求 +> 4. 审核流程不符合法定程序 +> +> **建议**: +> - 必须邀请监狱管理局法规处会审 +> - AI生成内容必须有明确的使用限制 +> - 减刑假释模板需送省高级人民法院刑庭审核 + +--- + +## 三、心理评估专家评审意见 + +### 专家背景 +**王淑芬** +- 中国心理学会司法心理学分会委员 +- 犯罪心理学博士 +- 15年罪犯心理测评工作经验 +- 参与编制《罪犯心理评估规范》 +- 某监狱心理辅导室主任 + +### 评审意见 + +#### 3.1 总体评价 + +> "作为一名从事罪犯心理评估工作15年的专业人士,我对这份需求文档中关于心理评估的部分既期待又担忧。期待的是,AI技术确实可以提高心理评估报告的生成效率;担忧的是,心理评估是非常专业的领域,如果AI生成的内容不准确,可能会对罪犯造成错误的评估结论,进而影响其处遇等级和减刑假释机会。" + +#### 3.2 心理评估专业性问题 + +##### 问题1:AI生成心理评估内容存在专业风险 + +**原文设计**:AI根据罪犯心理测评数据生成心理评估分析 + +**专家意见**: + +> "这是我最担心的问题! +> +> **心理评估的专业特殊性**: +> 1. 心理测评结果需要专业解读,不能简单套用模板 +> 2. 同一测评分数,不同背景的罪犯可能有完全不同的解读 +> 3. 心理状态是动态变化的,需要结合历史数据分析趋势 +> 4. 自杀/自伤风险评估需要极其谨慎,错误评估可能危及生命 +> +> **AI生成的风险**: +> 1. AI可能无法理解测评分数背后的深层含义 +> 2. AI可能忽略重要的背景信息(如重大生活事件) +> 3. AI可能给出不恰当的心理建议 +> +> **建议修改**: +> ``` +> 心理评估模块使用限制: +> 1. AI可以辅助生成客观描述部分(如测评数据汇总) +> 2. 心理诊断和风险判断必须由持证心理师人工确认 +> 3. 自杀/自伤风险评估必须由心理师双人复核 +> 4. AI生成的每一条心理评估结论都必须有专业心理师审核签字 +> +> AI在心理评估中的正确用法: +> - 辅助:数据汇总、趋势图生成、历史对比 +> - 禁止:心理诊断结论、风险等级判定、治疗建议 +> ``` + +##### 问题2:AI提示词缺少专业审核机制 + +**原文设计**:模板配置AI提示词,用于生成评估内容 + +**专家意见**: + +> "这个设计有严重漏洞! +> +> **问题分析**: +> 1. 普通管教民警可能不具备编写专业心理评估提示词的能力 +> 2. 不当的提示词可能导致AI生成不专业或有害的内容 +> 3. 心理评估涉及罪犯隐私,需要更严格的权限控制 +> +> **建议修改**: +> ``` +> AI提示词审核机制: +> 1. 心理评估相关提示词必须经过心理专业人员审核 +> 2. 审核人必须具备二级以上心理咨询师资格 +> 3. 提示词审核记录需要存档(审核人、审核时间、版本号) +> 4. 提示词修改后需要重新审核 +> 5. 敏感关键词过滤(如'自杀'、'杀人'等需要特殊处理) +> +> 提示词示例(经审核的心理评估提示词): +> 【已审核】请根据以下心理测评数据,生成客观描述... +> 【已审核】该犯SCL-90得分为XX,在XX维度偏高,请描述... +> ``` + +##### 问题3:心理评估与危险评估混淆 + +**原文设计**:危险评估(RiskAssessment)和心理评估是独立的模块 + +**专家意见**: + +> "这是一个概念混淆问题! +> +> **问题分析**: +> 1. 心理评估(Psychological Assessment):评估罪犯的心理健康状况、人格特征、情绪状态等 +> 2. 危险评估(Risk Assessment):评估罪犯的自伤、自杀、暴力、脱逃等风险 +> 3. 两者有交集,但不能混淆 +> +> **建议修改**: +> ``` +> 心理评估模块应包含: +> 1. 心理测评管理 +> - 测评量表管理(SCL-90、MMPI、16PF等) +> - 测评记录管理 +> - 测评结果分析 +> +> 2. 心理健康评估 +> - 心理健康状态评定 +> - 人格特征分析 +> - 心理问题筛查 +> +> 3. 危机干预评估 +> - 自杀/自伤风险评估 +> - 暴力风险评估 +> - 危机干预记录 +> +> 4. 心理矫治效果评估 +> - 矫治目标达成度 +> - 心理矫治建议 +> ``` + +##### 问题4:心理评估报告格式不规范 + +**原文设计**:评估报告包含基本信息、改造表现、心理评估等维度 + +**专家意见**: + +> "心理评估报告有专业的格式要求! +> +> **标准心理评估报告应包含**: +> | 章节 | 内容 | +> |-----|------| +> | 基本信息 | 罪犯基本信息、测评时间、测评人 | +> | 测评概述 | 使用了哪些测评工具、测评目的 | +> | 测评结果 | 各项测评的原始分、标准分、百分位 | +> | 结果分析 | 专业解读测评结果,分析罪犯心理特征 | +> | 诊断意见 | 心理健康状况诊断(需有资质人员签署) | +> | 矫治建议 | 针对问题提出矫治建议 | +> | 风险提示 | 自杀/自伤/暴力风险提示 | +> +> **建议**:参考《中国心理学会临床与咨询心理学工作伦理守则》制定心理评估报告规范" + +### 3.3 王淑芬专家综合评分 + +| 评审维度 | 满分 | 得分 | 扣分原因 | +|---------|-----|------|---------| +| 专业准确性 | 30 | 15 | AI生成心理评估存在风险 | +| 诊断严谨性 | 25 | 10 | 缺少专业审核和双人复核 | +| 伦理合规性 | 25 | 12 | 隐私保护和权限控制不足 | +| 报告规范性 | 20 | 8 | 报告格式不规范 | +| **总分** | **100** | **45** | 需要重大改进 | + +### 3.4 王淑芬专家评审结论 + +> **总体结论**:不通过,需重大修订 +> +> **核心问题**: +> 1. AI不能用于生成心理诊断和风险判断结论 +> 2. 必须建立AI提示词的专业审核机制 +> 3. 心理评估和危险评估需要明确区分 +> 4. 心理评估报告格式需要专业规范 +> 5. 自杀/自伤风险评估必须双人复核 +> +> **建议**: +> - 邀请中国心理学会司法心理学分会专家参与评审 +> - AI在心理评估中的应用范围需要明确界定 +> - 心理评估模块需要单独的权限控制 + +--- + +## 四、技术架构专家评审意见 + +### 专家背景 +**李志强** +- 某大型国企信息化部技术总监 +- 系统架构师(高级) +- 18年企业级系统开发经验 +- 主持建设多个省级司法行政系统信息化项目 +- 擅长分布式系统设计、高并发系统优化 + +### 评审意见 + +#### 4.1 总体评价 + +> "从技术架构角度来看,这套评估报告系统的设计思路是正确的,采用微服务架构、模块化设计、AI服务集成等都是行业标准做法。但是,在性能设计、安全设计、可用性设计等方面存在一些需要优化的地方。作为一个面向全省监狱推广的系统,这些问题如果不在设计阶段解决,上线后可能会遇到严重的性能瓶颈和安全风险。" + +#### 4.2 技术架构问题 + +##### 问题1:报告生成性能存在严重风险 + +**原文设计**:实时调用AI生成报告,支持单个生成和批量生成 + +**专家意见**: + +> "这是最大的性能风险点! +> +> **性能问题分析**: +> 1. 单个报告AI生成时间:30-60秒(取决于LLM响应速度) +> 2. 批量生成100份报告:需要50-100分钟 +> 3. 实时同步调用会阻塞用户请求 +> 4. 100个并发用户同时生成报告:LLM服务会崩溃 +> +> **数学计算**: +> ``` +> 假设场景: +> - 某监狱有500名在押犯 +> - 月末集中生成评估报告 +> - 每份报告AI生成需要45秒 +> - 500 * 45秒 = 22500秒 = 6.25小时 +> - 如果100名管教同时操作... +> ``` +> +> **建议修改**: +> ``` +> 架构改造: +> 1. 引入消息队列(RabbitMQ/Kafka) +> - 生成任务先进入队列 +> - 后台消费者异步处理 +> - 用户可以查询处理进度 +> +> 2. 实现任务调度策略 +> - 低优先级任务自动延迟到非工作时间 +> - 高峰期限制并发任务数 +> - 支持定时批量生成 +> +> 3. 前端轮询或WebSocket推送进度 +> - 用户提交任务后可以去做其他工作 +> - 任务完成后收到系统通知 +> ``` + +##### 问题2:数据聚合缺少缓存机制 + +**原文设计**:实时查询各模块数据聚合 + +**专家意见**: + +> "这是一个典型的缓存缺失问题! +> +> **问题分析**: +> 1. 生成一份报告需要查询:罪犯档案、计分考核、消费记录、心理测评、危险评估等多个模块 +> 2. 每个查询都是实时数据库查询 +> 3. 批量生成时会产生大量重复查询 +> +> **性能影响**: +> ``` +> 单份报告数据查询次数: +> - 罪犯基本信息:1次 +> - 计分考核记录:12次(12个月) +> - 消费记录:12次(12个月) +> - 心理测评记录:1-5次 +> - 危险评估记录:1-3次 +> - 总计:约30次数据库查询 +> +> 批量生成100份报告:3000次数据库查询 +> ``` +> +> **建议修改**: +> ``` +> 缓存策略: +> 1. 罪犯基本信息缓存(TTL: 30分钟) +> - 罪犯姓名、编号、监区等变化频率低的数据 +> +> 2. 计分考核数据缓存(TTL: 10分钟) +> - 月度得分、年度汇总 +> +> 3. 消费数据缓存(TTL: 10分钟) +> - 月均消费、消费趋势 +> +> 4. 模板配置缓存(TTL: 1小时) +> - 维度配置、AI提示词 +> +> 5. 缓存更新策略: +> - 数据变更时主动失效相关缓存 +> - 定期预热常用缓存 +> ``` + +##### 问题3:AI服务缺少容错机制 + +**原文设计**:调用第三方LLM服务生成内容 + +**专家意见**: + +> "AI服务调用没有容错设计,这是严重的高可用问题! +> +> **故障场景分析**: +> 1. LLM服务宕机:所有报告无法生成 +> 2. 网络超时:生成失败,用户需要重试 +> 3. API限流:超出调用额度后失败 +> 4. 响应内容异常:AI返回乱码或有害内容 +> +> **建议修改**: +> ``` +> 容错机制设计: +> 1. 服务降级策略 +> - LLM服务不可用时,自动切换为'手动填写'模式 +> - 标记该维度为'待人工填写' +> - 记录服务降级日志 +> +> 2. 重试机制 +> - 超时后自动重试2次 +> - 使用指数退避策略 +> - 记录重试次数 +> +> 3. 熔断机制 +> - 连续失败5次后熔断10分钟 +> - 熔断期间直接返回降级响应 +> - 熔断恢复后自动恢复调用 +> +> 4. 内容安全检测 +> - 对AI返回内容进行敏感词过滤 +> - 检测到有害内容时标记并人工审核 +> ``` + +##### 问题4:数据安全设计不足 + +**原文设计**:记录AI生成日志,包含prompt和response + +**专家意见**: + +> "罪犯评估数据属于敏感个人信息,安全设计需要加强! +> +> **问题分析**: +> 1. AI生成日志包含完整的prompt,可能包含罪犯敏感信息 +> 2. 日志文件存储在服务器磁盘,存在泄露风险 +> 3. 缺少数据脱敏机制 +> 4. 审计日志不完整 +> +> **建议修改**: +> ``` +> 安全加固措施: +> 1. 数据脱敏 +> - 日志中罪犯姓名替换为编号 +> - 敏感信息(如家庭地址)脱敏存储 +> - 导出报告时自动添加水印 +> +> 2. 访问控制 +> - 基于角色的细粒度权限控制 +> - 敏感操作二次验证 +> - 数据访问全程审计 +> +> 3. 日志安全 +> - 日志加密存储 +> - 敏感日志定期清理 +> - 日志访问需要授权 +> +> 4. 传输安全 +> - 全站HTTPS +> - 敏感接口使用双向认证 +> ``` + +### 4.3 李志强专家综合评分 + +| 评审维度 | 满分 | 得分 | 扣分原因 | +|---------|-----|------|---------| +| 性能设计 | 30 | 15 | 缺少异步队列和缓存 | +| 可用性设计 | 25 | 12 | 缺少容错和降级 | +| 安全设计 | 25 | 15 | 缺少脱敏和审计 | +| 扩展性 | 20 | 15 | 架构设计合理 | +| **总分** | **100** | **57** | 需要优化 | + +### 4.4 李志强专家评审结论 + +> **总体结论**:有条件通过,需优化技术架构 +> +> **核心问题**: +> 1. 必须引入异步队列处理批量生成任务 +> 2. 必须实现多级缓存机制 +> 3. 必须设计AI服务容错降级方案 +> 4. 必须加强数据安全和审计 +> +> **建议**: +> - 架构设计评审需要监狱管理局信息中心参与 +> - 性能测试需要模拟真实场景(500+并发) +> - 安全评估需要通过等保三级测评 + +--- + +## 五、产品UX专家评审意见 + +### 专家背景 +**陈思雨** +- 某知名B端SaaS公司产品设计总监 +- 12年B端产品设计经验 +- 心理学硕士 +- 擅长企业级应用信息架构设计 +- 曾主导多个司法、政务系统产品设计 + +### 评审意见 + +#### 5.1 总体评价 + +> "从产品设计和用户体验角度来看,这是一份有潜力但需要大量打磨的需求文档。B端产品的核心是效率,而当前设计中存在很多'看起来功能很全,但用起来很累'的问题。我将从信息架构、交互流程、视觉设计三个维度进行详细分析。" + +#### 5.2 信息架构问题 + +##### 问题1:页面信息密度过高 + +**原文设计**:报告编辑页面采用左右分栏布局 + +``` +左侧:罪犯列表(280px) +右侧:基本信息 + 维度分析 + 综合结论 +``` + +**专家意见**: + +> "这是一个典型的信息过载问题! +> +> **问题分析**: +> 1. 管教民警需要同时查看罪犯列表、编辑报告内容、查看数据源 +> 2. 当前布局导致每个区域都很拥挤 +> 3. 滚动操作频繁,操作效率低 +> +> **认知负荷计算**: +> ``` +> 用户任务:同时处理5个罪犯的评估报告 +> 当前布局操作步骤: +> 1. 在左侧列表找到罪犯A(滚动) +> 2. 在右侧查看报告内容(滚动) +> 3. 修改内容(滚动定位到编辑区) +> 4. 切换到罪犯B(滚动左侧列表) +> 5. ...重复... +> 预计操作时间:15-20分钟/份 +> ``` +> +> **建议修改**: +> ``` +> 优化方案:卡片式多任务布局 +> +> 页面布局: +> ┌─────────────────────────────────────────┐ +│ 工具栏: [+新建报告] [批量生成] [导出] │ +├──────────────┬────────────────────────────┤ +│ │ ┌────────────────────┐ │ +│ 罪犯列表 │ │ 报告卡片1 │ │ +│ ┌──────────┐│ │ 张三 - 入监评估 │ │ +│ │ ✓选中 ││ │ [待修改] [已完成] │ │ +│ │ 张三 ││ │ ┌──────────────┐ │ │ +│ │ 2024001 ││ │ │ 报告预览 │ │ │ +│ └──────────┘│ │ │ ... │ │ │ +│ ┌──────────┐│ │ └──────────────┘ │ │ +│ │ 李四 ││ │ │ │ +│ │ 2024002 ││ │ ┌────────────────────┐│ +│ └──────────┘│ │ │ 报告卡片2 ││ +│ ┌──────────┐│ │ │ 李四 - 定期评估 ││ +│ │ 王五 ││ │ │ [已完成] [待审核] ││ +│ │ 2024003 ││ │ └────────────────────┘│ +│ └──────────┘│ │ │ +│ ... │ │ │ +├──────────────┴────────────────────────────┤ +│ 底部Tab: [进行中(3)] [已完成(5)] [待审核(2)] │ +└─────────────────────────────────────────┘ +> +> 优势: +> - 多个报告卡片同时可见 +> - 快速切换,无需滚动 +> - 状态一目了然 +> ``` + +##### 问题2:缺少操作引导 + +**原文设计**:用户自行探索功能 + +**专家意见**: + +> "B端用户时间宝贵,复杂功能必须有清晰的引导! +> +> **问题分析**: +> 1. 首次使用的用户不知道从哪里开始 +> 2. 复杂的AI生成功能没有使用说明 +> 3. 审核流程没有状态指引 +> +> **建议修改**: +> ``` +> 方案1:向导式流程(Wizard) +> +> 步骤1:选择罪犯 +> ○ 单个选择 +> ○ 批量选择(已选:5人) +> +> 步骤2:数据检查 +> ✓ 罪犯档案 - 完整 +> ✓ 计分考核 - 完整(12个月) +> ⚠ 消费记录 - 缺失(2个月) +> [补录消费记录] +> +> 步骤3:选择模板 +> [模板缩略图] +> 入监综合评估报告 v1.2 +> +> 步骤4:确认生成 +> 预计生成时间:3分钟 +> [开始生成] +> +> 方案2:首次使用引导 +> 首次登录时显示操作指引 +> 可跳过,但保留入口 +> ``` + +##### 问题3:状态展示不清晰 + +**原文设计**:报告状态通过枚举值展示 + +**专家意见**: + +> "用户需要直观看到当前处于什么阶段,下一步应该做什么! +> +> **当前问题**: +> 1. 状态标签颜色不统一 +> 2. 状态含义不直观(如'DRAFT'用户看不懂) +> 3. 不知道当前状态可以做什么操作 +> +> **建议修改**: +> ``` +> 状态展示优化: +> +> 状态 颜色 文案 可执行操作 +> ────────────────────────────────────────── +> 草稿 灰色 待完善 [编辑] [提交审核] +> 待审核 蓝色 审核中 [撤回] +> 已通过 绿色 已完成 [导出] [归档] +> 已退回 红色 需修改 [查看原因] [编辑] [重新提交] +> 已归档 紫色 已归档 [查看] +> +> 状态流转图(可视化): +> [草稿] ──[提交]──→ [审核中] +> ↑ │ +│ [撤回] ┌──┴──┐ +│ │ │ +> [退回] [通过] +> │ │ +> ↓ ↓ +> [待完善] [已完成] +> │ │ +> └───────┘ +> ``` + +#### 5.3 交互流程问题 + +##### 问题1:保存机制不友好 + +**原文设计**:手动保存 + +**专家意见**: + +> "手动保存是反人类设计! +> +> **问题分析**: +> 1. 用户可能忘记保存 +> 2. 意外关闭浏览器导致数据丢失 +> 3. 没有显示保存状态 +> +> **建议修改**: +> ``` +> 自动保存 + 状态显示 +> +> 工具栏显示: +> [草稿] ● 自动保存中... +> ✓ 已保存 14:32 +> +> 或者: +> [草稿] ⊙ 未保存更改 +> [放弃更改] [保存草稿] +> +> 本地存储: +> - 自动保存到本地存储 +> - 浏览器崩溃后可恢复 +> - 切换罪犯时自动保存当前编辑 +> ``` + +##### 问题2:缺少快捷操作 + +**原文设计**:常规按钮操作 + +**专家意见**: + +> "高频操作需要快捷方式! +> +> **建议增加快捷键**: +> | 快捷键 | 功能 | +> |-------|------| +> | Ctrl+S | 保存草稿 | +> | Ctrl+N | 新建报告 | +> | Ctrl+E | 导出PDF | +> | Ctrl+Enter | 提交审核 | +> | Tab | 切换输入框 | +> | Esc | 关闭弹窗 | +> +> **建议增加右键菜单**: +> ``` +> 在罪犯列表上右键: +> ├── 生成报告 +> ├── 查看历史报告 +> ├── 查看该犯档案 +> └── 复制罪犯编号 +> ``` + +#### 5.4 视觉设计问题 + +##### 问题1:AI标识不醒目 + +**原文设计**:AI生成内容显示"AI生成"标识 + +**专家意见**: + +> "AI生成内容需要特别醒目的标识! +> +> **建议修改**: +> ``` +> ┌─────────────────────────────┐ +> │ 服刑表现评估 │ +> │ ┌───────────────────────┐ │ +> │ │ [AI图标] AI生成 │ │ +> │ │ 该犯入监以来表现良好... │ │ +> │ │ │ │ +> │ │ [重新生成] [人工修改] │ │ +> │ └───────────────────────┘ │ +> └─────────────────────────────┘ +> +> AI标识规范: +> - 图标:机器人🤖 或 AI字样 +> - 颜色:蓝色边框 + 浅蓝背景 +> - 位置:内容区域左上角 +> - 交互:点击显示AI生成详情(生成时间、模型版本) +> ``` + +##### 问题2:风险等级视觉区分不足 + +**原文设计**:风险等级文字展示 + +**专家意见**: + +> "风险等级需要一目了然! +> +> **建议修改**: +> ``` +> 风险等级视觉设计: +> +> ┌────────────────────────────────────────────┐ +> │ 风险等级: │ +> │ ● 低风险 ○ 中风险 ○ 高风险 ○ 极高 │ +> │ (绿色) (黄色) (橙色) (红色) │ +> │ │ +> │ 或者使用标签形式: │ +> │ [🟢 低风险] [🟡 中风险] [🟠 高风险] [🔴 极高] │ +> └────────────────────────────────────────────┘ +> ``` + +### 5.5 陈思雨专家综合评分 + +| 评审维度 | 满分 | 得分 | 扣分原因 | +|---------|-----|------|---------| +| 信息架构 | 30 | 18 | 信息密度过高 | +| 交互流程 | 30 | 15 | 缺少引导和快捷操作 | +| 视觉设计 | 20 | 12 | 标识不够醒目 | +| 易用性 | 20 | 12 | 保存机制不友好 | +| **总分** | **100** | **57** | 需要大量优化 | + +### 5.6 陈思雨专家评审结论 + +> **总体结论**:有条件通过,需优化用户体验 +> +> **核心问题**: +> 1. 页面信息密度过高,需要重新设计布局 +> 2. 必须增加向导式操作引导 +> 3. 必须实现自动保存机制 +> 4. 必须增加快捷键支持 +> 5. AI标识和风险等级需要更醒目的视觉设计 +> +> **建议**: +> - 需要进行用户调研,了解真实用户习惯 +> - 建议制作高保真原型进行可用性测试 +> - 关键流程需要设计A/B测试方案 + +--- + +## 六、综合评审结论 + +### 6.1 各专家评分汇总 + +| 专家 | 评审维度 | 得分 | 结论 | +|-----|---------|------|------| +| 刘建国 | 业务流程 | 60/100 | 不通过,需重大修订 | +| 张明远 | 法律合规 | 42/100 | 不通过,存在重大法律风险 | +| 王淑芬 | 心理评估 | 45/100 | 不通过,需重大修订 | +| 李志强 | 技术架构 | 57/100 | 有条件通过,需优化 | +| 陈思雨 | 产品UX | 57/100 | 有条件通过,需优化 | +| **平均分** | - | **52/100** | **总体不通过** | + +### 6.2 核心问题汇总表 + +| 优先级 | 问题数量 | 问题类型 | 影响范围 | +|-------|---------|---------|---------| +| P0-阻断 | 5 | 流程设计缺陷、法律效力、安全 | 整个系统无法上线 | +| P1-严重 | 8 | 功能缺失、性能风险 | 影响核心功能实现 | +| P2-一般 | 12 | 交互优化、体验改进 | 影响用户体验 | + +### 6.3 P0级核心问题(必须解决) + +| 序号 | 问题 | 专家 | 建议方案 | +|-----|------|------|---------| +| 1 | 报告生成流程缺少数据完整性检查 | 刘建国 | 增加数据完整性检测步骤 | +| 2 | AI生成内容法律效力未明确 | 张明远 | 明确AI使用范围,标注AI生成内容 | +| 3 | 缺少减刑假释法定评估要素 | 张明远 | 增加法定评估维度 | +| 4 | AI不能生成心理诊断结论 | 王淑芬 | 限制AI在心理评估中的应用范围 | +| 5 | 缺少AI提示词专业审核机制 | 王淑芬 | 建立心理专家审核流程 | + +### 6.4 修订建议 + +#### 第一阶段修订(P0问题) + +1. **流程修订** + - 增加数据完整性检查步骤 + - 明确AI使用边界(哪些可以AI生成,哪些必须人工) + - 增加专业审核环节 + +2. **文档修订** + - 补充法律合规性说明 + - 明确数字签名实现方案 + - 完善减刑假释模板 + +3. **架构修订** + - 设计异步生成队列 + - 实现多级缓存机制 + - 设计容错降级方案 + +#### 第二阶段修订(P1问题) + +4. **功能补充** + - 增加家庭帮教维度 + - 实现批量生成功能 + - 实现归档管理 + +5. **体验优化** + - 重新设计页面布局 + - 增加向导式操作 + - 实现自动保存 + +### 6.5 评审结论 + +> **总体评审结论**:不通过 +> +> **原因**: +> 1. 存在5个P0级问题,可能导致系统无法正常使用或存在法律风险 +> 2. 专家平均得分52分,未达到通过标准(70分) +> 3. 需要进行重大修订后重新评审 +> +> **下一步行动**: +> 1. 产品团队根据专家意见进行修订(预计2周) +> 2. 修订后重新组织专家评审会议 +> 3. 通过二审后再进入开发阶段 + +--- + +## 七、专家评审签认 + +| 角色 | 专家 | 评审日期 | 签名 | +|-----|------|---------|------| +| 监狱管理资深专家 | 刘建国(模拟) | 2026-01-18 | 刘某 | +| 刑罚执行专家 | 张明远(模拟) | 2026-01-18 | 张某 | +| 心理评估专家 | 王淑芬(模拟) | 2026-01-18 | 王某 | +| 技术架构专家 | 李志强(模拟) | 2026-01-18 | 李某 | +| 产品UX专家 | 陈思雨(模拟) | 2026-01-18 | 陈某 | + +--- + +**报告生成时间**:2026-01-18 +**报告版本**:v1.0 +**保密等级**:内部资料 +**评审状态**:待修订后二审 diff --git a/requirements/评估功能实现评估报告.md b/requirements/评估功能实现评估报告.md new file mode 100644 index 0000000..192dbaf --- /dev/null +++ b/requirements/评估功能实现评估报告.md @@ -0,0 +1,501 @@ +# 评估功能前后端实现评估报告 + +> 评估日期:2026-01-18 +> 评估范围:危险评估、计分考核、评估报告模块 +> 评估目标:发现交互逻辑问题、功能设置问题,为产品专家评审提供依据 + +--- + +## 一、功能模块概览 + +### 1.1 已实现模块清单 + +| 模块名称 | 中文名称 | 后端路径 | 前端路径 | 完成度 | +|---------|---------|---------|---------|-------| +| RiskAssessment | 危险评估 | `controller/admin/riskassessment/` | `views/prison/riskassessment/` | 90% | +| Score | 计分考核 | `controller/admin/score/` | `views/prison/score/` | 85% | +| ScoreRule | 考核规则配置 | `controller/admin/score/rule/` | 未实现 | 70% | +| ScoreDetail | 考核明细记录 | `controller/admin/score/detail/` | 未实现 | 70% | +| EvaluationReport | 评估报告 | `controller/admin/evaluationreport/` | `api/prison/evaluation/` | 75% | + +### 1.2 评估报告模块表结构 + +| 表名 | 说明 | 状态 | +|-----|------|------| +| `prison_evaluation_template` | 评估报告模板表 | ✅ 已创建 | +| `prison_evaluation_dimension` | 评估维度配置表 | ✅ 已创建 | +| `prison_evaluation_report` | 评估报告表 | ✅ 已创建 | +| `prison_evaluation_dimension_data` | 报告维度数据表 | ✅ 已创建 | +| `prison_report_comment` | 快捷评语库表 | ✅ 已创建 | +| `prison_evaluation_report_version` | 报告版本历史表 | ✅ 已创建 | +| `prison_evaluation_ai_log` | AI生成日志表 | ✅ 已创建 | + +--- + +## 二、需求实现对比分析 + +### 2.1 模板管理功能对比 + +| 需求功能 | 实现状态 | 问题说明 | +|---------|---------|---------| +| 新增模板 | ✅ 已实现 | | +| 编辑模板 | ✅ 已实现 | | +| 复制模板 | ❌ **未实现** | 需求文档3.1.3明确要求 | +| 启用/停用模板 | ✅ 已实现 | | +| 设为默认 | ❌ **未实现** | 需求文档3.1.3明确要求 | +| 版本管理 | ⚠️ 部分实现 | 仅存储,未实现版本对比 | +| 模板分类 | ✅ 已实现 | 支持4种类型 | + +### 2.2 维度管理功能对比 + +| 需求功能 | 实现状态 | 问题说明 | +|---------|---------|---------| +| 新增维度 | ✅ 已实现 | | +| 编辑维度 | ✅ 已实现 | | +| 删除维度 | ✅ 已实现 | | +| 复制维度 | ❌ **未实现** | 需求文档3.1.4.1明确要求 | +| 拖拽排序 | ❌ **未实现** | 仅后端存储sort字段,前端未实现拖拽 | +| 启用/停用 | ✅ 已实现 | | +| AI提示词配置 | ✅ 已实现 | | +| 数据源绑定 | ✅ 已实现 | | + +### 2.3 报告生成功能对比 + +| 需求功能 | 实现状态 | 问题说明 | +|---------|---------|---------| +| 手动创建报告 | ✅ 已实现 | | +| 批量生成报告 | ❌ **未实现** | 需求文档3.5.2明确要求 | +| 数据自动填充 | ✅ 已实现 | | +| AI生成初稿 | ✅ 已实现 | | +| 人工修改 | ✅ 已实现 | | +| 逐维度重新生成 | ✅ 已实现 | | +| 快捷评语 | ✅ 已实现 | | + +### 2.4 报告审核功能对比 + +| 需求功能 | 实现状态 | 问题说明 | +|---------|---------|---------| +| 提交审核 | ✅ 已实现 | | +| 审核通过 | ✅ 已实现 | | +| 审核退回 | ⚠️ **不完整** | 缺少结构化退回原因记录 | +| 撤回报告 | ❌ **未实现** | 需求文档3.13.3明确要求 | +| 退回后重新提交 | ✅ 已实现 | | + +### 2.5 报告导出功能对比 + +| 需求功能 | 实现状态 | 问题说明 | +|---------|---------|---------| +| 导出Excel | ✅ 已实现 | | +| 导出PDF | ❌ **未实现** | 需求文档3.9明确要求 | +| 导出Word | ❌ **未实现** | 需求文档3.9明确要求 | +| 批量导出 | ❌ **未实现** | 需求文档3.11.5明确要求 | +| 批量打包下载 | ❌ **未实现** | 需求文档3.9.2明确要求 | + +### 2.6 归档管理功能对比 + +| 需求功能 | 实现状态 | 问题说明 | +|---------|---------|---------| +| 报告归档 | ❌ **未实现** | 需求文档3.10明确要求 | +| 归档查询 | ❌ **未实现** | | +| 归档后不可修改 | ❌ **未实现** | | + +### 2.7 版本管理功能对比 + +| 需求功能 | 实现状态 | 问题说明 | +|---------|---------|---------| +| 版本记录 | ✅ 已实现 | 表结构已创建 | +| 版本查看 | ⚠️ 部分实现 | 仅存储,未实现查看功能 | +| 版本对比 | ❌ **未实现** | 需求文档3.8.2明确要求 | +| 版本回滚 | ❌ **未实现** | 需求文档3.8.2明确要求 | + +--- + +## 三、交互逻辑问题清单 + +### 3.1 报告编号生成规则不一致 + +**问题描述**: +- 需求规范:`RPT-{监区编码}-{年月}-{4位序号}` 示例:`RPT-JQ01-202601-0001` +- 代码实现:`PGEV + yyyyMMdd + 6位序号` 示例:`PGEV20260118000001` + +**影响**:报告编号不符合需求规范,无法直观识别监区信息 + +**建议修复**: +```java +// 建议改为: +// 1. 获取罪犯所属监区编码 +// 2. 获取当前年月 +// 3. 查询当月该监区的最大序号 +// 4. 格式:RPT-{监区编码}-{年月}-{序号(4位)} +``` + +### 3.2 审核退回流程不完整 + +**问题描述**: +- 当前实现:仅记录 `audit_opinion` 文本字段 +- 需求要求:结构化记录退回原因、驳回时间、驳回人 + +**影响**:退回原因无法有效传达给起草人,缺少退回时间追溯 + +**建议修复**: +```sql +-- 增加字段 +ALTER TABLE prison_evaluation_report +ADD COLUMN return_reason VARCHAR(500) COMMENT '退回原因', +ADD COLUMN return_time DATETIME COMMENT '退回时间', +ADD COLUMN return_by BIGINT COMMENT '退回人ID'; +``` + +### 3.3 缺少报告撤回功能 + +**问题描述**: +- 需求文档3.13.3明确要求:待审核状态可撤回为草稿 +- 当前代码:没有撤回(Withdraw/Recall)相关接口 + +**影响**:提交审核后发现问题无法及时撤回修改 + +**建议新增接口**: +``` +POST /prison/evaluation-report/report/withdraw +参数:reportId +前置条件:status = PENDING_AUDIT(2) +后置条件:status = DRAFT(1) +``` + +### 3.4 状态枚举定义不一致 + +**问题描述**: +- 需求文档:草稿(1)、待审核(2)、已通过(3)、已退回(4)、已归档(5) +- 代码实现:缺少"已归档"状态枚举 + +**影响**:归档功能无法正确实现状态流转 + +**建议修复**:在 `EvaluationReportStatusEnum` 中添加 `ARCHIVED(5, "已归档")` + +### 3.5 维度类型定义不一致 + +**问题描述**: +- 数据库表:1-基本信息, 2-犯罪情况, 3-服刑表现... +- DO类定义:1-心理测评, 2-危险性评估, 3-改造表现... + +**影响**:前后端数据交换可能出现类型映射错误 + +**建议修复**:统一枚举定义,确保DO类与数据库枚举值一致 + +--- + +## 四、功能设置问题清单 + +### 4.1 模板缺少"复制"功能 + +**问题描述**:需求要求支持复制模板快速创建,当前未实现 + +**业务场景**: +- 管理员需要基于现有模板创建新版模板 +- 不同监区需要基于标准模板创建本地化版本 + +**建议实现**: +```java +@PostMapping("/template/copy") +public CommonResult copyTemplate(@RequestParam("templateId") Long templateId) { + // 1. 查询原模板 + // 2. 复制模板基础信息(名称加"副本"后缀) + // 3. 复制所有维度配置 + // 4. 返回新模板ID +} +``` + +### 4.2 维度缺少"复制"功能 + +**问题描述**:需求要求支持复制维度快速创建,当前未实现 + +**业务场景**: +- 类似维度需要微调配置 +- 跨模板复用维度配置 + +**建议实现**: +```java +@PostMapping("/dimension/copy") +public CommonResult copyDimension(@RequestParam("dimensionId") Long dimensionId) { + // 1. 查询原维度 + // 2. 复制维度配置(名称加"副本"后缀) + // 3. 返回新维度ID +} +``` + +### 4.3 缺少批量生成报告功能 + +**问题描述**:需求要求支持选择多个罪犯+模板批量生成报告 + +**业务场景**: +- 月末批量生成在押犯评估报告 +- 入监队批量生成新入监罪犯评估报告 + +**建议实现**: +```java +@PostMapping("/report/batch-generate") +public CommonResult> batchGenerate( + @RequestBody BatchGenerateReqVO vo) { + // vo包含:prisonerIds, templateId, evaluationDate + // 使用异步队列处理,返回任务ID +} +``` + +### 4.4 缺少归档管理功能 + +**问题描述**:需求要求已审核报告可归档,归档后不可修改 + +**建议实现**: +```java +@PostMapping("/report/archive") +public CommonResult archive(@RequestParam("reportId") Long reportId); + +@PostMapping("/report/unarchive") +public CommonResult unarchive(@RequestParam("reportId") Long reportId); + +@PostMapping("/report/archive-list") +public CommonResult batchArchive(@RequestParam("reportIds") List reportIds); +``` + +### 4.5 缺少版本对比和回滚功能 + +**问题描述**:需求要求支持版本对比和回滚 + +**建议实现**: +```java +// 版本对比 +@GetMapping("/report/version/compare") +public CommonResult compareVersions( + @RequestParam("reportId") Long reportId, + @RequestParam("version1") Integer version1, + @RequestParam("version2") Integer version2); + +// 版本回滚 +@PostMapping("/report/version/rollback") +public CommonResult rollback( + @RequestParam("reportId") Long reportId, + @RequestParam("targetVersion") Integer targetVersion); +``` + +### 4.6 缺少PDF/Word导出功能 + +**问题描述**:需求要求支持PDF和Word格式导出 + +**建议实现**: +```java +@PostMapping("/report/export-pdf") +public void exportPdf(@RequestParam("reportId") Long reportId, HttpServletResponse response); + +@PostMapping("/report/export-word") +public void exportWord(@RequestParam("reportId") Long reportId, HttpServletResponse response); + +@PostMapping("/report/batch-export-zip") +public void batchExportZip(@RequestBody List reportIds, HttpServletResponse response); +``` + +--- + +## 五、性能与安全缺失项 + +### 5.1 缓存机制未实现 + +**需求要求**: +- 罪犯基础信息缓存(5分钟过期) +- 考核数据缓存(10分钟过期) +- 模板配置缓存(1小时过期) + +**当前状态**:未实现任何缓存 + +**建议实现**: +```java +@Cacheable(value = "prisoner", key = "#prisonerId", ttl = 5 * 60) +public PrisonerDTO getPrisoner(Long prisonerId) { ... } + +@Cacheable(value = "scoreData", key = "#prisonerId + ':' + #year", ttl = 10 * 60) +public ScoreDTO getScoreData(Long prisonerId, Integer year) { ... } +``` + +### 5.2 异步生成队列未实现 + +**需求要求**: +- 批量生成使用异步队列 +- 支持队列状态查询 +- 失败重试(最多3次) +- 生成完成通知 + +**当前状态**:同步调用LLM服务 + +**建议实现**: +```java +@Async("reportGenerateExecutor") +public CompletableFuture generateReportAsync(GenerateTask task) { + // 调用LLM生成报告 + // 失败时重试3次 + // 完成后发送系统通知 +} +``` + +### 5.3 AI服务降级未实现 + +**需求要求**:AI服务不可用时有降级策略 + +**当前状态**:仅检查LLM是否可用,无降级机制 + +**建议实现**: +- 使用默认模板填充 +- 标记维度为"待人工填写" +- 记录服务降级日志 + +--- + +## 六、前端交互问题 + +### 6.1 评估报告前端页面未完整实现 + +| 组件 | 状态 | 说明 | +|-----|------|------| +| 报告模板管理页 | ❌ 未实现 | 仅有API,无页面 | +| 维度配置管理页 | ❌ 未实现 | 仅有API,无页面 | +| 报告编辑页面 | ❌ 未实现 | 仅有API,无页面 | +| 报告列表页 | ❌ 未实现 | 仅有API,无页面 | + +### 6.2 前后端联调问题 + +**问题**:前端API已定义,但后端Controller路径不一致 + +**示例**: +- 前端定义:`/prison/evaluation-report/template/page` +- 后端实际:`/prison/evaluation-report/template/page` ✅ 一致 + +**但缺少以下前端页面**: +- 模板列表/编辑页面 +- 维度配置页面 +- 报告编辑页面(左右分栏布局) +- 报告预览/打印页面 +- 快捷评语管理页面 + +--- + +## 七、功能实现完成度汇总 + +| 功能模块 | 已实现 | 需完善 | 未实现 | 完成度 | +|---------|-------|-------|-------|-------| +| 模板管理 | 8项 | 1项 | 2项 | **75%** | +| 维度管理 | 5项 | 0项 | 2项 | **71%** | +| 报告创建 | 5项 | 1项 | 1项 | **79%** | +| 报告审核 | 3项 | 1项 | 1项 | **60%** | +| 报告导出 | 1项 | 0项 | 3项 | **25%** | +| 归档管理 | 0项 | 0项 | 3项 | **0%** | +| 版本管理 | 1项 | 1项 | 2项 | **33%** | +| AI生成 | 3项 | 2项 | 2项 | **50%** | +| 前端页面 | 0项 | 0项 | 5项 | **0%** | + +**总体评估**:核心数据模型和API已实现,但前端页面缺失较多,高级功能(批量生成、归档、版本对比)未实现。 + +--- + +## 八、改进优先级建议 + +### P0 - 必须修复(影响核心流程) + +1. **报告编号规则修复** - 符合需求规范 +2. **审核退回流程完善** - 结构化记录退回原因 +3. **添加报告撤回功能** - 支持待审核撤回 +4. **状态枚举补全** - 添加已归档状态 + +### P1 - 应该实现(影响用户体验) + +5. **模板复制功能** +6. **维度复制功能** +7. **批量生成报告功能** +8. **PDF/Word导出功能** +9. **归档管理功能** +10. **版本对比功能** + +### P2 - 建议实现(提升体验) + +11. **数据缓存机制** +12. **异步生成队列** +13. **AI服务降级** +14. **前端页面完整实现** +15. **维度拖拽排序前端** + +--- + +## 九、待产品专家评审事项 + +### 9.1 业务流程问题 + +1. **批量生成场景确认** + - 一次性最多生成多少个报告? + - 是否需要显示生成进度? + - 生成失败如何处理? + +2. **审核退回流程确认** + - 是否必须填写退回原因? + - 退回原因是否需要分类? + - 退回后是否需要通知起草人? + +3. **归档策略确认** + - 自动归档还是手动归档? + - 归档后是否可导出? + - 归档文件保留多长时间? + +### 9.2 交互设计问题 + +1. **报告编辑页面布局** + - 需求文档设计了左右分栏布局,是否认可? + - 罪犯列表每页显示多少条? + - 是否需要支持快捷键操作? + +2. **版本对比界面** + - 左右分屏对比是否足够? + - 是否需要高亮显示差异? + - 是否需要一键还原? + +### 9.3 功能优先级确认 + +1. **第一阶段MVP功能范围** + - 模板管理、维度配置 + - 报告创建、AI生成 + - 报告审核、Excel导出 + +2. **第二阶段功能范围** + - 批量生成、PDF导出 + - 归档管理、版本对比 + +--- + +## 附录:关键文件清单 + +### 后端关键文件 + +| 文件路径 | 说明 | +|---------|------| +| `controller/admin/evaluationreport/EvaluationReportController.java` | 主控制器 | +| `service/evaluationreport/EvaluationReportService.java` | 服务接口 | +| `service/evaluationreport/impl/EvaluationReportServiceImpl.java` | 服务实现 | +| `dal/dataobject/evaluationreport/EvaluationReportDO.java` | 报告实体 | +| `dal/dataobject/evaluationreport/EvaluationDimensionDO.java` | 维度实体 | +| `enums/EvaluationReportStatusEnum.java` | 状态枚举 | + +### 前端关键文件 + +| 文件路径 | 说明 | +|---------|------| +| `api/prison/evaluation/index.ts` | API定义 | +| `views/prison/riskassessment/index.vue` | 危险评估列表 | +| `views/prison/score/index.vue` | 计分考核列表 | + +### 数据库脚本 + +| 文件路径 | 说明 | +|---------|------| +| `sql/evaluation_report.sql` | 评估报告表结构 | +| `sql/evaluation_report_dict_data.sql` | 字典数据 | + +--- + +**报告生成时间**:2026-01-18 +**评估人**:Claude Code +**版本**:v1.0 diff --git a/requirements/需求-10-评估报告.md b/requirements/需求-10-评估报告.md index 0b17f0e..83f3fa4 100644 --- a/requirements/需求-10-评估报告.md +++ b/requirements/需求-10-评估报告.md @@ -2,7 +2,8 @@ > 模块名称:评估报告 > 优先级:P1 -> 预估工时:28h +> 预估工时:27天 +> 版本:v1.3(根据业务流程确认结果修订) --- @@ -12,6 +13,14 @@ **核心创新**:使用AI大语言模型自动填写风险评估报告,支持人机协作模式(AI生成初稿 + 人工审核修改),大幅提高评估工作效率。 +**业务流程修订说明(v1.3)**: +- 增加报告生成前数据完整性检查步骤 +- 完善批量生成异步队列设计 +- 增加撤回功能流程 +- 完善自动归档规则 +- 补充家庭帮教评估维度 +- 支持PDF/Word/Excel三种导出格式 + ## 二、用户故事 | 角色 | 故事描述 | 优先级 | @@ -98,6 +107,148 @@ - 设为默认 - 版本管理 +#### 3.1.4 评估维度管理 + +评估维度是模板的核心组成部分,定义了报告的章节结构和内容生成规则。 + +##### 3.1.4.1 维度管理操作 + +| 功能 | 说明 | 触发条件 | +|-----|------|---------| +| 新增维度 | 为模板添加新的评估维度 | 模板详情页点击"新增维度" | +| 编辑维度 | 修改维度名称、提示词、数据源等配置 | 点击维度卡片的"编辑"按钮 | +| 删除维度 | 删除模板下的维度 | 未被报告引用时可删除 | +| 复制维度 | 基于现有维度快速创建新维度 | 点击"复制"按钮 | +| 拖拽排序 | 调整维度在模板中的显示顺序 | 拖拽维度卡片上下移动 | +| 启用/停用 | 控制维度是否在报告中显示 | 切换状态开关 | + +##### 3.1.4.2 维度配置字段 + +| 字段 | 类型 | 必填 | 说明 | +|-----|------|-----|------| +| 维度名称 | 文本 | 是 | 如:犯罪情况分析、服刑表现评估 | +| 维度编码 | 文本 | 是 | 唯一标识,如:crime_analysis | +| 维度类型 | 下拉 | 是 | 1-基本信息 2-犯罪情况 3-服刑表现 4-心理评估 5-风险评估 6-消费行为 7-劳动表现 8-家庭帮教 9-综合分析 10-管教意见 | +| 数据源绑定 | 多选 | 否 | 选择需要聚合的数据源(见3.2数据源配置) | +| 生成方式 | 下拉 | 是 | 1-自动填充(从数据源) 2-AI生成 3-人工填写 | +| AI提示词 | 多行文本 | 条件必填 | 生成方式为AI生成时必填 | +| 输出格式 | 下拉 | 是 | 1-文本 2-段落 3-列表 | +| 编辑器类型 | 下拉 | 是 | 1-文本框 2-富文本 3-下拉选择 | +| 是否必填 | 开关 | 是 | 该维度内容是否必须填写 | +| 字数限制 | 数字 | 否 | 最小字数-最大字数 | +| 排序 | 数字 | 是 | 维度在报告中的显示顺序 | +| 状态 | 开关 | 是 | 启用/停用 | + +##### 3.1.4.3 AI提示词变量 + +在AI提示词中可以使用以下变量,系统会自动替换为实际数据: + +| 变量 | 说明 | 示例 | +|-----|------|------| +| `{罪犯姓名}` | 罪犯姓名 | 张三 | +| `{罪犯编号}` | 罪犯档案编号 | 2024001 | +| `{罪犯档案}` | 完整罪犯档案信息JSON | {"name":"张三","crime":"盗窃罪"...} | +| `{计分考核}` | 计分考核数据JSON | {"monthlyScore":98,"level":"良好"...} | +| `{消费记录}` | 消费记录数据JSON | {"totalAmount":1200,"avgMonthly":100...} | +| `{心理测评}` | 心理测评结果JSON | {"score":85,"level":"正常"...} | +| `{风险评估}` | 风险评估结果JSON | {"riskLevel":"低风险","score":25...} | +| `{违规记录}` | 违规记录数据JSON | {"count":0,"types":[]...} | +| `{奖励记录}` | 奖励记录数据JSON | {"praiseCount":2,"types":["表扬"]...} | +| `{会见记录}` | 会见记录数据JSON | {"visitCount":5,"lastVisit":"2026-01-10"...} | +| `{家庭帮教}` | 家庭帮教情况JSON | {"supportLevel":"积极","contact":"良好"...} | +| `{维度名称}` | 当前维度名称 | 服刑表现评估 | + +**AI提示词示例**: +``` +你是一位有20年工作经验的监狱管教民警,请根据以下{罪犯姓名}的服刑数据, +生成一份专业的{维度名称}分析报告。 + +【基本信息】 +{罪犯档案} + +【服刑表现数据】 +{计分考核} + +【消费行为数据】 +{消费记录} + +要求: +1. 语言专业、客观,符合监狱管理规范 +2. 结合具体数据进行分析,有理有据 +3. 字数控制在200-500字 +4. 不要使用模板化语言,针对个案具体分析 +``` + +##### 3.1.4.4 维度管理页面 + +``` +┌─────────────────────────────────────────────────────────────────────┐ +│ 模板详情 - 入监风险评估模板 │ +├─────────────────────────────────────────────────────────────────────┤ +│ [基本信息] [维度配置] │ +├─────────────────────────────────────────────────────────────────────┤ +│ │ +│ 维度配置 [+ 新增维度] │ +│ ┌───────────────────────────────────────────────────────────────┐ │ +│ │ ≡ 1. 基本信息 [自动填充] [必填] │ │ +│ │ 数据源:罪犯档案 │ │ +│ │ [编辑] [复制] [删除] [↑] [↓] │ │ +│ └───────────────────────────────────────────────────────────────┘ │ +│ ┌───────────────────────────────────────────────────────────────┐ │ +│ │ ≡ 2. 犯罪情况分析 [AI生成] [必填] │ │ +│ │ 数据源:罪犯档案 │ │ +│ │ 提示词:你是一位有20年... │ │ +│ │ [编辑] [复制] [删除] [↑] [↓] │ │ +│ └───────────────────────────────────────────────────────────────┘ │ +│ ┌───────────────────────────────────────────────────────────────┐ │ +│ │ ≡ 3. 服刑表现评估 [AI生成] [必填] │ │ +│ │ 数据源:计分考核、违规记录、奖励记录 │ │ +│ │ 提示词:请根据该犯的考核数据... │ │ +│ │ [编辑] [复制] [删除] [↑] [↓] │ │ +│ └───────────────────────────────────────────────────────────────┘ │ +│ ┌───────────────────────────────────────────────────────────────┐ │ +│ │ ≡ 4. 综合结论与建议 [人工填写] [必填] │ │ +│ │ 编辑器:富文本 │ │ +│ │ [编辑] [复制] [删除] [↑] [↓] │ │ +│ └───────────────────────────────────────────────────────────────┘ │ +│ │ +│ 提示:拖拽 ≡ 图标可调整维度顺序 │ +└─────────────────────────────────────────────────────────────────────┘ +``` + +##### 3.1.4.5 维度编辑弹窗 + +``` +┌─────────────────────────────────────────────────────────────────────┐ +│ 编辑维度 - 服刑表现评估 [×] │ +├─────────────────────────────────────────────────────────────────────┤ +│ │ +│ 维度名称 *:[服刑表现评估 ] │ +│ 维度编码 *:[behavior_evaluation ] │ +│ 维度类型 *:[服刑表现 ▼] │ +│ │ +│ 生成方式 *:[AI生成 ▼] │ +│ │ +│ 数据源绑定: │ +│ [✓] 计分考核 [✓] 违规记录 [✓] 奖励记录 [ ] 劳动数据 │ +│ [ ] 消费记录 [ ] 心理测评 [ ] 会见记录 [ ] 家庭帮教 │ +│ │ +│ AI提示词 *: │ +│ ┌───────────────────────────────────────────────────────────────┐ │ +│ │ 你是一位有20年工作经验的监狱管教民警,请根据{罪犯姓名}的 │ │ +│ │ 服刑表现数据,生成一份专业的{维度名称}分析报告... │ │ +│ └───────────────────────────────────────────────────────────────┘ │ +│ [插入变量▼] 可用变量:罪犯姓名、罪犯档案、计分考核... │ +│ │ +│ 输出格式 *:[段落 ▼] │ +│ 编辑器类型 *:[富文本 ▼] │ +│ 字数限制:最小 [200] 字 最大 [500] 字 │ +│ 是否必填:[✓] 状态:[✓] 启用 │ +│ │ +│ [取消] [测试AI生成] [保存] │ +└─────────────────────────────────────────────────────────────────────┘ +``` + ### 3.2 数据源配置 #### 3.2.1 可用数据源 @@ -116,6 +267,46 @@ | 家庭帮教 | family | 家属会见情况、家庭支持情况 | | 心理测评 | psychology | 心理测评得分、心理状态 | +### 3.2.2 【新增】家庭帮教维度设计 + +**维度说明**: +家庭帮教情况是减刑假释评估的重要参考因素,建议作为独立维度纳入评估模板。 + +**维度子项**: +| 子项名称 | 字段类型 | 说明 | 数据来源 | +|---------|---------|------|---------| +| 家属会见频次 | 自动填充 | 近6个月会见次数、月均会见次数 | 会见记录表 | +| 帮教通信情况 | 自动填充 | 家属来信次数、通信内容摘要 | 通信记录表 | +| 家属态度评价 | 人工选择 | 积极/一般/消极 | 管教评价 | +| 家庭支持力度 | 人工选择 | 强/中/弱(经济支持、情感支持) | 综合评估 | +| 假释后安置意向 | 人工填写 | 有无固定住所、就业意向 | 档案信息/人工填写 | + +**AI提示词建议**: +``` +请根据以下家庭帮教情况数据,分析该犯的家属帮教支持情况: +- 家属会见频次:{会见次数}次/月 +- 帮教通信:{通信次数}次/月 +- 家属态度:{家属态度} +- 家庭支持:{支持力度} +- 安置条件:{安置意向} + +请生成客观描述,重点分析: +1. 家属帮教对罪犯改造效果的积极/消极影响 +2. 家庭支持对罪犯心理状态的影响 +3. 假释后的家庭监管条件评估 +4. 建议加强的帮教措施 + +要求: +- 语言专业、客观 +- 基于具体数据分析 +- 字数控制在200-400字 +``` + +**维度配置建议**: +- 生成方式:AI生成(根据自动填充数据) +- 是否必填:建议必填(减刑假释评估时尤为重要) +- 适用模板:入监评估、定期考核、出监评估、减刑假释建议报告 + ### 3.3 AI生成服务 #### 3.3.1 AI提示词示例 @@ -214,21 +405,108 @@ | 风险因素分析 | 根据多维度数据生成的风险评估 | | 综合评估结论 | 基于以上分析的综合结论 | -#### 3.5.2 创建报告 +#### 3.5.2 创建报告(修订版) **创建方式**: -- 手动创建:选择罪犯 + 选择模板 -- 自动创建:批量生成多个罪犯的报告 +- 手动创建:选择罪犯 + 数据检查 + 选择模板 + 生成报告 +- 批量创建:选择多个罪犯 + 选择模板 + 批量生成 **生成流程**: -1. 选择罪犯 -2. 选择报告模板 -3. 设置报告日期范围 -4. 系统自动聚合数据源 -5. 调用AI生成报告初稿(或手动填写) -6. 生成报告预览 +``` +步骤1:选择罪犯 + │ + ▼ +步骤2:【新增】数据完整性检查 ⚠️ + ├── 检查项: + │ ├── 罪犯档案完整性(基本信息、犯罪情况、刑期等) + │ ├── 计分考核记录(最近12个月) + │ ├── 消费记录(最近12个月) + │ ├── 心理测评记录(最近1年) + │ └── 危险评估记录(最近1年) + ├── 显示结果: + │ ├── 完整:显示绿色勾选 ✓ + │ ├── 缺失:显示黄色警告 ⚠ + 缺失项列表 + └── 操作: + ├── [继续生成](数据完整或允许缺失生成) + └── [补录数据](跳转补录页面,缺失关键数据时强提醒) + │ + ▼ +步骤3:选择报告模板 + ├── 显示模板列表(支持搜索和筛选) + └── 显示模板预览(包含维度结构) + │ + ▼ +步骤4:确认生成 + ├── 显示:预计生成时间、数据完整性状态 + └── [确认生成] + │ + ▼ +步骤5:AI生成报告初稿 + ├── 生成时间:30-60秒/份 + ├── 并发限制:最多3个并行任务(单个生成) + └── 批量生成:进入异步队列处理 + │ + ▼ +步骤6:人工审核修改 + ├── 步骤:查看报告 → 逐维度审核 → 修改 → 确认 + └── 标识:AI生成内容显示"🤖 AI生成"标识 + │ + ▼ +步骤7:提交审核 -#### 3.4.2 数据填充 +#### 3.5.3 【新增】批量生成流程 + +**功能说明**: +支持选择多个罪犯+模板,批量生成评估报告。批量生成使用异步队列处理,避免接口超时。 + +**批量生成流程**: +``` +批量生成入口:批量选择罪犯 → 选择模板 → 批量生成 + │ + ▼ +前置检查 + ├── 数据完整性扫描(批量) + │ ├── 统计完整数据罪犯数 + │ ├── 统计缺失数据罪犯数 + │ └── 生成数据完整性报告 + └── 显示:[继续生成] [补录数据] [取消] + │ + ▼ +任务队列 + ├── 异步处理:进入后台队列 + │ ├── 队列优先级:普通 + │ ├── 并发控制:最多10个并行任务 + │ └── 超时设置:单任务超时5分钟 + ├── 预估时间:根据数量计算 + │ └── 显示:预计完成时间 + └── 用户操作:可离开去做其他工作 + │ + ▼ +进度通知 + ├── 进度条:实时显示进度 + │ ├── 已完成:X/Y 份 + │ ├── 进行中:Z 份 + │ └── 失败:W 份(显示失败原因) + ├── 完成通知:系统消息通知 + │ └── 通知内容:批量生成完成,成功X份,失败Y份 + └── 失败处理:标记失败项,支持重试 +``` + +**批量生成限制**: +| 项目 | 限制值 | 说明 | +|-----|-------|------| +| 单次批量数量 | 最多50个 | 超过需分批处理 | +| 每日批量次数 | 无限制 | 根据实际需求 | +| 队列优先级 | 普通 | 低优先级任务可延迟处理 | + +**批量生成状态管理**: +| 状态 | 说明 | 操作 | +|-----|------|------| +| 等待中 | 任务已加入队列,等待处理 | 可取消 | +| 处理中 | 正在生成中 | 显示进度 | +| 已完成 | 全部生成成功 | 查看报告 | +| 部分失败 | 部分成功,部分失败 | 查看失败列表,可重试 | +| 全部失败 | 全部生成失败 | 查看原因,可重试 | **自动填充内容**: - 罪犯基本信息(从狱政模块获取) @@ -526,9 +804,19 @@ **退回**: - 状态变为"已退回" -- 填写退回原因 +- 选择退回原因(分类选择) +- 可选填写详细说明 - 返回起草人修改 +**退回原因分类**: +| 分类 | 说明 | +|-----|------| +| 内容不完整 | 必填维度未填写完整 | +| 数据错误 | 数据与实际情况不符 | +| 表述不当 | 文字表述需要改进 | +| 逻辑不清 | 分析逻辑需要调整 | +| 其他 | 其他原因(可选填说明) | + ### 3.6 报告安全与防篡改 #### 3.6.1 数字签名机制 @@ -617,18 +905,40 @@ - 批量下载 - 批量打包下载 -### 3.10 报告归档 +### 3.10 报告归档(修订版) #### 3.10.1 归档管理 -**归档条件**: -- 已审核的报告 -- 超过一定时间的报告 +**归档规则**: +- **自动归档**:审核通过后24小时自动归档(可配置) +- **手动归档**:管理员可手动标记归档 +- **归档条件**: + - 报告状态为"已通过" + - 已超过归档冷静期(默认24小时,可配置) + - 归档前无需再次确认 -**归档操作**: -- 标记已归档 -- 移至归档列表 -- 归档后不可修改 +**归档效果**: +- 报告状态变为"已归档" +- 归档后报告不可修改 +- 归档后报告不可删除 +- 归档后仍可查看和导出 + +**自动归档流程**: +``` +定时任务(每小时执行一次) + │ + ▼ +查询已通过状态超过冷静期的报告 + │ + ▼ +批量更新状态为"已归档" + │ + ▼ +记录归档日志 + │ + ▼ +发送归档完成通知(可选) +``` #### 3.10.2 归档查询 @@ -636,6 +946,180 @@ - 归档时间范围 - 报告类型 - 罪犯信息 +- 创建人 + +### 3.11 报告列表管理页面 + +#### 3.11.1 页面布局 + +``` +┌─────────────────────────────────────────────────────────────────────────┐ +│ 评估报告管理 [+ 新建报告] │ +├─────────────────────────────────────────────────────────────────────────┤ +│ 筛选条件 │ +│ ┌─────────────────────────────────────────────────────────────────┐ │ +│ │ 状态:[全部▼] 类型:[全部▼] 监区:[全部▼] 风险等级:[全部▼] │ │ +│ │ 创建日期:[2026-01-01] 至 [2026-01-18] │ │ +│ │ 罪犯:[姓名/编号搜索... ] [搜索] [重置] │ │ +│ └─────────────────────────────────────────────────────────────────┘ │ +├─────────────────────────────────────────────────────────────────────────┤ +│ 批量操作:[批量生成] [批量导出] [批量删除] 已选 0 项 │ +├─────────────────────────────────────────────────────────────────────────┤ +│ □ 报告编号 罪犯 监区 类型 风险 状态 创建人 创建时间 操作 │ +│ ───────────────────────────────────────────────────────────────────── │ +│ □ RPT-JQ01-202601-0001 张三(2024001) 一监区 入监评估 🔴高 已通过 陈警官 2026-01-15 [查看][编辑][导出]│ +│ □ RPT-JQ02-202601-0002 李四(2024002) 二监区 定期考核 🟡中 待审核 王警官 2026-01-16 [查看][编辑][审核]│ +│ □ RPT-JQ01-202601-0003 王五(2024003) 一监区 入监评估 🟢低 草稿 陈警官 2026-01-17 [查看][编辑][删除]│ +│ □ RPT-JQ03-202601-0004 赵六(2024004) 三监区 出监评估 🟢低 已退回 李警官 2026-01-18 [查看][编辑][删除]│ +│ ... │ +├─────────────────────────────────────────────────────────────────────────┤ +│ 共 125 条 [< 1 2 3 4 5 ... 13 >] 每页 [10▼] 条 │ +└─────────────────────────────────────────────────────────────────────────┘ +``` + +#### 3.11.2 筛选条件 + +| 筛选项 | 类型 | 可选值 | 说明 | +|-------|------|-------|------| +| 状态 | 下拉单选 | 全部/草稿/待审核/已通过/已退回/已归档 | 报告当前状态 | +| 类型 | 下拉单选 | 全部/入监评估/定期考核/出监评估/减刑假释/专项评估 | 报告模板类型 | +| 监区 | 下拉单选 | 全部/各监区列表 | 罪犯所属监区 | +| 风险等级 | 下拉单选 | 全部/高风险/中风险/低风险 | 评估风险等级 | +| 创建日期 | 日期范围 | 开始日期-结束日期 | 报告创建时间范围 | +| 罪犯 | 文本输入 | 姓名或编号 | 支持模糊搜索 | + +#### 3.11.3 列表字段 + +| 字段 | 说明 | 排序 | +|-----|------|------| +| 报告编号 | 系统自动生成的唯一编号 | 支持 | +| 罪犯 | 显示姓名和编号 | 支持 | +| 监区 | 罪犯所属监区 | 支持 | +| 类型 | 报告模板类型 | 支持 | +| 风险等级 | 显示风险等级图标+文字 | 支持 | +| 状态 | 显示状态标签(不同颜色) | 支持 | +| 创建人 | 报告创建人 | 支持 | +| 创建时间 | 报告创建时间 | 支持(默认倒序) | +| 操作 | 根据状态显示可用操作 | - | + +#### 3.11.4 操作按钮 + +| 状态 | 可用操作 | +|-----|---------| +| 草稿 | 查看、编辑、AI生成、删除 | +| 待审核 | 查看、审核(审核人)、撤回(创建人) | +| 已通过 | 查看、导出、归档 | +| 已退回 | 查看、编辑、重新提交、删除 | +| 已归档 | 查看、导出 | + +#### 3.11.5 批量操作 + +| 操作 | 说明 | 限制条件 | +|-----|------|---------| +| 批量生成 | 选择多个罪犯+模板,批量生成报告 | 最多50个 | +| 批量导出 | 将选中的报告导出为PDF/Word | 仅已通过状态 | +| 批量删除 | 删除选中的报告 | 仅草稿/已退回状态 | + +### 3.12 报告编号规则 + +#### 3.12.1 编号格式 + +``` +格式:RPT-{监区编码}-{年月}-{4位序号} +示例:RPT-JQ01-202601-0001 +``` + +| 组成部分 | 说明 | 示例 | +|---------|------|------| +| RPT | 固定前缀,表示Report | RPT | +| 监区编码 | 罪犯所属监区编码 | JQ01(一监区) | +| 年月 | 报告创建年月,6位 | 202601 | +| 序号 | 当月监区内的流水号,4位 | 0001 | + +#### 3.12.2 编号生成规则 + +1. **唯一性**:报告编号全局唯一,不可重复 +2. **自动生成**:创建报告时系统自动生成,不可手动修改 +3. **序号递增**:同一监区同一月份内,序号从0001开始递增 +4. **跨月重置**:新的月份序号从0001重新开始 +5. **不可复用**:删除的报告编号不会被重新使用 + +#### 3.12.3 监区编码对照 + +| 监区名称 | 编码 | +|---------|------| +| 一监区 | JQ01 | +| 二监区 | JQ02 | +| 三监区 | JQ03 | +| ... | ... | +| 入监队 | RJD | +| 出监队 | CJD | + +### 3.13 状态流转定义 + +#### 3.13.1 状态说明 + +| 状态 | 状态值 | 说明 | 颜色 | +|-----|-------|------|------| +| 草稿 | 1 | 报告已创建,可编辑 | 灰色 | +| 待审核 | 2 | 已提交,等待审核人审核 | 蓝色 | +| 已通过 | 3 | 审核通过,可导出 | 绿色 | +| 已退回 | 4 | 审核退回,需修改后重新提交 | 红色 | +| 已归档 | 5 | 已归档,不可修改 | 紫色 | + +#### 3.13.2 状态流转图 + +``` + ┌──────────────────────────────────────┐ + │ │ + ▼ │ +┌────────┐ 提交审核 ┌────────┐ 审核通过 ┌────────┐ 归档 ┌────────┐ +│ 草稿 │ ────────→ │ 待审核 │ ────────→ │ 已通过 │ ────→ │ 已归档 │ +└────────┘ └────────┘ └────────┘ └────────┘ + │ │ + │ │ 审核退回 + │ ▼ + │ ┌────────┐ + │ │ 已退回 │ + │ └────────┘ + │ │ + │ │ 重新提交 + └────────────────────┘ +``` + +#### 3.13.3 状态流转规则(修订版) + +| 当前状态 | 操作 | 目标状态 | 操作人 | 前置条件 | +|---------|------|---------|-------|---------| +| 草稿 | 提交审核 | 待审核 | 创建人 | 所有必填维度已填写 | +| 草稿 | 删除 | - | 创建人 | - | +| 待审核 | 审核通过 | 已通过 | 审核人 | - | +| 待审核 | 审核退回 | 已退回 | 审核人 | 必须选择退回原因(分类选择) | +| 待审核 | 【新增】撤回 | 草稿 | 创建人 | -(提交后24小时内可撤回) | +| 已退回 | 重新提交 | 待审核 | 创建人 | 所有必填维度已填写 | +| 已退回 | 删除 | - | 创建人 | - | +| 已通过 | 【修订】自动归档 | 已归档 | 系统 | 审核通过后24小时自动归档 | +| 已通过 | 导出 | 已通过 | 所有人 | - | +| 已归档 | 导出 | 已归档 | 所有人 | - | + +**撤回功能说明**: +- 撤回条件:报告处于"待审核"状态 +- 撤回时限:提交后24小时内可撤回(可配置) +- 撤回操作:点击"撤回"按钮,状态变回"草稿" +- 撤回记录:记录撤回人、撤回时间、撤回原因(非必填) + +#### 3.13.4 状态变更记录 + +每次状态变更需记录以下信息: + +| 字段 | 说明 | +|-----|------| +| 变更时间 | 状态变更的时间戳 | +| 操作人 | 执行状态变更的用户 | +| 原状态 | 变更前的状态 | +| 新状态 | 变更后的状态 | +| 操作类型 | 提交审核/审核通过/审核退回/撤回/归档 | +| 备注 | 退回原因或其他说明 | ## 四、业务规则汇总 @@ -653,26 +1137,31 @@ | BR-010 | 支持快捷评语快速插入 | | BR-011 | 支持报告历史版本查看和对比 | -## 五、验收标准 +## 五、验收标准(v1.3修订版) - [ ] 支持报告模板管理(含AI提示词配置) - [ ] 支持评估维度配置(拖拽排序) +- [ ] 【新增】支持数据完整性检查(生成前检查数据完整性) - [ ] 支持创建报告 - [ ] 支持数据自动填充(客观题) - [ ] 支持AI生成报告初稿(主观题) - [ ] 支持人工修改AI生成内容 - [ ] 支持报告预览 - [ ] 支持报告编辑 -- [ ] 支持报告审核流程 -- [ ] 支持报告下载(PDF/Word) -- [ ] 支持报告归档 -- [ ] 支持批量生成报告 +- [ ] 支持报告审核流程(含退回原因选择) +- [ ] 【新增】支持撤回功能(提交后24小时内可撤回) +- [ ] 支持报告下载(PDF/Word/Excel) +- [ ] 【修订】支持报告自动归档(审核通过后24小时自动归档) +- [ ] 支持批量生成报告(异步队列处理) +- [ ] 【新增】支持批量生成进度查询和通知 - [ ] 支持数据源绑定配置 - [ ] 支持快捷评语功能 - [ ] 支持历史版本查看与对比 +- [ ] 支持版本回滚功能 - [ ] 支持报告防篡改机制(数字签名) - [ ] 支持数据缓存和异步生成 - [ ] 支持减刑假释专用模板 +- [ ] 【新增】支持家庭帮教评估维度 ## 六、相关模块 @@ -687,13 +1176,19 @@ --- **创建日期**:2026-01-14 -**版本**:v1.2(根据专家评审意见修订) -**更新日期**:2026-01-16 +**版本**:v1.3(根据业务流程确认结果修订) +**更新日期**:2026-01-18 +**修订说明**: +- 增加报告生成前数据完整性检查步骤 +- 完善批量生成异步队列设计 +- 增加撤回功能流程 +- 完善自动归档规则(审核通过后24小时自动归档) +- 补充家庭帮教评估维度设计 +- 完善退回原因选择器(分类选择) +- 更新验收标准 --- -## 七、专家评审记录 - ### 7.1 评审会议信息 | 项目 | 内容 | diff --git a/test_llm_api.py b/test_llm_api.py new file mode 100644 index 0000000..a5bd420 --- /dev/null +++ b/test_llm_api.py @@ -0,0 +1,166 @@ +#!/usr/bin/env python3 +""" +测试LLM API调用 +""" + +import requests +import json +import time + +# API配置 +BASE_URL = "https://oneapi.gongjulian.cn/v1" +API_KEY = "sk-lB2Fc9ssY5UuwmiV5dD441F997364d29Be547e008dF5Cf41" +MODEL = "deepseek-ai/deepseek-v3.2" + +def test_api(): + """测试API连接""" + url = f"{BASE_URL}/models" + headers = { + "Authorization": f"Bearer {API_KEY}", + "Content-Type": "application/json" + } + + print("=" * 60) + print("测试1: 获取模型列表") + print("=" * 60) + + try: + response = requests.get(url, headers=headers, timeout=30) + print(f"状态码: {response.status_code}") + print(f"响应: {response.text[:500]}") + return response.status_code == 200 + except requests.exceptions.Timeout: + print("超时: 请求超过30秒") + return False + except requests.exceptions.ConnectionError as e: + print(f"连接错误: {e}") + return False + except Exception as e: + print(f"错误: {e}") + return False + +def test_chat_completion(): + """测试聊天完成接口""" + url = f"{BASE_URL}/chat/completions" + headers = { + "Authorization": f"Bearer {API_KEY}", + "Content-Type": "application/json" + } + + payload = { + "model": MODEL, + "messages": [ + { + "role": "user", + "content": "请简单介绍一下你自己。" + } + ], + "max_tokens": 100, + "temperature": 0.7 + } + + print("\n" + "=" * 60) + print("测试2: 聊天完成接口") + print("=" * 60) + print(f"URL: {url}") + print(f"Model: {MODEL}") + + try: + start_time = time.time() + response = requests.post(url, headers=headers, json=payload, timeout=60) + elapsed = time.time() - start_time + + print(f"状态码: {response.status_code}") + print(f"耗时: {elapsed:.2f}秒") + + if response.status_code == 200: + result = response.json() + content = result.get("choices", [{}])[0].get("message", {}).get("content", "") + print(f"响应内容:\n{content}") + return True + else: + print(f"错误响应: {response.text[:500]}") + return False + + except requests.exceptions.Timeout: + print(f"超时: 请求超过60秒") + return False + except requests.exceptions.ConnectionError as e: + print(f"连接错误: {e}") + return False + except Exception as e: + print(f"错误: {e}") + return False + +def test_simple_prompt(): + """测试简单提示词""" + url = f"{BASE_URL}/chat/completions" + headers = { + "Authorization": f"Bearer {API_KEY}", + "Content-Type": "application/json" + } + + payload = { + "model": MODEL, + "messages": [ + { + "role": "user", + "content": "1+1等于几?" + } + ], + "max_tokens": 50, + "temperature": 0.1 + } + + print("\n" + "=" * 60) + print("测试3: 简单数学问题") + print("=" * 60) + + try: + start_time = time.time() + response = requests.post(url, headers=headers, json=payload, timeout=30) + elapsed = time.time() - start_time + + print(f"状态码: {response.status_code}") + print(f"耗时: {elapsed:.2f}秒") + + if response.status_code == 200: + result = response.json() + content = result.get("choices", [{}])[0].get("message", {}).get("content", "") + print(f"响应: {content}") + return True + else: + print(f"错误: {response.text[:300]}") + return False + + except requests.exceptions.Timeout: + print("超时") + return False + except Exception as e: + print(f"错误: {e}") + return False + +if __name__ == "__main__": + print("LLM API 连接测试") + print(f"API地址: {BASE_URL}") + print(f"模型: {MODEL}") + print() + + results = [] + results.append(("模型列表", test_api())) + results.append(("聊天完成", test_chat_completion())) + results.append(("简单问题", test_simple_prompt())) + + print("\n" + "=" * 60) + print("测试结果汇总") + print("=" * 60) + for name, success in results: + status = "通过" if success else "失败" + print(f"{name}: {status}") + + all_passed = all(r[1] for r in results) + print() + if all_passed: + print("所有测试通过!") + else: + print("部分测试失败,请检查API配置和网络连接") diff --git a/test_models.py b/test_models.py new file mode 100644 index 0000000..172a6b2 --- /dev/null +++ b/test_models.py @@ -0,0 +1,85 @@ +#!/usr/bin/env python3 +""" +测试不同模型,找出可用的模型 +""" + +import requests +import time + +BASE_URL = "https://oneapi.gongjulian.cn/v1" +API_KEY = "sk-lB2Fc9ssY5UuwmiV5dD441F997364d29Be547e008dF5Cf41" + +# 可选模型列表 +MODELS = [ + "deepseek-ai/deepseek-v3.2", + "deepseek-ai/deepseek-r1", + "minimaxai/minimax-m2.1", + "z-ai/glm4.7", +] + +def test_model(model_id): + """测试单个模型""" + url = f"{BASE_URL}/chat/completions" + headers = { + "Authorization": f"Bearer {API_KEY}", + "Content-Type": "application/json" + } + + payload = { + "model": model_id, + "messages": [ + { + "role": "user", + "content": "你好,请简单回复" + } + ], + "max_tokens": 20, + "temperature": 0.1 + } + + print(f"\n测试模型: {model_id}") + print("-" * 40) + + try: + start_time = time.time() + response = requests.post(url, headers=headers, json=payload, timeout=30) + elapsed = time.time() - start_time + + print(f" 状态码: {response.status_code}") + print(f" 耗时: {elapsed:.2f}秒") + + if response.status_code == 200: + result = response.json() + content = result.get("choices", [{}])[0].get("message", {}).get("content", "") + print(f" 响应: {content[:100]}") + return True + else: + print(f" 错误: {response.text[:200] if response.text else '无响应'}") + return False + + except requests.exceptions.Timeout: + print(f" 超时") + return False + except Exception as e: + print(f" 错误: {e}") + return False + +if __name__ == "__main__": + print("测试不同模型的可用性") + print(f"API: {BASE_URL}") + print("=" * 50) + + results = {} + for model in MODELS: + results[model] = test_model(model) + + print("\n" + "=" * 50) + print("测试结果") + print("=" * 50) + for model, success in results.items(): + status = "可用" if success else "不可用" + print(f"{model}: {status}") + + available = [m for m, s in results.items() if s] + if available: + print(f"\n建议使用的模型: {available[0]}") diff --git a/指导书.md b/指导书.md new file mode 100644 index 0000000..f7949c8 --- /dev/null +++ b/指导书.md @@ -0,0 +1,328 @@ +好的,这是一个非常专业且具有社会价值的需求。一份优秀的“罪犯出监个性化回归指导计划”应当是一个系统、动态且充满人文关怀的过程。它不仅仅是简单的出监教育,而是贯穿服刑末期、释放初期和长期跟踪的综合性支持体系。 +以下为您构建一个详细、可操作的框架和模板。 +一、 核心理念 +以“个体为中心,预防为重,发展为要”为核心理念,旨在通过精准的评估、个性化的干预和持续的支持,帮助服刑人员顺利实现从“监狱人”到“社会人”的平稳过渡,降低再犯罪风险,成为自食其力、遵纪守法的公民。 +二、 计划流程总览 +该计划是一个分阶段、多部门协作的连续性过程: +阶段一:评估与诊断期(出监前6-12个月) +阶段二:个性化干预与准备期(出监前3-6个月) +阶段三:释放与衔接期(出监当日及第一周) +阶段四:社区支持与跟踪期(出监后1-24个月) +三、 分阶段详细内容 +阶段一:评估与诊断期(出监前6-12个月) +目标: 全面了解服刑人员的风险、需求与优势,为制定个性化计划奠定基础。 +1. 成立回归评估小组: 成员包括监狱民警、心理咨询师、教育干事、社会工作者(可外聘或合作)。 +2. 综合评估内容: +· 再犯罪风险评估: 使用专业量表(如LSI-R等),评估其再犯罪的可能性。 +· 需求评估: +· 心理需求: 情绪管理、压力应对、成瘾性问题(烟、酒、毒、赌)、反社会思维模式等。 +· 技能需求: 文化水平、职业技能、社交能力、求职技巧、法律知识等。 +· 社会需求: 家庭关系、社会支持网络、住房、经济状况等。 +· 优势评估: +· 个人优势:有何特长、兴趣爱好、积极品质? +· 社会优势:有哪些支持他的家人、朋友?有无愿意接收他的社区或企业? +3. 形成《个性化评估报告》: 明确该犯人的核心问题、主要需求和个人优势。 +阶段二:个性化干预与准备期(出监前3-6个月) +目标: 根据评估报告,开展有针对性的干预和培训,提升其回归社会的能力。 +1. 制定《个性化回归规划书》: 与服刑人员共同商议制定,内容应包括: +· 近期目标(出监后3个月): 如找到住所、联系家人、报名参加职业技能培训。 +· 中长期目标(出监后1-2年): 如获得稳定工作、修复家庭关系、考取职业技能证书。 +· 具体行动计划: 如何达成上述目标。 +2. 模块化干预课程: +· 心理矫正模块: +· 针对性咨询: 对有成瘾、暴力倾向或心理创伤的犯人进行一对一咨询。 +· 团体辅导: 开展“情绪管理”、“压力应对”、“理性解决问题”等主题团体。 +· 职业技能培训模块: +· 技能培训: 结合社会用工需求和本人兴趣,提供如电工、焊工、烹饪、家政、电商运营等培训,并争取颁发认证证书。 +· 求职模拟: 制作简历、面试技巧培训、模拟招聘会。 +· 社会生活适应模块: +· 法律常识教育: 重点学习与其生活密切相关的民法、治安管理处罚法等。 +· 金融知识普及: 如何储蓄、理财、防范金融诈骗。 +· 数字化生活指导: 如何使用智能手机、健康码、移动支付、网上购票等。 +· 家庭与社会关系修复模块: +· 亲情电话与视频会见: 增加频率,为回归家庭做准备。 +· 家庭治疗(如需要): 邀请家人参与,共同解决家庭矛盾。 +· 社会资源链接: 提前联系其户籍地的司法所、社区、社会工作服务机构。 +阶段三:释放与衔接期(出监当日及第一周) +目标: 确保从监狱到社区“无缝衔接”,解决迫在眉睫的生存问题。 +1. 释放前准备: +· 确保其领取《释放证明书》。 +· 发放为其准备的“回归礼包”(内含基本生活用品、本地社区资源联系卡、法律援助热线等)。 +· 再次确认其出监后的第一落脚点。 +2. “一站式”衔接: +· 专人护送: 对于重点人员,由监狱民警会同地方司法所工作人员共同接回,完成交接。 +· 首周关怀: 社区社工或司法所人员在其回归后24小时内进行首次家访,协助其: +· 办理户口登记、身份证。 +· 申请临时救助、低保(如符合条件)。 +· 熟悉周边环境,购买生活必需品。 +阶段四:社区支持与跟踪期(出监后1-24个月) +目标: 提供持续的社会支持,巩固改造成果,预防再犯罪。 +1. 建立支持网络: +· 监督人: 司法所社区矫正工作人员(对于假释或暂予监外执行人员)或指定社工。 +· 帮扶人: 家庭成员、志愿者、成功回归社会的“同伴辅导员”。 +· 联系人: 雇主、社区干部。 +2. 定期跟踪与反馈: +· 频率: 第1个月每周一次,第2-3个月每两周一次,之后每月一次(根据风险等级调整)。 +· 方式: 面谈、电话、微信联系。 +· 内容: 了解其生活、工作、思想动态,评估面临的困难,及时提供帮助。 +3. 动态调整计划: 根据跟踪情况,与服刑人员一起回顾并调整《个性化回归规划书》。 +4. 危机干预: 当出现失业、家庭矛盾激化、受社会歧视等重大挫折时,启动危机干预程序,提供紧急支持。 +四、 成功的关键要素 +· 跨部门协作: 监狱、司法、公安、人社、民政、社会组织必须信息互通、协同作战。 +· 专业化队伍: 需要拥有心理学、社会学、法律等专业背景的社工和志愿者参与。 +· 社会支持: 呼吁企业提供“包容性就业”岗位,社区营造接纳回归人员的氛围。 +· 技术赋能: 利用信息化平台建立电子档案,实现动态管理和数据共享。 +总结: +这份“个性化回归指导计划”的成功,在于它将惩罚与改造、监督与帮扶、监狱与社会紧密地结合起来。它认识到,每一个罪犯都是独特的,他们的回归之路也需要独一无二的地图和支持。这不仅是司法文明的体现,更是构建和谐社会、从根本上预防犯罪的有效投资。 + +五、计划书模板示例1:第一版 + +一、基础信息 + +1. 罪犯姓名:__________ 性别:__________ 出生日期:__________ + +2. 原判刑期:__________ 刑满释放日期:__________ 罪名:__________ + +3. 家庭住址:__________ 联系电话:__________ 紧急联系人:__________ + +4. 文化程度:__________ 健康状况:__________ 技能特长:__________ + +二、回归评估(基于出监综合情况调查结果) + +(一)思想认知评估 + +• 对犯罪行为的认知程度:□深刻悔改 □基本认识 □存在偏差 + +• 法治观念掌握情况:□良好 □一般 □薄弱 + +• 社会责任感树立情况:□较强 □一般 □欠缺 + +(二)生活适应评估 + +• 家庭支持情况:□有稳定支持 □部分支持 □无支持 + +• 社会关系现状:□有可依托亲友 □孤立无援 □存在不良交友圈 + +• 生活技能水平:□具备基本生活能力 □部分欠缺 □严重不足 + +(三)就业创业评估 + +• 就业意愿:□强烈 □一般 □无明确意愿 + +• 职业技能基础:□有专业技能 □具备基础技能 □无技能 + +• 就业限制因素:□无明显限制 □学历限制 □前科影响 □健康问题 + +(四)心理状态评估 + +• 心理健康状况:□良好 □存在轻微焦虑/抑郁 □有严重心理困扰 + +• 抗压能力:□较强 □一般 □薄弱 + +• 情绪管理能力:□良好 □一般 □较差 + +三、指导目标 + +1. 短期目标(释放后1-3个月):顺利融入家庭生活,掌握基本生活技能,建立法治思维,初步缓解心理压力。 + +2. 中期目标(释放后3-12个月):实现稳定就业或确定创业方向,修复社会关系,形成健康心理状态,杜绝再犯风险。 + +3. 长期目标(释放后1年以上):成为守法公民,实现经济独立,承担家庭责任,积极参与社会建设。 + +四、个性化指导内容及实施措施 + +(一)思想法治引导 + +1. 法治教育:定期组织参与社区法治讲座(每月1次),发放法治宣传手册,重点学习《刑法》《治安管理处罚法》等与日常生活相关的法律法规。 + +2. 思想交流:每季度开展1次一对一思想访谈,引导其正视前科,树立正确的人生观、价值观,强化社会责任感。 + +3. 榜样学习:推荐观看守法公民先进事迹纪录片,鼓励参与社区志愿服务,增强社会认同感。 + +(二)家庭与社会关系修复 + +1. 家庭沟通指导:邀请专业社工开展家庭沟通技巧培训(释放后1个月内),协助修复亲子、夫妻等家庭关系,争取家庭支持。 + +2. 社会关系重构:协助对接社区邻里互助组织,推荐加入兴趣社群,远离原有不良交友圈,建立健康社交网络。 + +3. 社会接纳促进:协调社区居委会开展包容教育,消除邻里歧视,为其回归社会营造良好环境。 + +(三)就业创业支持 + +1. 职业规划:根据技能特长和就业意愿,制定个性化职业规划,明确就业方向或创业路径。 + +2. 技能提升:对接职业技能培训机构,免费提供电工、焊工、家政服务、电商运营等技能培训(根据需求选择1-2项),考取相关职业资格证书。 + +3. 就业帮扶:联系本地企业、公益岗位,提供就业信息对接服务,协助制作简历、开展面试指导,解决就业难题。 + +4. 创业扶持:若有创业意愿,协助对接创业孵化基地,提供政策咨询、创业计划书撰写指导,协助申请创业补贴。 + +(四)心理疏导干预 + +1. 心理测评:释放后1周内完成专业心理测评,建立心理档案。 + +2. 个性化疏导:根据测评结果,每月开展1-2次心理咨询服务,针对焦虑、自卑、易怒等问题进行专项疏导。 + +3. 压力管理培训:组织参与情绪管理、压力应对技巧培训(每2个月1次),教授冥想、正念等放松方法,提升抗压能力。 + +(五)生活适应帮扶 + +1. 基本生活指导:协助办理身份证、户口本等证件,指导社保、医保缴纳流程,熟悉社区医疗、购物、交通等生活配套资源。 + +2. 理财规划:开展理财知识培训(释放后2个月内),指导合理规划收入与支出,培养良好消费习惯,避免因经济问题再次犯罪。 + +3. 健康管理:根据健康状况,对接社区卫生服务中心,提供体检服务和健康指导,督促慢性病治疗,培养规律作息和健康饮食习惯。 + +五、实施周期与责任主体 +指导阶段 实施周期 责任主体 +前期准备 释放前1个月 监狱民警、社工 +短期适应 释放后1-3个月 社区居委会、社工、心理咨询师 +中期发展 释放后3-12个月 就业服务机构、社工、社区民警 +长期巩固 释放后1年以上 社区居委会、家庭、社会志愿者 + +六、跟踪评估与调整 + +1. 月度跟踪:每月通过电话或实地走访,了解指导计划执行情况,记录生活、就业、心理等方面的变化。 + +2. 季度评估:每季度开展1次综合评估,对照指导目标评估实施效果,分析存在的问题。 + +3. 动态调整:根据季度评估结果,结合罪犯实际情况,及时调整指导内容和实施措施,确保计划的针对性和有效性。 + +七、备注 + +1. 本计划书需结合罪犯出监综合情况调查表的具体数据制定,确保个性化适配。 + +2. 指导过程中需注重保护罪犯隐私,避免信息泄露造成二次伤害。 + +3. 若罪犯出现严重心理危机、再犯倾向等特殊情况,立即启动应急机制,联系公安、司法等部门协同处理。 + +制定人:__________ 制定日期:__________ 审核人:__________ 审核日期:__________ + +六、计划书模板示例2:简单模板 +犯人编号: XXXX +姓名:李某 +评估日期:2023年10月26日 +预定释放日期:2024年4月26日 +1. 评估摘要: +· 风险: 中度再犯罪风险。主要风险因素为无稳定职业技能、社交圈复杂、易冲动。 +· 需求: +· 迫切: 解决出监后住宿问题;学习一门谋生技能。 +· 重要: 改善与父亲的关系;学习情绪控制方法。 +· 优势: 身体健康,有劳动意愿;在狱中学习了基础电工知识;其叔叔愿意提供初步帮助。 +2. 个性化回归规划书: +· 目标1(出监后1个月内): 稳定住所,与父亲建立初步联系。 + · 行动计划: + · 释放后暂住叔叔家。 + · 在社工陪同下,一周内拜访父亲一次。 + · 参加社区组织的“父子关系修复”小组。 +· 目标2(出监后3个月内): 获得一份与电工相关的工作。 + · 行动计划: + · 联系司法局合作培训机构,参加为期一个月的“电工证”考前培训班。 + · 在社工帮助下制作简历,投递至合作企业。 +· 目标3(出监后6个月内): 情绪稳定,与至少两名积极向上的朋友建立联系。 + · 行动计划: + · 每月接受一次心理咨询。 + · 参加社区篮球队,拓展健康社交圈。 +3. 责任分工: +· 监狱方: 提供考前培训资源,出具其在狱表现证明。 +· 司法所/社工: 负责出监衔接、家庭关系调解、职业介绍、定期跟踪。 +· 家庭成员(叔叔): 提供临时住宿和情感支持。 +· 李某本人: 积极参与各项活动,主动执行计划。 +七、计划书模板示例3:强力实操版模板 +犯人编号: XXXX +姓名:李某 +评估日期:2023年10月26日 +预定释放日期:2024年4月26日 + +本方案的核心是:“一人一策,清单管理,无缝衔接”。 + +第一步:启动与诊断——“精准画像”(出监前6个月) + +目标: 不再泛泛而谈,而是完成三份可操作的评估清单。 + +1. 【工具1】《出监人员基本信息与需求快速评估清单》 + · (由责任民警与服刑人员共同填写,勾选即可) + · 核心问题: + · 释放后第一晚住哪里? (选项:回自己家、回父母/子女家、去朋友家、无着落需紧急安置) + · 出监后第一周生活费从哪里来? (选项:家庭支持、自有积蓄、无来源需申请临时救助) + · 最重要的社会关系是谁?联系方式? (必须填写1-2个确切的姓名和电话) + · 你认为自己最需要哪方面的帮助? (多选:找工作、解决家庭矛盾、心理疏导、学习技能、办理证件) + · 作用: 在30分钟内锁定最紧迫的生存需求。 +2. 【工具2】《风险与优势评估表》 + · (由心理咨询师/评估小组完成) + · 风险维度(简化版): + · 高风险信号: 无家可归、无业可就、无亲可投、有严重成瘾行为、思想偏激。 + · 中风险信号: 家庭关系紧张、技能单一、情绪不稳定。 + · 优势维度(发现资源): + · 个人优势: 有确切的职业技能(如会开车、会做饭)、身体健康、学习意愿强。 + · 外部资源: 有明确愿意接收的家人/朋友、有愿意提供试岗机会的原单位、家乡有有利政策(如扶贫车间)。 + · 作用: 快速分类,决定后续投入资源的力度。(例如:标记为“高风险”的个案,必须启动“重点衔接程序”)。 + +第二步:干预与准备——“靶向攻坚”(出监前3-6个月) + +目标: 根据第一步的清单,启动“个性化资源包”对接。 + +设立“回归资源柜”,内含: + +1. 【资源包A】就业资源包(针对“找工作”需求) + · 行动: + · 立即联系合作企业库,提供2-3个匹配的岗位信息(如物流分拣、保安、后厨帮工)。 + · 组织参加确切的、有证书的短期技能培训(如“电工证考前班”、“叉车驾驶培训”),而非泛泛的课程。 + · 必须完成一项实操: 在民警指导下,制作一份真实的简历,并完成一次模拟视频面试(录制下来,回放分析)。 +2. 【资源包B】家庭关系修复包(针对“家庭矛盾”需求) + · 行动: + · “一封家书”活动: 在民警指导下,撰写一封真诚的道歉信和未来规划信,寄给家人。 + · “一次视频”活动: 安排一次有心理咨询师在场的家庭视频会议,聚焦“出监后的具体安排”,而非纠结过去。 + · “一份协议”: 与家人共同商定一份《出监后共同生活试行约定》,明确双方的责任和义务,减少不确定性。 +3. 【资源包C】心理与社会适应包(针对所有人员) + · 行动: + · “出监第一课”工作坊: 不是讲课,而是场景模拟。模拟如何使用手机支付、如何坐地铁、如何到社区报到、如何应对邻居的异样眼光。 + · “情绪急救卡”: 为每人制作一张口袋卡片,正面写有当他感到愤怒、焦虑时可以立即使用的3个方法(如“深呼吸10次”、“打电话给社工”),背面印有司法所、社工和心理援助热线电话。 + +第三步:释放与衔接——“无缝交棒”(出监前后一周) + +这是最关键的实操环节,必须做到“责任到人,时间到点”。 + +1. 释放前7天:“三方通话”制度 + · 行动: 由监狱责任民警牵头,召集服刑人员、地方司法所社区矫正官(或社工),进行一次三方通话或视频会议。 + · 议程: + · 监狱方介绍服刑人员在监表现和准备情况。 + · 服刑人员确认出监安排。 + · 地方司法所/社工确认接洽时间和地点。 + · 产出: 形成一份《出监衔接确认单》,三方确认。 +2. 释放当日:“一档一包一护送” + · “一档”: 密封的《个性化回归档案》,内含所有评估清单、规划书、在监表现、技能证书复印件等。由本人携带,当面交给地方司法所工作人员。 + · “一包”: “回归起步包”,内含:少量现金(为其申请的劳动报酬)、洗漱用品、方便食品、一张本地手机卡(已预存话费)、一张交通卡。 + · “一护送”: 对于“高风险”或家在外地的人员,由民警护送至交接地点,确保“手递手”交接,杜绝“出了大门无人管”。 +3. 释放后24小时内:“首次家访” + · 行动: 地方司法所社工必须在24小时内进行首次上门或约定地点见面。 + · 任务清单: + · 协助其用《释放证明书》办理户口登记。 + · 带其熟悉周边超市、银行、公交站。 + · 协助其申请办理身份证。 + · 带其到社区完成报到。 + · 核心: 用最快的速度帮助他解决“第一步”的困难,建立信任感。 + +第四步:跟踪与支持——“扶上马,送一程”(出监后1-24个月) + +目标: 从“监狱管理”平稳过渡到“社区支持”,防止支持断档。 + +1. 【工具3】《动态跟踪与支持表》 + · (由地方司法所/社工使用,月度更新) + · 跟踪指标(量化、易查): + · 居住状态: 稳定、临时、流落(立即干预) + · 就业状态: 稳定就业、打零工、失业(立即干预) + · 家庭关系: 和谐、紧张、破裂 + · 情绪状态: 平稳、一般、差(需关注) + · 支持记录: + · 本月提供了何种具体帮助?(如:介绍了一次零工、进行了一次心理疏导、协助申请了低保) + · 下月计划是什么? +2. 建立“同伴辅导员”制度 + · 行动: 邀请成功回归社会3年以上、有公益心的前服刑人员,经过培训后,成为“同伴辅导员”。 + · 作用: 他们用亲身经历提供指导、倾听和榜样作用,这种“过来人”的支持往往比官方说教更有效。 +3. 危机响应“绿色通道” + · 规则: 一旦跟踪表出现“失业”或“流落”等红色警报,或本人主动求助,立即启动危机响应。 + · 响应流程: + · 24小时内面谈。 + · 根据需要,启动紧急临时安置、紧急生活救助、紧急心理干预。 + · 联系其支持网络(家人、同伴辅导员)共同介入。 \ No newline at end of file