包含多个会话的累积代码变更: - 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>
64 lines
2.8 KiB
Markdown
64 lines
2.8 KiB
Markdown
# P5.1→NS3 缺失项 #1:App1 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 工程规范。
|