Agent 精选来源与交付门禁
本 reference 的 JSON 合同仅用于用户要求的报告/研究包,不是普通对话检索的必经步骤。对话直接说明精选依据和核验边界;不为答复先写两个 JSON。
1. 核心边界
问题 → API/MCP 候选召回
→ Agent 逐条法律相关性复核
→ 直接对话答复
→ 用户要求报告时才整理 research-plan.json + selected-sources.json
→ 正式报告
完整响应、per-call .md/.json
→ archive/(数据底稿)
↛ 正式报告正文- MCP/API、后端
score和查询命中只证明“返回了候选”,不证明“可以作为本案依据”。 - Agent 负责判断请求权基础、规范适用、主体关系、行为链条、决定性事实和正反方向是否对位。
- 脚本只负责字段、命题映射、核验声明、去重、法源排序、引用可追溯和报告隔离等确定性检查,不根据标题或关键词替代法律判断。
LOW、MISMATCH和verification_status != verified的材料不得进入正式交付。
2. 三种输出模式
| 模式 | 默认条件 | 输出 | 原始召回 |
|---|---|---|---|
| 对话研究答复 | 默认 | 结论、关键前提、风险和少量精选依据;不要求 JSON | 不强制另行归档 |
| 精选研究包 | 用户要求留痕、复核或交接 | research-plan.json + selected-sources.json + 必要说明 |
仅归档,可链接 |
| 正式法律检索报告 | 用户明确要求正式报告或落盘 | 结论先行报告,只消费精选清单 | 仅在末尾列调用轨迹,不复制正文 |
检索深度与输出长度相互独立。不再用 aggressive 自动增加查询;原生默认可能返回很多候选,仍只保留解释结论必需的来源。单争点报告使用 focused 记录。
3. selected-sources.json 合同
{
"schema_version": "1.0",
"case_id": "与 research plan 一致",
"selected_sources": [
{
"source_id": "S-01",
"source_type": "law",
"title": "来源标题",
"citation": "可直接引用的法规名称+条号,或案例案号",
"proposition_ids": ["P-01"],
"relevance_label": "HIGH",
"priority": "core",
"stance": "support",
"rule_or_holding": "与命题直接相关的规则或裁判要旨摘要",
"applicability": "主体、行为链条、决定性事实为何与本案对位",
"verification_status": "verified",
"verification_note": "如何核验真实性、文本和时效",
"validity_status": "current",
"trace": {
"query_ids": ["Q-01"],
"source_url": "https://...",
"archive_ref": "archive/<project>/<file>.json"
}
}
],
"unresolved_propositions": [
{
"proposition_id": "P-02",
"reason": "未取得足够对位且可核验的依据",
"next_action": "补充事实后重新检索,或改用指定接口复检"
}
],
"excluded_candidates": [
{
"candidate_id": "R-09",
"title": "候选标题",
"relevance_label": "MISMATCH",
"reason": "请求权基础或决定性事实不同",
"query_id": "Q-01"
}
]
}字段规则
source_type按法律位阶和材料性质取值:constitution、law、judicial_interpretation、administrative_regulation、local_regulation、department_rule、guiding_case、typical_case、case、other。relevance_label只允许HIGH/MEDIUM。LOW/MISMATCH进入excluded_candidates,不进入selected_sources。priority取core/supplementary;stance取support/oppose/mixed。core必须为HIGH,MEDIUM只能作补充依据。verification_status在正式报告中必须为verified。核验至少覆盖来源存在、引用内容一致;规范性法源还要核对时效和适用范围。- 规范性法源的
validity_status为current或historical;当前脚本尚不接受历史法源作core。这是报告能力限制,不是旧案不得适用旧法;遇此情形披露限制、保留时间适用分析,不伪标 current。案例使用not_applicable。 proposition_ids必须存在于本次 research plan;trace.query_ids必须存在,且其父命题属于该来源的proposition_ids。trace.source_url和trace.archive_ref至少提供一项。链接和归档只是可追溯证据,不能替代applicability。- 每条决定性命题必须至少有一条精选来源,或显式进入
unresolved_propositions;不得用沉默掩盖检索失败。
4. Agent 逐条复核问题
对拟采用的来源核查下列问题;显然不对位的候选直接排除,不逐条写长评语:
- 它支持或反对哪个具体命题,而不是笼统属于哪个案由?
- 规范是否真的适用于本案主体、客体、行为和时间?
- 案例的请求权基础、主体角色、行为链条和决定性事实是否对位?
- 它提供的是规范依据、概念解释、裁判规则、事实类比还是背景信息?
- 是否存在更新法源、更高位阶法源或更直接的司法解释?
- 如果排除,属于仅主题相似、要件不同、事实不同、程序不同还是来源未核验?
后端排名只决定阅读顺序。不得因为结果排在前列、标题包含关键词或被多个查询重复命中,就自动提高法律相关性。
5. 法源排序与篇幅控制
正式报告先按 priority 排核心与补充,再按下列顺序排列:
- 宪法、法律;
- 司法解释;
- 行政法规;
- 地方性法规、部门规章;
- 指导性案例、典型案例、普通司法案例;
- 其他核实材料。
案例不得混入“规范性法律依据”。相同法条或同一案例只保留一条;同一命题存在多条重复材料时,优先保留位阶更高、效力明确、事实更对位、来源更可核验的材料。数量是阅读预算而不是命中数量:一份正式报告最多 12 条精选来源,只保留解释结论所必需的材料。超出时应去重、保留更高位阶/更对位依据,或拆成用户明确要求的专题附件;不设置“召回多少就展示多少”的比例。
excluded_candidates 的完整名称和逐条理由只留在 JSON 归档。正式报告仅显示排除数量,避免无关标题再次污染正文。
6. 确定性门禁
只有选择 schema 1.0 完整深度计划时,执行前检查:
scripts/validate-research-contract.py --plan research-plan.json正式报告前:
scripts/validate-research-contract.py \
--plan research-plan.json \
--selection selected-sources.json退出码:
0:结构、接口字段和交叉映射合法;不代表实体法律判断已经由机器证明正确。1:合同违规,阻断本次完整计划执行或正式报告生成;普通对话无此文件前置要求。2:文件、JSON 或校验器初始化错误,停止执行。
consolidate 会再次校验研究计划与精选清单,缺少清单、空清单、超过 12 条、未核验来源、未知命题、LOW/MISMATCH、重复引用或决定性命题无去向时失败关闭。
7. 正式报告调用
只有用户明确要求正式报告或落盘时运行:
scripts/yd-run consolidate \
--title "案件主题" \
--project "项目目录名" \
--case "案情简介" \
--strategy "涵摄缺口、接口路由与复检过程" \
--analysis "结合精选依据完成的法律分析" \
--conclusion "附条件的明确结论" \
--research-plan research-plan.json \
--selection selected-sources.json \
--include "可选:仅用于归档和列示原始 per-call 调用的查询子串"第六节只渲染 selected_sources。--include 不再具有“纳入正文”的含义,只负责把原始检索调用归档进项目包并在第七节列出轨迹。
8. Hard Fail
- 直接把 MCP/API 响应或 per-call 报告整体写入正式报告。
- 用查询文件名、关键词、endpoint 分组或后端分数代替 Agent 逐条精选。
- 把案例、典型案例写进规范性法律依据。
- 纳入失效但未说明历史用途的法源,或纳入与本案主体/客体明显不适用的专项规则。
- 对决定性命题既无精选依据,也不披露尚未解决。
- 因候选量增加而降低精选门槛或增加正文材料数量。