docs/workspace/compare-evaluation-analysis/history/progress.md
real-api-samples/real-api-samples/review-summary.mdmanual-acceptance.mdbasic 默认不再注入 referencePrompt。pro-variable 只保留变量结构,不带变量值。pro-multi 只保留最小会话位置上下文,不再发送完整 transcript。## 当前工作区提示词。improvements,不再要求 patchPlan。## 当前工作区提示词。pro-variable / pro-multi 的右侧评估链路都已按“公共输入一次 + 快照差异单独展开”的最小化结构收口。workspacePrompt + variants[]resolvedPrompt 仍直接进入右侧评估请求## 当前工作区提示词pro/multi 右侧评估继续带 targetMessage + conversationMessages 原始 JSONdocs/workspace/compare-evaluation-analysis/real-api-samples/*/rendered-messages.jsonpackages/core/src/services/template/default-templates/evaluation/builders.tspackages/core/tests/unit/evaluation/result-compare-evidence-behavior.test.tsprompt-only 的正式标准参考样例,应统一收敛到“最小输入”版本。current / 冗余对照 样例已经从 real-api-samples/ 中删除,不再继续保留。当前工作区提示词参考提示词designContext.rawPrompt
在同一次左侧分析请求里重复出现的问题。basic-user
basic-user-prompt-onlybasic-system
basic-system-prompt-only-minimalpro-variable
pro-variable-prompt-only-minimalpro-multi
pro-multi-prompt-only-system-selectedpro-multi-prompt-only-user-selectedreal-api-samples/
basic-system-prompt-onlypro-variable-prompt-onlypro-variable-prompt-only-currentpro-multi-prompt-onlypro-multi-prompt-only-currentpro-multi-prompt-only-minimal
均已删除README.md
basic-user-prompt-iterate-focusbasic-user-result-focusbasic-system-compare-focuspro-variable-compare-focusreal-api-samples 的真实覆盖状态prompt-only
basic-user / basic-system / pro-variable / pro-multi 均已有真实样例prompt-only + focus
basic-user / basic-system / pro-variable / pro-multi 均已有真实样例prompt-iterate + focus
basic-user 真实样例result
basic-user / basic-system / pro-variable / pro-multi 均已有真实样例result + focus
basic-user / pro-variable / pro-multi 真实样例compare
basic-user / basic-system / pro-variable / pro-multi 均已有真实样例compare + focus
basic-user / basic-system / pro-variable / pro-multi 真实样例scripts/generate-real-api-samples.mjs
focusKeywordssummaryimprovementspatchPlan(如果有)real-api-samples/ 现在不只是覆盖了“请求结构”。result / compare 输入继续瘦身)pro/variable 右侧单结果评估
executionInput 中整段渲染后输入pro/multi 右侧单结果评估
【当前执行提示词见下方快照】 标记promptTextpro/multi 右侧对比评估
executionInputpromptTextoutputreasoningmodelKey / versionLabelexecutionInputpromptTextpnpm -F @prompt-optimizer/core test -- tests/unit/evaluation/result-compare-evidence-behavior.test.tspnpm -F @prompt-optimizer/core test -- tests/unit/evaluation/rendered-samples.test.tspnpm -F @prompt-optimizer/ui test -- tests/integration/context-user-tester.spec.ts tests/integration/conversation-tester.spec.tspnpm -F @prompt-optimizer/ui exec tsc --noEmit -p tsconfig.jsonpnpm -F @prompt-optimizer/core exec tsc --noEmit -p tsconfig.jsonpro/multi prompt-only 示例进一步收口)pro/multi 左侧分析样例不再使用“情感陪伴”之类复杂示例system: 你是一个诗人user: 请你写一首关于{{主题}}的诗。会话上下文【当前工作区要优化的提示词】 标记real-api-samples/pro-multi-prompt-only-system-selected
system 消息时:
system: 【当前工作区要优化的提示词】user: 请你写一首关于{{主题}}的诗。real-api-samples/pro-multi-prompt-only-user-selected
user 消息时:
system: 你是一个诗人user: 【当前工作区要优化的提示词】pro/multi prompt-only 的最小输入规则已经进一步明确:
pro/variable prompt-only 最小化已落地)packages/ui/src/composables/prompt/useEvaluationHandler.ts
pro/variable 左侧分析不再默认透传 referencePromptpro/variable 左侧分析的 designContext 不再使用整段 JSON stringifysummary = 这里只说明模板变量结构,不包含任何测试值。content = 变量: 风格, 主题packages/core/tests/unit/evaluation/rendered-samples.test.ts
05-pro-variable-prompt-only-base 已改为最小输入样例packages/ui/tests/unit/composables/useEvaluationHandler.spec.ts
pro/variable 最小结构上下文断言pro/multi 最小摘要上下文断言,避免退回完整 transcriptreal-api-samples/pro-variable-prompt-onlyreal-api-samples/pro-variable-prompt-only-currentreal-api-samples/pro-variable-prompt-only-minimalreferencePrompt + rawPromptpatchPlanpnpm -F @prompt-optimizer/ui test -- tests/unit/composables/useEvaluationHandler.spec.tspnpm -F @prompt-optimizer/core test -- tests/unit/evaluation/rendered-samples.test.tspnpm -F @prompt-optimizer/ui exec tsc --noEmit -p tsconfig.jsonpnpm -F @prompt-optimizer/core exec tsc --noEmit -p tsconfig.jsonpro/multi prompt-only 真实对照已完成)当前 pro/multi 左侧分析请求里,工作区提示词会在同一次请求中重复出现多次:
workspacePromptreferencePromptdesignContext.targetMessage.contentdesignContext.conversationMessages[].content 中的目标消息内容这意味着同一份长 system 消息可能在一次分析请求里出现 3-4 次。
已新增真实请求样例:
real-api-samples/pro-multi-prompt-only-currentreal-api-samples/pro-multi-prompt-only-minimal对照结论:
current
referencePrompttargetMessage + conversationMessages JSONoverall = 7021492msminimal
referencePromptoverall = 7011635ms目前看,最小化版本没有明显损失分析能力,但请求更短、更聚焦,也更符合“同一长内容只出现一次”的约束。
下一步优先建议把 pro/multi prompt-only 收敛到:
workspacePromptfocusdesignContext
默认不再发送:
referencePrompttargetMessage.contentconversationMessages transcriptpro/multi prompt-only 最小化已落地)packages/ui/src/composables/prompt/useEvaluationHandler.ts
pro/multi 左侧分析不再默认透传 referencePromptpro/multi 左侧分析的 designContext 不再使用完整 targetMessage + conversationMessages JSONsummary = 当前分析目标是某一条上下文消息,不是整个会话结果。content 仅包含:
packages/ui/tests/unit/composables/useEvaluationHandler.spec.ts
pro/multi 最小摘要上下文断言packages/core/tests/unit/evaluation/rendered-samples.test.ts
06-pro-multi-prompt-only-base 已改为最小输入样例real-api-samples/pro-multi-prompt-onlyoverall = 60patchPlan 非空referencePromptpnpm -F @prompt-optimizer/ui test -- tests/unit/composables/useEvaluationHandler.spec.tspnpm -F @prompt-optimizer/core test -- tests/unit/evaluation/rendered-samples.test.tspnpm -F @prompt-optimizer/ui exec tsc --noEmit -p tsconfig.jsonpnpm -F @prompt-optimizer/core exec tsc --noEmit -p tsconfig.jsonpnpm -F @prompt-optimizer/core buildinput-minimization-spec.md本次补充的核心结论是:
referencePrompt 不应作为默认输入继续保留designContext 只允许承载真正有设计语义的短摘要,不应继续承载 UI 来源说明result / compare 应继续坚持“只看执行证据,不额外注入工作区全文”basic/user prompt-only
workspacePromptfocus 时再加 focusreferencePromptdesignContextpro/variable prompt-only
result
compare
workspace / v0 / vNbasic-userbasic-systempro-variablepro-multiimage-text2imageimage-image2image以上模式的右侧测试列当前都已把旧 'latest' 语义替换为 'workspace':
workspace = 下方工作区当前内容v0 = 原始输入v1..vn = 已持久化历史版本并且:
'latest' 会在读取时迁移为 'workspace'workspace,但当前工作区为空,则直接报错logic.prompt / 原始输入basic-user / basic-system 左上输入区点击 分析 时:
V0inputs[] + variants[]):当前已明确降级为可选后续优化,不再作为本轮 blockercontext-user 的 分析 -> 继续优化 真实路径已修复分析 会创建虚拟 V0currentChainIdaddIteration(emptyChainId),最终在 history manager 里抛出 RecordNotFoundErrorcurrentChainId 为空时,不再错误地追加到旧链createNewChain() 创建新迭代链/#/pro/variable 中执行 分析 -> 关闭对话框 -> 继续优化 -> 确认优化V0 进入 V10 errors / 0 warningsRecordNotFoundErrortoast.warning.historyFailedtoast.warning.saveHistoryFailedpro-variable 在修复后的评估链路已做同会话复核V1 提示词variables[].valueresolvedPrompt## 当前工作区提示词### 方案 A / B#### 输入快照(渲染内容)manual-acceptance.mdpro-variable 的 post-fix 复核步骤EvaluationType 已收敛为:
resultcompareprompt-onlyprompt-iterateevaluation-*-resultworkspacePrompt?variants[]resultcomparecontext-user 左侧分析已经改为只走 analysisContextPersistedEvaluationResults 已切为:
result: Record<string, EvaluationResponse | null>compareprompt-onlyprompt-iteratevariantId 分桶持久化context-user / context-system 的右侧单结果评估上下文已按 variant 独立useEvaluationHandler 现在允许 resultTargets[variantId] 自带 proContextcontext-user 的单结果评估会按当前列单独构造:
rawPromptresolvedPromptcontext-system 的单结果评估会按当前列单独构造:
targetMessageconversationMessagescontext-user compare payload 已带 per-variant input snapshotpromptoutputreasoningmodelKeyversionLabelinput
label = Rendered Contentcontent = 当前列渲染后输入summary = 当前列变量值摘要workspacePrompt + variants[]inputs[]variants[]context-system compare payload 目前已经相对完整Conversation Snapshotprompt-only 分析模板result / compare 模板COMPARE_BASELINE_VARIANT_IDCOMPARE_CANDIDATE_VARIANT_IDcurrent-analysis-feature-map.md
findings.md
README.md
manual-acceptance.md
pro-variable 修复项的 post-fix 复核结论task_plan.md
pro 两个 workspace 的 per-variant 右侧上下文精度这轮已经补齐overall-reframing.md
current-analysis-feature-map.md 一起读如果只用一句话概括当前进度:
result / compare 都已有真实回归覆盖;测试区版本来源也已统一到 workspace / v0 / vN,当前主线剩余问题主要是 image 模式右侧评估链路还没做完。当前更准确的结论不是“任务本身复杂化了”,而是:
建议这样理解:
这样做的目的,是避免把当前所有残留问题继续抬升为本轮主任务的 blocker。
pnpm -F @prompt-optimizer/ui typecheckpnpm -F @prompt-optimizer/core test -- tests/unit/evaluation/service.test.tspnpm -F @prompt-optimizer/ui test -- tests/unit/composables/compareEvaluation.spec.ts tests/unit/composables/useEvaluationHandler.spec.ts tests/unit/components/EvaluationScoreBadge.spec.ts tests/unit/components/EvaluationHoverCard.spec.ts tests/unit/composables/useAppPromptGardenImport.spec.tspnpm -F @prompt-optimizer/ui test -- tests/unit/stores/session/basic-session-persistence.spec.ts tests/unit/stores/session/pro-session-persistence.spec.tspnpm -F @prompt-optimizer/ui test -- tests/integration/basic-workspace-logic.spec.ts tests/integration/context-user-tester.spec.ts tests/integration/conversation-tester.spec.tspnpm exec playwright test tests/e2e/analysis/basic-user.spec.ts --grep "分析提示词并显示评估结果"pnpm exec playwright test tests/e2e/analysis/basic-system.spec.ts --grep "分析提示词并显示评估结果"pnpm exec playwright test tests/e2e/analysis/pro-variable.spec.ts --grep "分析带变量的提示词并显示评估结果"E2E_VCR_MODE=replay pnpm exec playwright test tests/e2e/analysis/pro-multi.spec.tspnpm exec playwright test tests/e2e/test/basic-system-compare-test.spec.ts --grep "测试后可触发单结果评估与对比评估"pnpm exec playwright test tests/e2e/test/basic-user-test.spec.tspnpm exec playwright test tests/e2e/test/basic-user-test.spec.ts --grep "三列测试后可触发多变体对比评估"pnpm exec playwright test tests/e2e/test/pro-variable-test.spec.tsE2E_VCR_MODE=replay pnpm exec playwright test tests/e2e/test/pro-multi-test.spec.tsE2E_VCR_MODE=replay pnpm exec playwright test tests/e2e/analysis/basic-system.spec.ts tests/e2e/analysis/basic-user.spec.ts tests/e2e/analysis/pro-variable.spec.ts tests/e2e/analysis/pro-multi.spec.ts tests/e2e/test/basic-system-compare-test.spec.ts tests/e2e/test/basic-user-test.spec.ts tests/e2e/test/pro-variable-test.spec.ts tests/e2e/test/pro-multi-test.spec.tspackages/ui/tests/unit/composables/compareEvaluation.spec.ts
packages/ui/tests/unit/composables/useEvaluationHandler.spec.ts
result / compare / prompt-only 路由行为PersistedEvaluationResults 的 variant 分桶恢复与回写context-user-tester.spec.tsconversation-tester.spec.tsvariantStates 结构,不再依赖旧 testResults.originalResult / optimizedResultbasic-user 右侧 3 列 compare e2e
A/B/C 三列 run-all 后触发 compare 评估tests/e2e/fixtures/vcr/test-basic-user-test-spec-ts/三列测试后可触发多变体对比评估.jsonpro-variable 右侧评估 e2e
result 评估compare 评估tests/e2e/fixtures/vcr/test-pro-variable-test-spec-ts/填写变量后可触发单结果评估与对比评估.jsonpro-multi 右侧评估 e2e
result 评估compare 评估tests/e2e/fixtures/vcr/test-pro-multi-test-spec-ts/多消息工作区测试后可触发单结果评估与对比评估.jsonpro-multi 左侧分析 e2e
prompt-only 分析tests/e2e/fixtures/vcr/analysis-pro-multi-spec-ts/分析对话优化结果并显示评估分数.jsonbasic-system 右侧评估 e2e
result 评估compare 评估tests/e2e/fixtures/vcr/test-basic-system-compare-test-spec-ts/测试后可触发单结果评估与对比评估.jsoninteractions[] 格式,并对齐到现有 core 模板渲染出的 request body
tests/e2e/fixtures/vcr/analysis-basic-system-spec-ts/分析提示词并显示评估结果.jsontests/e2e/fixtures/vcr/analysis-basic-user-spec-ts/分析提示词并显示评估结果.jsontests/e2e/fixtures/vcr/analysis-pro-variable-spec-ts/分析带变量的提示词并显示评估结果.jsontests/e2e/fixtures/vcr/analysis-pro-multi-spec-ts/分析对话优化结果并显示评估分数.jsonexpectOptimizedResultNotEmpty() 现在会继续等待优化按钮重新可用pro-multi 按钮仍处于重建阶段basic-system 现已同时具备:
prompt-only 分析的真实 fixtureresult 评估真实 fixturecompare 评估真实 fixturebasic-user 现已同时具备:
prompt-only 分析的真实 fixtureresult 评估的真实 fixturecompare 评估的真实 fixturepro-variable 现已同时具备:
prompt-only 分析的真实 fixtureresult 评估真实 fixturecompare 评估真实 fixturepro-multi 现已具备:
prompt-only 分析真实 fixtureresult 评估真实 fixturecompare 评估真实 fixture当前分支 codex/compare-evaluation-analysis-refactor 上,与这轮收口直接相关的提交已经拆成:
34960c1 refactor(core): reshape evaluation protocol around resultsaf06ff5 refactor(ui): variantize analysis and evaluation flows99779c5 docs(workspace): capture analysis and evaluation refactor statuscd835ac test(e2e): refresh analysis vcr fixtures3034d46 chore(git): ignore local codex folders这样拆分后:
已经是相对清晰的边界。
inputs[] + variants[]