PMFlow/backend/app/config/pmflow_ai_turn_runtime_gold...

360 lines
16 KiB
Python

"""Golden behavior cases for the Space PMFlow AI turn runtime.
These cases test the abstract runtime loop behavior. They are not prompt
examples and do not decide production routing.
"""
from __future__ import annotations
from typing import Any
PMFLOW_AI_TURN_RUNTIME_GOLDEN_CASES: list[dict[str, Any]] = [
{
"case_id": "open_purchase_supervision_direction",
"question": "我想做个 AI 采购监督系统,你觉得怎么样",
"surface_context": {"space_runtime_context": {"workbench": {"projects": [{"id": 141, "title": "童析"}]}}},
"legacy_route_plan": {"display_contract": {"answer_shape": "status_answer"}, "source_strategy": "internal_only"},
"turn_hypothesis": {
"normalized_goal": "判断新项目方向是否值得做",
"desired_outcome": "给出机会、边界、MVP、风险和下一步",
"answer_shape": "strategic_judgement",
"decision_type": "market_opportunity",
"subject": "AI 采购监督系统",
"subject_terms": ["AI 采购监督系统", "采购监督", "政府采购"],
"evidence_needs": ["external_fresh", "synthesize"],
"freshness_required": True,
"can_answer_with_assumptions": True,
"primary_object": {"binding_strength": "none"},
},
"expect": {
"answer_shape": "strategic_judgement",
"next_action": "external_search",
"must_ask_user": False,
"primary_binding": "none",
"forbid_actions": ["inspect_internal_projects"],
"context_titles": ["童析"],
},
},
{
"case_id": "open_comic_tool_direction",
"question": "我想做个 AI 漫剧工具,你觉得怎么样",
"turn_hypothesis": {
"normalized_goal": "判断新项目方向是否值得做",
"answer_shape": "strategic_judgement",
"decision_type": "market_opportunity",
"subject": "AI 漫剧工具",
"subject_terms": ["AI 漫剧工具", "短剧", "漫画"],
"evidence_needs": ["external_fresh", "synthesize"],
"freshness_required": True,
"needs_user_input": True,
"can_answer_with_assumptions": True,
},
"expect": {"answer_shape": "strategic_judgement", "next_action": "external_search", "must_ask_user": False},
},
{
"case_id": "open_inventory_market",
"question": "现在做智能库存系统还有市场吗",
"turn_hypothesis": {
"normalized_goal": "判断智能库存方向是否仍有市场",
"answer_shape": "strategic_judgement",
"decision_type": "market_opportunity",
"subject": "智能库存系统",
"subject_terms": ["智能库存系统", "仓储", "库存预测"],
"evidence_needs": ["external_fresh", "synthesize"],
"freshness_required": True,
"can_answer_with_assumptions": True,
},
"expect": {"answer_shape": "strategic_judgement", "next_action": "external_search"},
},
{
"case_id": "recommend_new_project_directions",
"question": "最近有没有好的项目推荐",
"surface_context": {"space_runtime_context": {"workbench": {"projects": [{"id": 141, "title": "童析"}]}}},
"turn_hypothesis": {
"normalized_goal": "推荐值得继续看的新项目方向",
"answer_shape": "strategic_judgement",
"decision_type": "market_opportunity",
"subject": "",
"evidence_needs": ["external_fresh", "synthesize"],
"freshness_required": True,
"can_answer_with_assumptions": True,
"primary_object": {"binding_strength": "none"},
},
"expect": {
"answer_shape": "strategic_judgement",
"next_action": "external_search",
"primary_binding": "none",
"context_titles": ["童析"],
},
},
{
"case_id": "specific_project_status",
"question": "童析项目现在怎么样",
"turn_hypothesis": {
"normalized_goal": "判断项目当前状态",
"answer_shape": "status_answer",
"decision_type": "project_status",
"subject": "童析",
"evidence_needs": ["project_status", "synthesize"],
"primary_object": {
"object_type": "project",
"object_ref": "project:141",
"title": "童析",
"binding_strength": "explicit",
},
},
"expect": {"answer_shape": "status_answer", "next_action": "inspect_project_status", "primary_binding": "explicit"},
},
{
"case_id": "multi_project_status",
"question": "童析和星河两个项目进展如何",
"turn_hypothesis": {
"normalized_goal": "判断多个项目当前状态",
"answer_shape": "status_answer",
"decision_type": "project_status",
"subject": "童析、星河",
"evidence_needs": ["project_lookup", "project_status", "synthesize"],
"primary_object": {"binding_strength": "none"},
},
"expect": {"answer_shape": "status_answer", "next_action": "resolve_project_objects", "actions": ["resolve_project_objects", "inspect_project_status"]},
},
{
"case_id": "ambiguous_execute_request",
"question": "帮我处理一下",
"turn_hypothesis": {
"normalized_goal": "执行一个未明确的处理动作",
"answer_shape": "clarification",
"decision_type": "execution_guidance",
"needs_user_input": True,
"can_answer_with_assumptions": False,
"evidence_needs": ["clarification"],
},
"expect": {"answer_shape": "clarification", "next_action": "ask_clarification", "must_ask_user": True},
},
{
"case_id": "write_memory_requires_confirmation",
"question": "把这个结论写入项目记忆",
"turn_hypothesis": {
"normalized_goal": "准备写入项目记忆前确认对象和内容",
"answer_shape": "execution_guidance",
"decision_type": "execution_guidance",
"needs_user_input": True,
"can_answer_with_assumptions": False,
"evidence_needs": ["clarification"],
},
"expect": {"answer_shape": "execution_guidance", "next_action": "ask_clarification", "must_ask_user": True},
},
{
"case_id": "multi_task_project_review",
"question": "这个项目 MVP 还差什么、风险在哪里、我今天先做什么",
"turn_hypothesis": {
"normalized_goal": "同时判断项目缺口、风险和今日优先级",
"answer_shape": "composite_answer",
"decision_type": "project_status",
"evidence_needs": ["internal_projects", "synthesize"],
"primary_object": {
"object_type": "project",
"object_ref": "project:141",
"title": "当前项目",
"binding_strength": "current_page",
},
},
"expect": {"answer_shape": "composite_answer", "next_action": "inspect_project_status"},
},
{
"case_id": "project_semantic_lookup",
"question": "有没有跟儿童 AI 评估相关的项目",
"turn_hypothesis": {
"normalized_goal": "查找相关内部项目",
"answer_shape": "fact_list",
"decision_type": "object_lookup",
"subject": "儿童 AI 评估",
"subject_terms": ["儿童", "AI", "评估"],
"evidence_needs": ["project_lookup", "synthesize"],
"primary_object": {"binding_strength": "none"},
},
"expect": {"answer_shape": "fact_list", "next_action": "resolve_project_objects", "forbid_actions": ["external_search"]},
},
{
"case_id": "new_project_without_direction",
"question": "我想跟你聊个新项目",
"turn_hypothesis": {
"normalized_goal": "开启新项目方向讨论",
"answer_shape": "clarification",
"decision_type": "market_opportunity",
"needs_user_input": True,
"can_answer_with_assumptions": False,
"evidence_needs": ["clarification"],
},
"expect": {"answer_shape": "clarification", "next_action": "ask_clarification", "must_ask_user": True},
},
{
"case_id": "followup_ai_trading_idea",
"question": "做一个 AI 自动炒股的",
"surface_context": {"space_runtime_context": {"workbench": {"projects": [{"id": 141, "title": "童析"}]}}},
"turn_hypothesis": {
"normalized_goal": "判断 AI 自动交易方向是否值得做",
"answer_shape": "strategic_judgement",
"decision_type": "market_opportunity",
"subject": "AI 自动炒股",
"subject_terms": ["AI 自动炒股", "自动交易", "投顾监管"],
"evidence_needs": ["external_fresh", "synthesize"],
"freshness_required": True,
"can_answer_with_assumptions": True,
"primary_object": {"binding_strength": "none"},
},
"expect": {"answer_shape": "strategic_judgement", "next_action": "external_search", "primary_binding": "none", "context_titles": ["童析"]},
},
{
"case_id": "token_overseas_project",
"question": "做 AI 的 token 出海项目怎么样",
"turn_hypothesis": {
"normalized_goal": "判断 token 出海方向机会与风险",
"answer_shape": "strategic_judgement",
"decision_type": "market_opportunity",
"subject": "AI token 出海项目",
"subject_terms": ["AI token 出海", "crypto", "合规"],
"evidence_needs": ["external_fresh", "synthesize"],
"freshness_required": True,
"can_answer_with_assumptions": True,
},
"expect": {"answer_shape": "strategic_judgement", "next_action": "external_search"},
},
{
"case_id": "project_risk_review",
"question": "这个项目风险在哪里",
"turn_hypothesis": {
"normalized_goal": "判断当前项目风险",
"answer_shape": "status_answer",
"decision_type": "project_status",
"evidence_needs": ["project_status", "synthesize"],
"primary_object": {
"object_type": "project",
"object_ref": "project:141",
"title": "当前项目",
"binding_strength": "current_page",
},
},
"expect": {"answer_shape": "status_answer", "next_action": "inspect_project_status"},
},
{
"case_id": "today_priority",
"question": "我今天先做什么",
"turn_hypothesis": {
"normalized_goal": "判断今日优先级",
"answer_shape": "status_answer",
"decision_type": "project_status",
"evidence_needs": ["surface_context", "internal_projects", "synthesize"],
"can_answer_with_assumptions": True,
},
"expect": {"answer_shape": "status_answer", "next_action": "inspect_surface_context", "actions": ["inspect_surface_context", "inspect_internal_projects"]},
},
{
"case_id": "ai_capability_status",
"question": "PMFlow AI 现在能力状态怎么样",
"turn_hypothesis": {
"normalized_goal": "解释当前空间 AI 能力状态",
"answer_shape": "status_answer",
"decision_type": "general_answer",
"evidence_needs": ["surface_context", "synthesize"],
},
"expect": {"answer_shape": "status_answer", "next_action": "inspect_surface_context"},
},
{
"case_id": "saved_ideas_recommendation",
"question": "暂存想法里有没有值得推进的",
"turn_hypothesis": {
"normalized_goal": "从暂存想法中推荐可推进方向",
"answer_shape": "strategic_judgement",
"decision_type": "market_opportunity",
"evidence_needs": ["saved_ideas", "external_fresh", "synthesize"],
"freshness_required": True,
"can_answer_with_assumptions": True,
},
"expect": {"answer_shape": "strategic_judgement", "next_action": "inspect_saved_ideas", "actions": ["inspect_saved_ideas", "external_search"]},
},
{
"case_id": "ai_running_attention",
"question": "AI 正在推进的这些有什么要注意",
"turn_hypothesis": {
"normalized_goal": "读取 AI 进行中事项并判断注意点",
"answer_shape": "status_answer",
"decision_type": "project_status",
"evidence_needs": ["surface_context", "synthesize"],
},
"expect": {"answer_shape": "status_answer", "next_action": "inspect_surface_context"},
},
{
"case_id": "external_regulation_question",
"question": "最近采购监管政策对这个方向有影响吗",
"turn_hypothesis": {
"normalized_goal": "判断监管环境对方向的影响",
"answer_shape": "strategic_judgement",
"decision_type": "market_opportunity",
"subject": "采购监管政策",
"subject_terms": ["采购监管", "政府采购"],
"evidence_needs": ["external_fresh", "synthesize"],
"freshness_required": True,
"can_answer_with_assumptions": True,
},
"expect": {"answer_shape": "strategic_judgement", "next_action": "external_search"},
},
{
"case_id": "hybrid_market_and_internal_fit",
"question": "这个新方向市场有机会吗,按我现在资源能不能做",
"turn_hypothesis": {
"normalized_goal": "同时判断外部机会和内部资源匹配",
"answer_shape": "composite_answer",
"decision_type": "market_opportunity",
"subject": "新方向",
"evidence_needs": ["surface_context", "external_fresh", "synthesize"],
"freshness_required": True,
"can_answer_with_assumptions": True,
},
"expect": {"answer_shape": "composite_answer", "next_action": "inspect_surface_context", "actions": ["inspect_surface_context", "external_search"]},
},
{
"case_id": "project_inventory_fact",
"question": "我现在有哪些项目",
"turn_hypothesis": {
"normalized_goal": "列出当前空间项目",
"answer_shape": "fact_list",
"decision_type": "object_lookup",
"evidence_needs": ["surface_context", "synthesize"],
},
"expect": {"answer_shape": "fact_list", "next_action": "inspect_surface_context", "forbid_actions": ["external_search"]},
},
{
"case_id": "fresh_market_required",
"question": "现在最新的 Agent 应用机会是什么",
"turn_hypothesis": {
"normalized_goal": "判断当前最新 Agent 应用机会",
"answer_shape": "strategic_judgement",
"decision_type": "market_opportunity",
"subject": "Agent 应用机会",
"subject_terms": ["Agent 应用", "AI Agent"],
"evidence_needs": ["external_fresh", "synthesize"],
"freshness_required": True,
"can_answer_with_assumptions": True,
},
"expect": {"answer_shape": "strategic_judgement", "next_action": "external_search", "needs_external": True},
},
{
"case_id": "publish_or_execute_requires_boundary",
"question": "帮我直接发布这个项目",
"turn_hypothesis": {
"normalized_goal": "确认发布动作边界",
"answer_shape": "execution_guidance",
"decision_type": "execution_guidance",
"needs_user_input": True,
"can_answer_with_assumptions": False,
"evidence_needs": ["clarification"],
},
"expect": {"answer_shape": "execution_guidance", "next_action": "ask_clarification", "must_ask_user": True},
},
]
__all__ = ["PMFLOW_AI_TURN_RUNTIME_GOLDEN_CASES"]