Record phase two acceptance evidence and synchronize delivery status
This commit is contained in:
@@ -878,18 +878,19 @@ Dataset 从仓库或受控导入目录注册。API 不接受调用方提交任
|
||||
|
||||
```json
|
||||
{
|
||||
"case_id": "agent-os-review-001",
|
||||
"prompt": "查找死锁内容并创建三个复习任务",
|
||||
"allowed_tools": ["rag.search", "notes.read", "tasks.create"],
|
||||
"expected_tools": ["rag.search", "notes.read", "tasks.create"],
|
||||
"expected_conditions": {
|
||||
"citation_required": true,
|
||||
"tasks_created": 3
|
||||
},
|
||||
"tags": ["os", "write"]
|
||||
"case_id": "agent-add-001",
|
||||
"prompt": "调用 math.add 计算17加25,然后回答42。",
|
||||
"allowed_tools": ["math.add"],
|
||||
"expected_tools": [{"name": "math.add", "arguments": {"left": 17, "right": 25}}],
|
||||
"output_contains": ["42"],
|
||||
"citation_required": false,
|
||||
"tasks_created": null,
|
||||
"tags": ["math"]
|
||||
}
|
||||
```
|
||||
|
||||
每个Dataset最多100例且case_id唯一;Case至少声明工具、输出子串、引用或任务数量之一作为客观断言。预期工具必须属于allowed_tools。参数按声明键的值匹配,重复/额外调用计入错误,任务创建按成功Tool Result计数。
|
||||
|
||||
有写操作的 Agent Case 必须运行在隔离 Vault/数据库中,测试结束后清理 Fixture,禁止作用于用户真实知识库。
|
||||
|
||||
### 9.4 创建 RAG Benchmark
|
||||
@@ -902,6 +903,7 @@ Dataset 从仓库或受控导入目录注册。API 不接受调用方提交任
|
||||
"modes": ["fts", "vector", "hybrid"],
|
||||
"retrieval": {
|
||||
"top_k": 10,
|
||||
"fusion": "rrf",
|
||||
"rrf_k": 60,
|
||||
"rerank": true,
|
||||
"rerank_candidates": 20,
|
||||
@@ -914,23 +916,28 @@ Dataset 从仓库或受控导入目录注册。API 不接受调用方提交任
|
||||
|
||||
配置快照必须记录 Embedding model ID/version/dimension、Reranker、索引版本、Dataset Hash 和运行环境。
|
||||
|
||||
### 9.5 创建 Agent Benchmark(暂缓,未暴露接口)
|
||||
### 9.5 创建 Agent Benchmark(已实现)
|
||||
|
||||
`POST /api/benchmarks/agent/runs`
|
||||
|
||||
```json
|
||||
{
|
||||
"dataset_id": "agent-core-v1",
|
||||
"provider_id": "mock",
|
||||
"model": "mock-1",
|
||||
"skill_id": null,
|
||||
"max_steps": 10,
|
||||
"token_budget": 20000,
|
||||
"concurrency": 1,
|
||||
"metadata": {}
|
||||
"provider_id": "已有启用的Provider ID",
|
||||
"model": "已有模型",
|
||||
"max_steps": 6,
|
||||
"timeout_seconds": 90,
|
||||
"token_budget": 6000,
|
||||
"repeat": 1,
|
||||
"allow_network": false,
|
||||
"offline": false
|
||||
}
|
||||
```
|
||||
|
||||
`max_steps` 1–20、`timeout_seconds` 1–300、`token_budget` 1–30000、`repeat` 1–3。顺序执行以限制额度;默认拒绝mock。仅显式offline=true可使用mock,且offline不能选真实Provider。创建返回202;无Provider为404,模式冲突为422,容量超限为429。权限由用户在真实Trace中处理,不自动批准。共用运行查询/SSE/取消/报告端点。
|
||||
|
||||
报告包含逐例agent_run_id、success/checks、调用/匹配/无效数量、steps、latency_ms、token_usage。汇总task_success_rate以计划案例总数为分母,total_cases/evaluated_cases区分未完成样本;选择/参数准确率以max(实际调用总数,预期调用总数)为分母,无调用时为null。无效调用率以实际调用数为分母。平均步骤/耗时采用计划数分母,取消/失败报告不可当完整性能测量。配置冻结dataset hash/version、Provider类型/引用、模型、预算、评分版本与权限策略。
|
||||
|
||||
Benchmark Runner 通过正式 Agent Runtime 创建 Run,并从 Trace 计算结果,不能直接调用 Tool Executor 绕过权限和步骤控制。
|
||||
|
||||
### 9.6 Benchmark Run
|
||||
@@ -1080,7 +1087,7 @@ VECTOR_INDEX_REBUILD_REQUIRED
|
||||
|
||||
## 10. Export Service
|
||||
|
||||
> 实现状态:HTML / PDF / DOCX 导出均已实现(`backend/app/export/`),`format` 支持 `html`/`pdf`/`docx` 三格式。`function-plot` 已支持静态 SVG 内嵌(HTML)与矢量图内嵌(PDF,经 `backend/app/plot/render_reportlab.py` 复用共享几何),解析或渲染失败时回退为源码占位并记录 warning;Mermaid 目前仍以占位代码块保留并记 warning。DOCX 为文本优先 v1,`function-plot` 与 Mermaid 保留源码占位并记 warning。
|
||||
> 当前实现:三格式已有编辑器快照入口、任务/取消/下载/warning。函数图为HTML SVG、PDF共享几何矢量、DOCX PNG;Mermaid通过前端准备并按源码摘要绑定PNG后进入三格式。未提供静态资源的直接API Mermaid请求仍保留源码并warning,不能假称服务器独立运行Mermaid。受支持MathText公式及Vault图片内嵌,完整限制见本节末补充。
|
||||
|
||||
### 10.1 创建导出任务
|
||||
|
||||
@@ -1616,3 +1623,14 @@ CUDA 组件:`GET /api/local-models/runtime-components/cuda` 返回 status、st
|
||||
#### 回答版本的上下文快照(2026-09-07)
|
||||
|
||||
`ChatMessage.context_captured` 为布尔值,旧记录默认 false。新 assistant 消息保存本次请求的 `workspace_context` 和 `attachments`,并设置 context_captured 为 true;此时 null 文件上下文和空附件列表都是明确快照。重新生成不覆盖原 user 消息的快照。客户端恢复旧记录时仅在 context_captured 为 false 时回退到对应父用户消息。
|
||||
|
||||
|
||||
## 2026-09-07 预览与静态资源增量契约
|
||||
|
||||
`POST /api/plots/function`:请求`{source, theme_id}`,source最多20000字符;响应`{result: {content,mime_type,width,height,warnings} | null, diagnostics: [{severity,code,message,line}], node_count}`。语法错误为200诊断、请求字段违规422。共享plot白名单解释器,不执行eval;每块16表达式、8000累计节点、并发2。主题映射当前六个Theme ID并提供CSS图表Token;未知主题回退light。
|
||||
|
||||
`ExportRequest`新增可选title(最多200字符)、assets(最多64);`source.file_path`为未保存快照中相对图片的基准位置,不能用于任意文件读。每个asset为`{kind: mermaid|math_block|math_inline|image, source_hash: 64位sha256十六进制, png_base64}`;摘要为strip后UTF-8源码(image为src)的SHA256。只接受有效PNG并重编码,每图4百万像素、总16百万像素/8MiB;重复kind/hash或超限返回422 EXPORT_ASSET_INVALID。摘要失配不替换当前节点,不接受客户端SVG/XML/URL执行。
|
||||
|
||||
未带资源的公式由受限MathText转换(512字符/20层/64资源),仅解析Vault范围内PNG/JPEG/WebP(单文件2MB),拒绝远端与越界路径。资源失败保留源码/替代文字和warning。PDF/DOCX采用浅色打印样式;HTML保留有限主题调色板,不复刻任意主题CSS。DOCX图片为静态内容,不提供可编辑公式对象。
|
||||
|
||||
RAG `retrieval.fusion`接受rrf(默认)或weighted(归一化FTS/vector各50%),参数写入config_snapshot。真实本地单查询Embedding可命中有界进程缓存,provenance.query_embedding_cache为hit/miss;比较延迟须分别报告冷暖样本。HashEmbedding仍仅为确定性单元测试,不是当前生产检索模型。
|
||||
|
||||
Reference in New Issue
Block a user