包含多个会话的累积代码变更: - 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>
2.8 KiB
2.8 KiB
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
发现
-
System Prompt 模板:
docs/prd/ai-app-prompts.md中定义了 App1 完整的 System Prompt,包含:- 角色定义(台球门店运营助手)
- 5 个技能(数据查询、客户信息、助教业绩、经营数据、库存)
- 权限控制规则(助教/管理者角色隔离)
- 查询规范和回复规范
biz_params.user_prompt_params参数注入(User_ID、Role、Nickname)
-
首条 Prompt JSON 结构:P5 spec 中明确定义了 App1 的首条用户消息结构:
{ "current_time": "...", "source_page": "来源页面标识", "page_context": "页面上下文摘要", "screen_content": "屏幕可见内容文本化" } -
后端实现:
app1_chat.py已实现:_build_system_prompt()构建 system prompt JSON(注入用户信息 + 页面上下文)_build_page_context()调用build_page_text()获取 10 种页面入口的结构化文本- Token 预算控制(
_MAX_SYSTEM_PROMPT_LEN = 4000) - SSE 流式返回完整链路
-
NS3 的定位:NS3 是 MCP Server 扩展 spec,职责是数据库连接、查库手册、脱敏策略,不涉及 AI 应用的 Prompt 工程。Prompt 规范由 P5 spec +
ai-app-prompts.md承载,这是正确的分工。
证据
app1_chat.py 中的 system prompt 构建:
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 工程规范。