Files
Neo-ZQYY/docs/prd/Neo_Specs/review-audit/P5.1-NS3-01.md
Neo 6f8f12314f feat: 累积功能变更 — 聊天集成、租户管理、小程序更新、ETL 增强、迁移脚本
包含多个会话的累积代码变更:
- backend: AI 聊天服务、触发器调度、认证增强、WebSocket、调度器最小间隔
- admin-web: ETL 状态页、任务管理、调度配置、登录优化
- miniprogram: 看板页面、聊天集成、UI 组件、导航更新
- etl: DWS 新任务(finance_area_daily/board_cache)、连接器增强
- tenant-admin: 项目初始化
- db: 19 个迁移脚本(etl_feiqiu 11 + zqyy_app 8)
- packages/shared: 枚举和工具函数更新
- tools: 数据库工具、报表生成、健康检查
- docs: PRD/架构/部署/合约文档更新

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-06 00:03:48 +08:00

64 lines
2.8 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# P5.1→NS3 缺失项 #1App1 Prompt 工程规范
## 简要结论
- 状态:✅ 已解决
- 风险等级:🟡 低
- App1 的完整 Prompt 工程规范已在百炼平台 System Prompt 文档和后端代码中实现NS3 作为 MCP Server 扩展 spec 不涉及 Prompt 细节属于正常分工。
## 详细审查
### 审查范围
- `apps/backend/app/ai/apps/app1_chat.py` — App1 后端实现
- `docs/prd/ai-app-prompts.md` — 百炼平台 8 个应用的 System Prompt 完整定义
- `docs/prd/specs/P5-miniapp-ai-integration.md` — P5 原始 spec首条 Prompt 数据结构)
- `docs/prd/Neo_Specs/NS3-mcp-server-ai-extension.md` — NS3 spec
### 发现
1. **System Prompt 模板**`docs/prd/ai-app-prompts.md` 中定义了 App1 完整的 System Prompt包含
- 角色定义(台球门店运营助手)
- 5 个技能(数据查询、客户信息、助教业绩、经营数据、库存)
- 权限控制规则(助教/管理者角色隔离)
- 查询规范和回复规范
- `biz_params.user_prompt_params` 参数注入User_ID、Role、Nickname
2. **首条 Prompt JSON 结构**P5 spec 中明确定义了 App1 的首条用户消息结构:
```json
{
"current_time": "...",
"source_page": "来源页面标识",
"page_context": "页面上下文摘要",
"screen_content": "屏幕可见内容文本化"
}
```
3. **后端实现**`app1_chat.py` 已实现:
- `_build_system_prompt()` 构建 system prompt JSON注入用户信息 + 页面上下文)
- `_build_page_context()` 调用 `build_page_text()` 获取 10 种页面入口的结构化文本
- Token 预算控制(`_MAX_SYSTEM_PROMPT_LEN = 4000`
- SSE 流式返回完整链路
4. **NS3 的定位**NS3 是 MCP Server 扩展 spec职责是数据库连接、查库手册、脱敏策略不涉及 AI 应用的 Prompt 工程。Prompt 规范由 P5 spec + `ai-app-prompts.md` 承载,这是正确的分工。
### 证据
`app1_chat.py` 中的 system prompt 构建:
```python
prompt: dict = {
"task": "你是台球门店的 AI 助手,根据用户的问题和当前页面上下文提供帮助。",
"biz_params": {
"user_prompt_params": {
"User_ID": str(user_id),
"Role": role,
"Nickname": nickname,
},
},
}
```
`ai-app-prompts.md` 中 App1 的 System Prompt 长度约 1500 字,覆盖 5 个技能、权限控制、查询规范、回复规范。
### 说明
App1 是通用对话应用,其 Prompt 工程规范不包含 few-shot 示例和 JSON schema 约束(这些是结构化输出应用 2-8 的需求。App1 使用流式文本返回(`chat_stream`),不需要 JSON schema 约束。百炼平台的 System Prompt 配置 + 后端 `_build_system_prompt()` 的动态注入,构成了完整的 Prompt 工程规范。