Skip to content

feat: 策略生成成功率评测(RAG vs 无 RAG 对照) - #1

Merged
miSu7Ultra merged 1 commit into
mainfrom
feat/strategy-eval
Aug 31, 2026
Merged

feat: 策略生成成功率评测(RAG vs 无 RAG 对照)#1
miSu7Ultra merged 1 commit into
mainfrom
feat/strategy-eval

Conversation

@miSu7Ultra

Copy link
Copy Markdown
Owner

背景

验证「生成策略代码的成功率」,并与不使用知识库的裸模型做对照。

改动内容

生成器

  • GenerateStrategyRequest 新增 skipRetrieval 字段(null/false 走原链路,前端零改动)
  • StrategyGeneratorService:
    • skipRetrieval=true 时跳过 KB 解析/可见性校验/检索,提示词携带固定无 RAG 降级说明
    • generate 重构:LLM 调用移出事务(修复「事务内调 LLM」规则违规),仅持久化走 TransactionalExecutor,新增 generateForUser(request, user) 供评测等无 SecurityContext 场景调用

评测模块(新包 generator/eval)

  • env 门控 CommandLineRunner:APP_EVAL_ENABLED=true ./gradlew :app:bootRun 启动评测,写报告后自动退出(退出码 0/1/2)
  • 12 条内置用例(resources/eval/strategy-eval-cases.json,4 市场 × 2 频率 × 3 难度,场景取自 PTrade 知识库文档),每用例跑 RAG / no-RAG 两分支
  • 成功率判定:python3 子进程 ast.parse 语法检查(不可用自动降级)+ LLM 评委七维 rubric 评分(≥70 通过,strategy-eval-judge.st 含反注入指令)
  • 报告输出 eval-output/(gitignored):JSON + Markdown + 控制台汇总
  • 评测前轮询等待知识库向量化完成(vector_status),结束按 ID 精确清理评测产生的生成记录
  • LocalKbSeedRunner@Order(10) 保证评测在其后执行

测试

  • 新增 8 个测试类(纯 Mockito,语法检查用 python3 assumption 保护),生成服务新增 SkipRetrieval/GenerateForUser 用例;全量 ./gradlew :app:test 通过

运行方式

docker compose -f docker-compose.dev.yml up -d
APP_EVAL_ENABLED=true APP_EVAL_JUDGE_PROVIDER=qwen APP_EVAL_GENERATE_PROVIDER=qwen \
APP_EVAL_VECTOR_WAIT_TIMEOUT=300s ./gradlew :app:bootRun
# 产物: eval-output/eval-report.json + eval-report.md

注:知识库删除功能探索发现已完整存在(后端端点/前端按钮/级联清理),按用户决策未改动。

🤖 Generated with Claude Code

- 生成器新增 skipRetrieval 开关:同链路跳过知识库检索,用于无 RAG 对照
- generate 重构:LLM 调用移出事务(仅持久化走 TransactionalExecutor),
  新增 generateForUser 供评测等无 SecurityContext 场景调用
- 新增评测模块 generator/eval:env 门控 CommandLineRunner(APP_EVAL_ENABLED),
  12 条内置用例 × RAG/no-RAG 双分支,python3 ast.parse 语法检查 +
  LLM 评委 rubric 评分,输出 eval-output/ JSON+MD 报告后自动退出
- LocalKbSeedRunner 加 @order(10) 保证评测在其后执行

Co-Authored-By: Claude Code <[email protected]>
@miSu7Ultra
miSu7Ultra merged commit cdecc6c into main Aug 31, 2026
2 checks passed
@miSu7Ultra
miSu7Ultra deleted the feat/strategy-eval branch August 31, 2026 06:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant