2d108c8381
- Fix _export_settings for pydantic v2 compatibility (model_fields) - Fix delete_time→deleted_at, update_time→updated_at in RuleServiceImpl - Add OssClient.EnsureBucket method - Replace contract_lease/sale/tech rules.yaml from new-rules - Seed script: batch upload 20 rule YAMLs to OSS + write DB + publish - Config: fix OSS import chain
1456 lines
64 KiB
YAML
1456 lines
64 KiB
YAML
# ═══════════════════════════════════════════════════════════════
|
||
# 技术合同(技术开发/技术服务/采购) — 评查规则库
|
||
# ═══════════════════════════════════════════════════════════════
|
||
# 依据《中华人民共和国民法典》合同编通则(第470条)
|
||
# 及技术合同章(第843-887条)及相关法规
|
||
# 适用于信息系统建设、软件开发、数据服务、平台采购等技术类合同的评查
|
||
# 覆盖签署前审查(draft)和签署后审计(executed)两个阶段
|
||
|
||
metadata:
|
||
type_id: contract.tech
|
||
name: 技术合同(技术开发/技术服务/采购)
|
||
version: "1.0"
|
||
last_updated: "2026-04-14"
|
||
|
||
classification_keywords:
|
||
- 技术开发
|
||
- 技术服务
|
||
- 技术咨询
|
||
- 软件开发
|
||
- 系统建设
|
||
- 平台采购
|
||
|
||
tags:
|
||
- 合同
|
||
- 技术
|
||
- 开发
|
||
- 服务
|
||
- 采购
|
||
|
||
description: |
|
||
依据《中华人民共和国民法典》合同编通则(第470条)、技术合同章(第843-887条)及相关法规。
|
||
适用于信息系统建设、软件开发、数据服务、平台采购等技术类合同的评查。
|
||
覆盖签署前审查(draft)和签署后审计(executed)两个阶段。
|
||
合并通用合同规则与技术合同专有规则,共 37 条评查规则。
|
||
|
||
# ─────────────────────────────────────────────────────────────────
|
||
# 字段抽取声明
|
||
# required_from: 该字段从哪个阶段开始必需
|
||
# draft → 起草阶段就必需(草稿没有也会被标记)
|
||
# executed → 仅已执行阶段必需(草稿可以缺失)
|
||
# 未声明 → 默认 executed
|
||
# ─────────────────────────────────────────────────────────────────
|
||
|
||
extract:
|
||
# ── 合同基本信息 ──
|
||
- {name: 合同名称, type: verbatim, required_from: draft, description: 合同的完整名称}
|
||
- {name: 签约背景, type: string, required_from: draft, description: 签约背景、缘由或项目依据}
|
||
- {name: 引用法律法规, type: string, required_from: draft, description: 合同中引用的法律、法规名称}
|
||
- {name: 合同编号, type: verbatim, required_from: executed, description: 合同唯一编号}
|
||
- {name: 签约日期, type: date, required_from: executed, description: 合同签订日期}
|
||
- {name: 签约地点, type: verbatim, required_from: executed, description: 合同签订地点}
|
||
- {name: 合同份数, type: integer, required_from: executed, description: 合同正本份数}
|
||
- {name: 生效条件, type: string, required_from: executed, description: 合同生效的条件描述}
|
||
- {name: 审批情况, type: string, required_from: draft, description: 合同审批流程或审批信息}
|
||
|
||
# ── 当事人 ──
|
||
- {name: 甲方, type: verbatim, required_from: draft, description: 甲方(委托方/采购方)公司全称}
|
||
- {name: 乙方, type: verbatim, required_from: draft, description: 乙方(开发方/服务方)公司全称}
|
||
- {name: 甲方法定代表人, type: verbatim, required_from: draft, description: 甲方法定代表人或负责人姓名}
|
||
- {name: 乙方法定代表人, type: verbatim, required_from: draft, description: 乙方法定代表人姓名}
|
||
- {name: 甲方地址, type: verbatim, required_from: draft, description: 甲方注册或办公地址}
|
||
- {name: 乙方地址, type: verbatim, required_from: draft, description: 乙方注册或办公地址}
|
||
- {name: 甲方联系人, type: verbatim, required_from: draft, description: 甲方项目联系人姓名}
|
||
- {name: 甲方联系电话, type: verbatim, required_from: draft, description: 甲方联系电话}
|
||
- {name: 乙方联系人, type: verbatim, required_from: draft, description: 乙方项目联系人姓名}
|
||
- {name: 乙方联系电话, type: verbatim, required_from: draft, description: 乙方联系电话}
|
||
- {name: 甲方统一社会信用代码, type: uscc, required_from: draft, description: 甲方18位统一社会信用代码}
|
||
- {name: 乙方统一社会信用代码, type: uscc, required_from: draft, description: 乙方18位统一社会信用代码}
|
||
- {name: 甲方资质信息, type: string, required_from: draft, description: 甲方相关资质证明描述}
|
||
- {name: 乙方资质信息, type: string, required_from: draft, description: 乙方资质证明、从业资格等描述}
|
||
- {name: 甲方授权委托信息, type: string, required_from: draft, description: 甲方签约代表的授权委托书信息}
|
||
- {name: 乙方授权委托信息, type: string, required_from: draft, description: 乙方签约代表的授权委托书信息}
|
||
|
||
# ── 银行账户 ──
|
||
- {name: 甲方开户银行, type: verbatim, required_from: draft, description: 甲方银行开户行名称}
|
||
- {name: 甲方银行账号, type: verbatim, required_from: draft, description: 甲方银行账号}
|
||
- {name: 乙方开户银行, type: verbatim, required_from: draft, description: 乙方银行开户行名称}
|
||
- {name: 乙方银行账号, type: verbatim, required_from: draft, description: 乙方银行账号}
|
||
|
||
# ── 标的与技术 ──
|
||
- {name: 合同标的描述, type: string, required_from: draft, description: 合同标的/服务内容的完整描述}
|
||
- {name: 技术方案, type: string, required_from: draft, description: 技术实现方案:定性+半定量描述"怎么做"(架构/方法论)。包括技术路线、架构设计、开发方法论、技术栈选择。负向约束:不要抽取商务条款、交付要求、验收标准}
|
||
- {name: 技术目标, type: string, required_from: draft, description: 技术目标:定性描述"做什么",即项目要达成的业务/功能目标。包括建设什么系统、实现什么功能。负向约束:不要抽取量化指标、商务条款、交付时间}
|
||
- {name: 技术指标, type: string, required_from: draft, description: 技术指标:纯定量描述"做到什么程度"(必须有数字+单位)。包括并发用户数、响应时间、吞吐量、容量、准确率等。严禁抽取商务条款、交付条款、验收条款、服务条款}
|
||
- {name: 技术标准规范, type: string, required_from: draft, description: 系统开发建设需遵循的技术标准、规范文件(编码规范、接口标准、安全标准、性能标准等)}
|
||
- {name: 质量标准, type: string, required_from: draft, description: 质量要求、检验方法的描述}
|
||
|
||
# ── 验收 ──
|
||
- {name: 验收标准, type: string, required_from: draft, description: 功能验收、性能验收、安全验收等各项标准}
|
||
- {name: 验收流程, type: string, required_from: draft, description: 验收组织方、参与方、步骤、期限}
|
||
- {name: 不合格处理, type: string, required_from: draft, description: 验收不合格时的整改要求和处理方式}
|
||
|
||
# ── 金额与支付 ──
|
||
- {name: 合同金额, type: money, required_from: draft, description: 合同含税总金额(数字)}
|
||
- {name: 合同金额大写, type: verbatim, required_from: draft, description: 合同含税总金额中文大写}
|
||
- {name: 不含税金额, type: money, required_from: draft, description: 不含税金额}
|
||
- {name: 税率, type: string, required_from: draft, description: 增值税税率(如6%、13%)}
|
||
- {name: 税额, type: money, required_from: draft, description: 增值税税额}
|
||
- {name: 付款方式, type: string, required_from: draft, description: 付款方式(银行转账/现金等)及完整描述}
|
||
- {name: 付款条件, type: string, required_from: draft, description: 付款阶段、比例、条件和期限的完整描述}
|
||
- {name: 附加标的物价款标准, type: string, required_from: draft, description: 附加/额外服务的价款标准约定}
|
||
|
||
# ── 期限与地点 ──
|
||
- {name: 合同起始日期, type: date, required_from: draft, description: 合同有效期起始日期}
|
||
- {name: 合同终止日期, type: date, required_from: draft, description: 合同有效期终止日期}
|
||
- {name: 合同期限描述, type: string, required_from: draft, description: 合同期限的文字描述}
|
||
- {name: 履行地点, type: verbatim, required_from: draft, description: 项目实施/服务提供的地点}
|
||
- {name: 实施计划, type: string, required_from: draft, description: 实施阶段划分、里程碑节点、交付时间}
|
||
- {name: 交付物, type: string, required_from: draft, description: 各阶段应交付的成果物清单}
|
||
|
||
# ── 条款 ──
|
||
- {name: 知识产权条款, type: string, required_from: draft, description: 知识产权归属、使用许可、后续改进的完整条款}
|
||
- {name: 技术风险条款, type: string, required_from: draft, description: 技术风险分担方式、通知义务的约定}
|
||
- {name: 技术支持条款, type: string, required_from: draft, description: 技术支持方式、响应时间、质保期约定}
|
||
- {name: 资料移交清单, type: string, required_from: draft, description: 应移交的技术资料清单(文档、源代码、操作手册等)}
|
||
- {name: 违约责任条款, type: verbatim, required_from: draft, description: 违约责任/违约条款的完整内容(原文逐字抽取,用于费用相关评查)}
|
||
- {name: 争议解决条款, type: string, required_from: draft, description: 争议解决方式及管辖机构的完整描述}
|
||
- {name: 不可抗力条款, type: string, required_from: draft, description: 不可抗力相关条款的完整内容}
|
||
- {name: 变更解除终止条款, type: string, required_from: draft, description: 合同变更、解除、终止的条件和程序}
|
||
- {name: 保密条款, type: string, required_from: draft, description: 保密义务相关条款内容(含正文及附件保密协议)}
|
||
- {name: 附件清单, type: string, required_from: draft, description: 合同附件的列表(序号、名称、类型)}
|
||
- {name: 补充协议条款, type: string, required_from: draft, description: 补充协议相关条款}
|
||
|
||
# ─────────────────────────────────────────────────────────────────
|
||
# 规则列表
|
||
# ─────────────────────────────────────────────────────────────────
|
||
|
||
rules:
|
||
|
||
# ═════════════════════════════════════════════════════════════
|
||
# JS-TECH-001 · 合同基本信息完整
|
||
# ═════════════════════════════════════════════════════════════
|
||
- rule_id: JS-TECH-001
|
||
name: 合同基本信息完整
|
||
risk: high
|
||
score: 2
|
||
applies_in:
|
||
- executed
|
||
|
||
stages:
|
||
- id: "1"
|
||
check: required
|
||
field: 合同名称
|
||
- id: "2"
|
||
check: required
|
||
field: 合同编号
|
||
- id: "3"
|
||
check: required
|
||
field: 签约日期
|
||
|
||
logic: "1 AND 2 AND 3"
|
||
|
||
messages:
|
||
pass: 合同名称、编号、签约日期齐全
|
||
fail: 合同名称、编号或签约日期缺失
|
||
|
||
# ═════════════════════════════════════════════════════════════
|
||
# JS-TECH-002 · 合同名称合法有效
|
||
# ═════════════════════════════════════════════════════════════
|
||
- rule_id: JS-TECH-002
|
||
name: 合同名称合法有效
|
||
risk: medium
|
||
score: 2
|
||
|
||
stages:
|
||
- id: "1"
|
||
check: ai
|
||
prompt: |
|
||
请检查合同名称是否与合同内容一致。
|
||
合同名称:{{合同名称}}
|
||
合同标的描述:{{合同标的描述}}
|
||
|
||
评查要点(依据民法典第467条):
|
||
1. 合同名称必须与合同实际内容一致(如名为"采购合同"但实际为技术服务则不一致)
|
||
2. 符合民法典有名合同特征的,应当采用标准名称或不会使人误解的通称
|
||
|
||
请以JSON格式回答:{"passed": true/false, "reason": "简要说明"}
|
||
|
||
uncertainty_handling:
|
||
如合同原文表述模糊、信息缺失或存在歧义:
|
||
- 不要自行推断或补充内容
|
||
- 在 reason 中明确标注"原文未明确提及/表述模糊"
|
||
- passed 返回 false,并给出"建议补充/明确..."的实操建议
|
||
|
||
schema:
|
||
type: object
|
||
required: [passed, reason]
|
||
properties:
|
||
passed:
|
||
type: boolean
|
||
reason:
|
||
type: string
|
||
pass_when: "passed == True"
|
||
|
||
logic: "1"
|
||
|
||
messages:
|
||
pass: 合同名称与内容一致
|
||
fail: 合同名称与内容不一致
|
||
|
||
# ═════════════════════════════════════════════════════════════
|
||
# JS-TECH-003 · 签约背景与法律依据
|
||
# ═════════════════════════════════════════════════════════════
|
||
- rule_id: JS-TECH-003
|
||
name: 签约背景与法律依据
|
||
risk: high
|
||
score: 4
|
||
|
||
stages:
|
||
- id: "1"
|
||
check: ai
|
||
prompt: |
|
||
请检查合同的签约背景和法律依据是否准确。
|
||
签约背景:{{签约背景}}
|
||
引用法律法规:{{引用法律法规}}
|
||
|
||
评查要点:
|
||
1. 签约背景或缘由是否存在(1分)
|
||
2. 合同依据的法律、法规必须准确、有效,不得引用已废止的法律(4分)
|
||
|
||
请以JSON格式回答:{"passed": true/false, "reason": "简要说明", "score": 0-5}
|
||
|
||
uncertainty_handling:
|
||
如合同原文表述模糊、信息缺失或存在歧义:
|
||
- 不要自行推断或补充内容
|
||
- 在 reason 中明确标注"原文未明确提及/表述模糊"
|
||
- passed 返回 false,并给出"建议补充/明确..."的实操建议
|
||
|
||
schema:
|
||
type: object
|
||
required: [passed, reason]
|
||
properties:
|
||
passed:
|
||
type: boolean
|
||
reason:
|
||
type: string
|
||
pass_when: "passed == True"
|
||
|
||
logic: "1"
|
||
|
||
messages:
|
||
pass: 签约背景存在且法律依据准确有效
|
||
fail: 签约背景缺失或法律依据存在问题
|
||
|
||
# ═════════════════════════════════════════════════════════════
|
||
# JS-TECH-004 · 当事人信息准确完整
|
||
# ═════════════════════════════════════════════════════════════
|
||
- rule_id: JS-TECH-004
|
||
name: 当事人信息准确完整
|
||
risk: high
|
||
score: 2
|
||
|
||
stages:
|
||
- id: "1"
|
||
check: ai
|
||
prompt: |
|
||
请检查合同各方当事人的信息是否准确完整。
|
||
甲方名称:{{甲方}},法定代表人:{{甲方法定代表人}},地址:{{甲方地址}},联系电话:{{甲方联系电话}}
|
||
乙方名称:{{乙方}},法定代表人:{{乙方法定代表人}},地址:{{乙方地址}},联系电话:{{乙方联系电话}}
|
||
|
||
评查要点(依据民法典第470条第1项):
|
||
1. 各方企业名称、法定代表人、地址、联系方式是否齐全
|
||
2. 各项信息在合同正文中是否前后一致
|
||
3. 如为自然人,应有姓名、身份证号、住址、联系电话
|
||
|
||
请以JSON格式回答:{"passed": true/false, "reason": "简要说明"}
|
||
|
||
uncertainty_handling:
|
||
如合同原文表述模糊、信息缺失或存在歧义:
|
||
- 不要自行推断或补充内容
|
||
- 在 reason 中明确标注"原文未明确提及/表述模糊"
|
||
- passed 返回 false,并给出"建议补充/明确..."的实操建议
|
||
|
||
schema:
|
||
type: object
|
||
required: [passed, reason]
|
||
properties:
|
||
passed:
|
||
type: boolean
|
||
reason:
|
||
type: string
|
||
pass_when: "passed == True"
|
||
|
||
logic: "1"
|
||
|
||
messages:
|
||
pass: 当事人信息完整一致
|
||
fail: 当事人信息不完整或不一致
|
||
|
||
# ═════════════════════════════════════════════════════════════
|
||
# JS-TECH-005 · 合同主体合法有效
|
||
# ═════════════════════════════════════════════════════════════
|
||
- rule_id: JS-TECH-005
|
||
name: 合同主体合法有效
|
||
risk: high
|
||
score: 2
|
||
|
||
stages:
|
||
- id: "1"
|
||
check: ai
|
||
prompt: |
|
||
请检查该签署方的合同主体是否合法有效。
|
||
名称:{{甲方}}
|
||
签约代表:{{甲方法定代表人}}
|
||
授权委托信息:{{甲方授权委托信息}}
|
||
对方名称:{{乙方}}
|
||
签约代表:{{乙方法定代表人}}
|
||
授权委托信息:{{乙方授权委托信息}}
|
||
|
||
评查要点(依据民法典第143条、第171条):
|
||
1. 如为企业法人,签订期限应在经营期限内
|
||
2. 代理人签订合同的,应提供合法、有效、明确的授权书
|
||
3. 如为分支机构签订,应在法人授权范围内
|
||
|
||
请以JSON格式回答:{"passed": true/false, "reason": "简要说明"}
|
||
|
||
schema:
|
||
type: object
|
||
required: [passed, reason]
|
||
properties:
|
||
passed:
|
||
type: boolean
|
||
reason:
|
||
type: string
|
||
pass_when: "passed == True"
|
||
|
||
logic: "1"
|
||
|
||
messages:
|
||
pass: 合同主体合法有效
|
||
fail: 合同主体合法性存疑
|
||
|
||
# ═════════════════════════════════════════════════════════════
|
||
# JS-TECH-006 · 合同主体资质合格
|
||
# ═════════════════════════════════════════════════════════════
|
||
- rule_id: JS-TECH-006
|
||
name: 合同主体资质合格
|
||
risk: high
|
||
score: 3
|
||
|
||
stages:
|
||
- id: "1"
|
||
check: ai
|
||
prompt: |
|
||
请检查合同对方主体的资质是否合格。
|
||
对方名称:{{乙方}}
|
||
资质信息:{{乙方资质信息}}
|
||
服务类型:{{合同标的描述}}
|
||
|
||
评查要点(依据民法典第505条):
|
||
1. 对方提供的资质证明必须符合法律法规规章规定的相应等级
|
||
2. 从业人员必须具备相应资格,确保具有足够的履行合同能力
|
||
3. 技术合同中乙方应具备相应的技术开发/服务能力资质
|
||
|
||
注意:如合同标的不涉及特定资质要求,可直接PASS。
|
||
|
||
请以JSON格式回答:{"passed": true/false, "reason": "简要说明"}
|
||
|
||
uncertainty_handling:
|
||
如合同原文表述模糊、信息缺失或存在歧义:
|
||
- 不要自行推断或补充内容
|
||
- 在 reason 中明确标注"原文未明确提及/表述模糊"
|
||
- passed 返回 false,并给出"建议补充/明确..."的实操建议
|
||
|
||
schema:
|
||
type: object
|
||
required: [passed, reason]
|
||
properties:
|
||
passed:
|
||
type: boolean
|
||
reason:
|
||
type: string
|
||
pass_when: "passed == True"
|
||
|
||
logic: "1"
|
||
|
||
messages:
|
||
pass: 合同主体资质合格或不涉及特定资质
|
||
fail: 合同主体资质可能不合格
|
||
|
||
# ═════════════════════════════════════════════════════════════
|
||
# JS-TECH-007 · 标的内容合法
|
||
# ═════════════════════════════════════════════════════════════
|
||
- rule_id: JS-TECH-007
|
||
name: 标的内容合法
|
||
risk: high
|
||
score: 2
|
||
|
||
stages:
|
||
- id: "1"
|
||
check: ai
|
||
prompt: |
|
||
请检查合同标的是否合法。
|
||
标的描述:{{合同标的描述}}
|
||
|
||
评查要点(依据民法典第153条、第154条):
|
||
1. 标的是否属于法律禁止交易的服务或内容
|
||
2. 是否涉及特殊行业许可要求
|
||
3. 合同标的是否违反法律禁止性规定或公序良俗
|
||
|
||
请以JSON格式回答:{"passed": true/false, "reason": "简要说明"}
|
||
|
||
schema:
|
||
type: object
|
||
required: [passed, reason]
|
||
properties:
|
||
passed:
|
||
type: boolean
|
||
reason:
|
||
type: string
|
||
pass_when: "passed == True"
|
||
|
||
logic: "1"
|
||
|
||
messages:
|
||
pass: 合同标的内容合法
|
||
fail: 合同标的合法性存疑
|
||
|
||
# ═════════════════════════════════════════════════════════════
|
||
# JS-TECH-008 · 合同标的准确完整
|
||
# ═════════════════════════════════════════════════════════════
|
||
- rule_id: JS-TECH-008
|
||
name: 合同标的准确完整
|
||
risk: high
|
||
score: 10
|
||
|
||
stages:
|
||
- id: "1"
|
||
check: ai
|
||
prompt: |
|
||
请检查技术合同的标的信息是否准确完整。
|
||
合同标的描述:{{合同标的描述}}
|
||
技术方案:{{技术方案}}
|
||
技术目标:{{技术目标}}
|
||
技术指标:{{技术指标}}
|
||
|
||
评查要点(依据民法典第470条第2项、第510条):
|
||
1. 合同标的描述:是否列出了具体的功能模块和服务范围(不能只有"详见招标文件"等含糊表述)
|
||
2. 技术方案:是否说明了如何实现(技术路线、架构、方法论),不能只有功能罗列
|
||
3. 技术目标:是否说明了要达成什么业务效果(建设什么系统、实现什么功能),定性描述
|
||
4. 技术指标:是否包含量化指标(性能参数、响应时间、并发数等),必须有具体数字
|
||
|
||
容错规则(重要):
|
||
- 如果"技术指标"中混入了商务条款(如付款、违约金、保证金、交货期、质保期等),这属于数据抽取问题,不应判定为"标的不完整"。请在 reason 中指出"技术指标字段混入了商务条款,但不影响标的完整性判定",并基于现有的性能参数部分进行判定。
|
||
- 只有当技术指标完全为空、或完全没有性能参数时,才判定为不完整。
|
||
|
||
请以JSON格式回答:{"passed": true/false, "reason": "简要说明(需指出哪个字段存在问题)"}
|
||
|
||
uncertainty_handling:
|
||
如合同原文表述模糊、信息缺失或存在歧义:
|
||
- 不要自行推断或补充内容
|
||
- 在 reason 中明确标注"原文未明确提及/表述模糊"
|
||
- passed 返回 false,并给出"建议补充/明确..."的实操建议
|
||
|
||
schema:
|
||
type: object
|
||
required: [passed, reason]
|
||
properties:
|
||
passed:
|
||
type: boolean
|
||
reason:
|
||
type: string
|
||
pass_when: "passed == True"
|
||
|
||
logic: "1"
|
||
|
||
messages:
|
||
pass: 标的信息准确完整
|
||
fail: 标的信息不完整或过于模糊
|
||
|
||
# ═════════════════════════════════════════════════════════════
|
||
# JS-TECH-009 · 技术标准与质量条款
|
||
# ═════════════════════════════════════════════════════════════
|
||
- rule_id: JS-TECH-009
|
||
name: 技术标准与质量条款
|
||
risk: high
|
||
score: 4
|
||
|
||
stages:
|
||
- id: "1"
|
||
check: ai
|
||
prompt: |
|
||
请检查技术合同中技术标准与质量条款的完整性和明确性。
|
||
技术规范:{{技术标准规范}}
|
||
质量标准:{{质量标准}}
|
||
|
||
评查要点(依据民法典第845条、第615-616条):
|
||
1. 是否引用了具体的技术规范文件(名称、编号、版本)
|
||
2. 是否引用了适用的国家标准(GB)、行业标准或国际标准(如GB/T 22239-2019、OGC标准等)
|
||
3. 标准引用是否完整(标准号、标准名称、版本年份)
|
||
4. 质量检验方法是否明确
|
||
5. 不能仅有"符合相关标准""按行业惯例"等含糊表述
|
||
6. 注意区分:"评查基础标准"等业务数据标准是系统处理的数据内容,不属于系统技术标准
|
||
|
||
请以JSON格式回答:{"passed": true/false, "reason": "简要说明"}
|
||
|
||
schema:
|
||
type: object
|
||
required: [passed, reason]
|
||
properties:
|
||
passed:
|
||
type: boolean
|
||
reason:
|
||
type: string
|
||
pass_when: "passed == True"
|
||
|
||
logic: "1"
|
||
|
||
messages:
|
||
pass: 技术标准引用明确,质量条款清晰
|
||
fail: 技术标准与质量条款不够明确
|
||
|
||
# ═════════════════════════════════════════════════════════════
|
||
# JS-TECH-010 · 合同金额大小写一致
|
||
# ═════════════════════════════════════════════════════════════
|
||
- rule_id: JS-TECH-010
|
||
name: 合同金额大小写一致
|
||
risk: high
|
||
score: 2
|
||
|
||
stages:
|
||
- id: "1"
|
||
check: amount_match
|
||
number: 合同金额
|
||
chinese: 合同金额大写
|
||
|
||
logic: "1"
|
||
|
||
messages:
|
||
pass: 合同金额大小写一致
|
||
fail: 合同金额数字与大写不一致
|
||
|
||
# ═════════════════════════════════════════════════════════════
|
||
# JS-TECH-011 · 付款条款完整
|
||
# ═════════════════════════════════════════════════════════════
|
||
- rule_id: JS-TECH-011
|
||
name: 付款条款完整
|
||
risk: high
|
||
score: 3
|
||
|
||
stages:
|
||
- id: "1"
|
||
check: required
|
||
field: 付款方式
|
||
- id: "2"
|
||
check: required
|
||
field: 付款条件
|
||
|
||
logic: "1 AND 2"
|
||
|
||
messages:
|
||
pass: 付款条款完整
|
||
fail: 付款方式或付款条件缺失
|
||
|
||
# ═════════════════════════════════════════════════════════════
|
||
# JS-TECH-012 · 附加标的物价款标准
|
||
# ═════════════════════════════════════════════════════════════
|
||
- rule_id: JS-TECH-012
|
||
name: 附加标的物价款标准
|
||
risk: low
|
||
score: 1
|
||
|
||
stages:
|
||
- id: "1"
|
||
check: ai
|
||
prompt: |
|
||
请检查合同是否涉及附加、额外标的物,如涉及是否明确了价款标准。
|
||
合同标的描述:{{合同标的描述}}
|
||
附加标的物价款标准:{{附加标的物价款标准}}
|
||
|
||
评查要点(依据民法典第510条、第511条):
|
||
1. 如合同可能涉及额外工作量、附加服务,是否约定了价款标准
|
||
2. 如合同标的已全部明确且无附加项,可直接PASS
|
||
|
||
请以JSON格式回答:{"passed": true/false, "reason": "简要说明"}
|
||
|
||
schema:
|
||
type: object
|
||
required: [passed, reason]
|
||
properties:
|
||
passed:
|
||
type: boolean
|
||
reason:
|
||
type: string
|
||
pass_when: "passed == True"
|
||
|
||
logic: "1"
|
||
|
||
messages:
|
||
pass: 附加标的物价款已明确或不涉及
|
||
fail: 附加标的物价款标准缺失
|
||
|
||
# ═════════════════════════════════════════════════════════════
|
||
# JS-TECH-013 · 银行账户信息完整
|
||
# ═════════════════════════════════════════════════════════════
|
||
- rule_id: JS-TECH-013
|
||
name: 银行账户信息完整
|
||
risk: medium
|
||
score: 2
|
||
applies_in:
|
||
- executed
|
||
|
||
stages:
|
||
- id: "1"
|
||
check: ai
|
||
prompt: |
|
||
请检查合同各方(甲方和乙方)的银行账户信息是否完整。
|
||
甲方开户银行:{{甲方开户银行}}
|
||
甲方银行账号:{{甲方银行账号}}
|
||
乙方开户银行:{{乙方开户银行}}
|
||
乙方银行账号:{{乙方银行账号}}
|
||
|
||
判断规则:
|
||
第一步:判断该方是付款方还是收款方。甲方一般为付款方(委托方),不需要提供收款账号,直接PASS。
|
||
第二步:若该方是收款方(乙方/开发方/服务提供方),检查:
|
||
1. 开户银行不能为空
|
||
2. 银行账号不能为空
|
||
3. 银行账号应为数字,长度通常为16-20位
|
||
|
||
请以JSON格式回答:{"passed": true/false, "reason": "简要说明"}
|
||
|
||
schema:
|
||
type: object
|
||
required: [passed, reason]
|
||
properties:
|
||
passed:
|
||
type: boolean
|
||
reason:
|
||
type: string
|
||
pass_when: "passed == True"
|
||
|
||
logic: "1"
|
||
|
||
messages:
|
||
pass: 银行账户信息完整
|
||
fail: 收款方银行账户信息不完整
|
||
|
||
# ═════════════════════════════════════════════════════════════
|
||
# JS-TECH-014 · 税务信息完整
|
||
# ═════════════════════════════════════════════════════════════
|
||
- rule_id: JS-TECH-014
|
||
name: 税务信息完整
|
||
risk: medium
|
||
score: 1
|
||
|
||
stages:
|
||
- id: "1"
|
||
check: required
|
||
field: 不含税金额
|
||
- id: "2"
|
||
check: required
|
||
field: 税率
|
||
- id: "3"
|
||
check: required
|
||
field: 税额
|
||
|
||
logic: "1 AND 2 AND 3"
|
||
|
||
messages:
|
||
pass: 税务信息(不含税金额、税率、税额)完整
|
||
fail: 缺少不含税金额、税率或税额,可能存在编制疏漏
|
||
|
||
# ═════════════════════════════════════════════════════════════
|
||
# JS-TECH-015 · 合同期限具体准确
|
||
# ═════════════════════════════════════════════════════════════
|
||
- rule_id: JS-TECH-015
|
||
name: 合同期限具体准确
|
||
risk: high
|
||
score: 4
|
||
|
||
stages:
|
||
- id: "1"
|
||
check: ai
|
||
prompt: |
|
||
请检查合同期限是否具体准确。
|
||
起始日期:{{合同起始日期}}
|
||
终止日期:{{合同终止日期}}
|
||
合同期限描述:{{合同期限描述}}
|
||
签约日期:{{签约日期}}
|
||
|
||
评查要点(依据民法典第470条、第511条):
|
||
1. **起始日期判断优先级**:
|
||
- 优先级1:如果"合同起始日期"有具体日期,则以该日期为准
|
||
- 优先级2:如果"合同起始日期"为空,但有明确的"签约日期",通常签约日期即为合同生效起始日期,应视为明确
|
||
- 优先级3:如果"合同期限描述"中说明"自签约之日起""自本合同签订之日起""自双方签字盖章之日起",则签约日期即为起始日期
|
||
- 特殊情况:如果起始日期依赖于其他条件(如"验收合格之日起"),需说明该条件是否合理
|
||
2. **合同期限完整性**:检查是否有明确的终止日期或合同期限(如1年、3年等)
|
||
3. **日期格式**:起始/终止日期应为具体日期(年月日齐全),或可明确推算
|
||
|
||
请以JSON格式回答:{"passed": true/false, "reason": "简要说明(需说明起始日期如何确定)"}
|
||
|
||
schema:
|
||
type: object
|
||
required: [passed, reason]
|
||
properties:
|
||
passed:
|
||
type: boolean
|
||
reason:
|
||
type: string
|
||
pass_when: "passed == True"
|
||
|
||
logic: "1"
|
||
|
||
messages:
|
||
pass: 合同期限明确
|
||
fail: 合同期限不明确
|
||
|
||
# ═════════════════════════════════════════════════════════════
|
||
# JS-TECH-016 · 合同地点具体准确
|
||
# ═════════════════════════════════════════════════════════════
|
||
- rule_id: JS-TECH-016
|
||
name: 合同地点具体准确
|
||
risk: medium
|
||
score: 2
|
||
|
||
stages:
|
||
- id: "1"
|
||
check: ai
|
||
prompt: |
|
||
请检查合同中履行地点是否明确。
|
||
履行地点:{{履行地点}}
|
||
签约地点:{{签约地点}}
|
||
|
||
评查要点(依据民法典第470条、第511条):
|
||
1. 如合同涉及实施地点约定,地址是否具体
|
||
2. 技术合同的服务实施地点是重要履约要素,建议明确,如提及"甲方指定地点",可PASS
|
||
3. 如合同无须约定具体地址,可PASS
|
||
|
||
请以JSON格式回答:{"passed": true/false, "reason": "简要说明"}
|
||
|
||
schema:
|
||
type: object
|
||
required: [passed, reason]
|
||
properties:
|
||
passed:
|
||
type: boolean
|
||
reason:
|
||
type: string
|
||
pass_when: "passed == True"
|
||
|
||
logic: "1"
|
||
|
||
messages:
|
||
pass: 合同地点明确
|
||
fail: 合同地点不够具体
|
||
|
||
# ═════════════════════════════════════════════════════════════
|
||
# JS-TECH-017 · 实施计划与里程碑完整
|
||
# ═════════════════════════════════════════════════════════════
|
||
- rule_id: JS-TECH-017
|
||
name: 实施计划与里程碑完整
|
||
risk: high
|
||
score: 4
|
||
|
||
stages:
|
||
- id: "1"
|
||
check: ai
|
||
prompt: |
|
||
请检查技术合同中实施计划与里程碑的完整性。
|
||
实施计划:{{实施计划}}
|
||
交付物:{{交付物}}
|
||
|
||
评查要点(依据民法典第845条、第853条):
|
||
1. 是否明确划分了实施阶段(需求分析、方案设计、开发实施、测试验收等)
|
||
2. 各阶段是否有明确的时间节点或里程碑
|
||
3. 各阶段是否明确了应交付的成果物
|
||
4. 总工期是否合理
|
||
5. 不能仅有"合同生效后XX个工作日内"的笼统描述
|
||
|
||
请以JSON格式回答:{"passed": true/false, "reason": "简要说明"}
|
||
|
||
schema:
|
||
type: object
|
||
required: [passed, reason]
|
||
properties:
|
||
passed:
|
||
type: boolean
|
||
reason:
|
||
type: string
|
||
pass_when: "passed == True"
|
||
|
||
logic: "1"
|
||
|
||
messages:
|
||
pass: 实施计划与里程碑约定完整
|
||
fail: 实施计划与里程碑约定不完整
|
||
|
||
# ═════════════════════════════════════════════════════════════
|
||
# JS-TECH-018 · 技术验收标准完整
|
||
# ═════════════════════════════════════════════════════════════
|
||
- rule_id: JS-TECH-018
|
||
name: 技术验收标准完整
|
||
risk: high
|
||
score: 4
|
||
|
||
stages:
|
||
- id: "1"
|
||
check: ai
|
||
prompt: |
|
||
请检查技术合同中验收标准条款的完整性。
|
||
验收标准:{{验收标准}}
|
||
验收流程:{{验收流程}}
|
||
不合格处理:{{不合格处理}}
|
||
|
||
评查要点(依据民法典第845条):
|
||
1. 验收标准是否明确(功能验收、性能验收、安全验收等各项标准)
|
||
2. 验收流程是否清晰(验收组织方、参与方、验收步骤、验收期限)
|
||
3. 是否约定了验收不合格时的整改要求和处理方式
|
||
4. 验收标准应与技术目标和技术指标相对应
|
||
5. 是否约定了分阶段验收还是整体验收
|
||
|
||
请以JSON格式回答:{"passed": true/false, "reason": "简要说明"}
|
||
|
||
uncertainty_handling:
|
||
如合同原文表述模糊、信息缺失或存在歧义:
|
||
- 不要自行推断或补充内容
|
||
- 在 reason 中明确标注"原文未明确提及/表述模糊"
|
||
- passed 返回 false,并给出"建议补充/明确..."的实操建议
|
||
|
||
schema:
|
||
type: object
|
||
required: [passed, reason]
|
||
properties:
|
||
passed:
|
||
type: boolean
|
||
reason:
|
||
type: string
|
||
pass_when: "passed == True"
|
||
|
||
logic: "1"
|
||
|
||
messages:
|
||
pass: 技术验收标准约定完整
|
||
fail: 技术验收标准约定不完整
|
||
|
||
# ═════════════════════════════════════════════════════════════
|
||
# JS-TECH-019 · 知识产权归属明确
|
||
# ═════════════════════════════════════════════════════════════
|
||
- rule_id: JS-TECH-019
|
||
name: 知识产权归属明确
|
||
risk: high
|
||
score: 4
|
||
|
||
stages:
|
||
- id: "1"
|
||
check: ai
|
||
prompt: |
|
||
请检查技术合同中知识产权归属条款的完整性。
|
||
知识产权条款:{{知识产权条款}}
|
||
|
||
评查要点(依据民法典第859-861条):
|
||
1. 是否明确约定技术成果(专利、软件著作权、技术秘密等)的归属
|
||
2. 是否区分了委托方和开发方各自的权利
|
||
3. 是否约定了技术成果使用许可的范围和方式
|
||
4. 是否约定了后续改进技术成果的分享办法
|
||
5. 对于软件开发类合同,应特别关注源代码、数据的归属
|
||
6. 民法典规定委托开发的专利申请权默认属于研发方,如需归委托方应明确约定
|
||
|
||
请以JSON格式回答:{"passed": true/false, "reason": "简要说明"}
|
||
|
||
uncertainty_handling:
|
||
如合同原文表述模糊、信息缺失或存在歧义:
|
||
- 不要自行推断或补充内容
|
||
- 在 reason 中明确标注"原文未明确提及/表述模糊"
|
||
- passed 返回 false,并给出"建议补充/明确..."的实操建议
|
||
|
||
schema:
|
||
type: object
|
||
required: [passed, reason]
|
||
properties:
|
||
passed:
|
||
type: boolean
|
||
reason:
|
||
type: string
|
||
pass_when: "passed == True"
|
||
|
||
logic: "1"
|
||
|
||
messages:
|
||
pass: 知识产权归属约定明确
|
||
fail: 知识产权归属约定不明确
|
||
|
||
# ═════════════════════════════════════════════════════════════
|
||
# JS-TECH-020 · 技术风险分担
|
||
# ═════════════════════════════════════════════════════════════
|
||
- rule_id: JS-TECH-020
|
||
name: 技术风险分担
|
||
risk: medium
|
||
score: 2
|
||
|
||
stages:
|
||
- id: "1"
|
||
check: ai
|
||
prompt: |
|
||
请检查技术合同中技术风险分担条款。
|
||
技术风险条款:{{技术风险条款}}
|
||
|
||
评查要点(依据民法典第858条):
|
||
1. 是否约定了因技术困难导致研发失败或部分失败时的风险分担方式
|
||
2. 是否约定了研发过程中遇到技术困难时的通知义务和时限
|
||
3. 无约定时风险由当事人合理分担(民法典默认规则),建议明确约定
|
||
|
||
如合同未涉及技术风险分担条款,返回FAIL并说明建议补充。
|
||
如合同明确约定了相关条款,返回PASS。
|
||
|
||
请以JSON格式回答:{"passed": true/false, "reason": "简要说明"}
|
||
|
||
schema:
|
||
type: object
|
||
required: [passed, reason]
|
||
properties:
|
||
passed:
|
||
type: boolean
|
||
reason:
|
||
type: string
|
||
pass_when: "passed == True"
|
||
|
||
logic: "1"
|
||
|
||
messages:
|
||
pass: 技术风险分担约定明确
|
||
fail: 技术风险分担约定缺失,建议补充
|
||
|
||
# ═════════════════════════════════════════════════════════════
|
||
# JS-TECH-021 · 技术支持与资料移交
|
||
# ═════════════════════════════════════════════════════════════
|
||
- rule_id: JS-TECH-021
|
||
name: 技术支持与资料移交
|
||
risk: medium
|
||
score: 1
|
||
|
||
stages:
|
||
- id: "1"
|
||
check: ai
|
||
prompt: |
|
||
请检查技术合同中技术支持与资料移交条款的完整性。
|
||
技术支持条款:{{技术支持条款}}
|
||
资料移交清单:{{资料移交清单}}
|
||
|
||
评查要点(依据民法典第853条、第880条):
|
||
1. 是否约定了技术支持的方式(现场、远程、电话等)和质保期
|
||
2. 是否约定了技术问题的响应时间和解决时限
|
||
3. 是否列明了应移交的技术资料清单(技术文档、操作手册、源代码等)
|
||
4. 技术资料的移交时间和方式是否明确
|
||
|
||
请以JSON格式回答:{"passed": true/false, "reason": "简要说明"}
|
||
|
||
schema:
|
||
type: object
|
||
required: [passed, reason]
|
||
properties:
|
||
passed:
|
||
type: boolean
|
||
reason:
|
||
type: string
|
||
pass_when: "passed == True"
|
||
|
||
logic: "1"
|
||
|
||
messages:
|
||
pass: 技术支持与资料移交条款完整
|
||
fail: 技术支持与资料移交条款不完整
|
||
|
||
# ═════════════════════════════════════════════════════════════
|
||
# JS-TECH-022 · 违约责任形式明确
|
||
# ═════════════════════════════════════════════════════════════
|
||
- rule_id: JS-TECH-022
|
||
name: 违约责任形式明确
|
||
risk: high
|
||
score: 4
|
||
|
||
stages:
|
||
- id: "1"
|
||
check: required
|
||
field: 违约责任条款
|
||
- id: "2"
|
||
check: ai
|
||
prompt: |
|
||
请检查违约责任条款是否明确。
|
||
违约条款:{{违约责任条款}}
|
||
合同金额:{{合同金额}}
|
||
|
||
评查要点(依据民法典第577条):
|
||
1. 区分合同各方主体分别的责任,并分别评查合法、合理性
|
||
2. 违约情形是否有约定(具体情形或通用条款均可,"双方违反本合同任何条款"属于有效约定)
|
||
|
||
请以JSON格式回答:{"passed": true/false, "reason": "简要说明"}
|
||
|
||
uncertainty_handling:
|
||
如合同原文表述模糊、信息缺失或存在歧义:
|
||
- 不要自行推断或补充内容
|
||
- 在 reason 中明确标注"原文未明确提及/表述模糊"
|
||
- passed 返回 false,并给出"建议补充/明确..."的实操建议
|
||
|
||
schema:
|
||
type: object
|
||
required: [passed, reason]
|
||
properties:
|
||
passed:
|
||
type: boolean
|
||
reason:
|
||
type: string
|
||
pass_when: "passed == True"
|
||
|
||
logic: "1 AND 2"
|
||
|
||
messages:
|
||
pass: 违约责任条款完整
|
||
fail: 违约责任条款不完整
|
||
|
||
# ═════════════════════════════════════════════════════════════
|
||
# JS-TECH-023 · 违约金条款完整性与合理性
|
||
# ═════════════════════════════════════════════════════════════
|
||
- rule_id: JS-TECH-023
|
||
name: 违约金条款完整性与合理性
|
||
risk: high
|
||
score: 6
|
||
|
||
stages:
|
||
- id: "1"
|
||
check: required
|
||
field: 违约责任条款
|
||
- id: "2"
|
||
check: ai
|
||
prompt: |
|
||
请审查违约金条款的完整性与合理性。
|
||
违约责任条款:{{违约责任条款}}
|
||
合同金额:{{合同金额}}
|
||
|
||
评查方法:
|
||
1. 【主体识别】:识别合同中涉及的所有责任主体(如甲方、乙方、多方合同中的各方)
|
||
2. 【情形拆分】:对每个主体,列出其所有违约情形(逾期、质量不合格、单方解除、转包等)
|
||
3. 【条款分析】:对每个违约情形,抽取以下信息:
|
||
- 违约金类型:日违约金/固定比例/赔偿损失/没收保证金/解除合同等
|
||
- 计算方式:日违约金的每日标准、固定比例的百分比、赔偿的计算依据
|
||
- 上限约束:是否有最高限额(如"不超过XX%"、"最高XX元")
|
||
- 累计条件:注意"直至XX为止""持续计算""按日累计"等可能无上限的表述
|
||
4. 【合理性评估】(依据民法典第585条):
|
||
- **上限优先原则**:如果违约金条款明确规定了金额上限(如"不超过XX%"、"最高XX元"),应以上限为准进行判定,不再计算年化率是否过高
|
||
- 日违约金年化:仅对无上限条款时参考,每日1‰≈36.5%/年,每日5‰≈182.5%/年
|
||
- 累计上限:有上限的合理,无上限的需评估长期累计风险
|
||
- 固定比例:一般不超过合同总额的30%
|
||
- 责任对等:对比各方违约责任,是否存在显失公平
|
||
5. 该方权益是否有基本保护(如对方违约时自己能获得的补偿)
|
||
|
||
评查要点:
|
||
✓ 完整性:各方的主要违约情形是否都有约定,不得缺失某方的责任条款
|
||
✓ 明确性:违约金标准是否可计算,不得使用"另行协商""按法律规定"等模糊表述
|
||
✓ 合理性:违约金是否过高或过低,日违约金需考虑累计风险
|
||
✓ 对等性:各方违约责任是否基本对等,不得一方极重一方极轻
|
||
✓ 上限保护:日违约金条款是否有合理上限,无上限的需特别注明风险
|
||
|
||
请以JSON格式回答:{"passed": true/false, "reason": "按主体分项说明:哪些合理、哪些不合理及具体原因"}
|
||
|
||
uncertainty_handling:
|
||
如合同原文表述模糊、信息缺失或存在歧义:
|
||
- 不要自行推断或补充内容
|
||
- 在 reason 中明确标注"原文未明确提及/表述模糊"
|
||
- passed 返回 false,并给出"建议补充/明确..."的实操建议
|
||
|
||
schema:
|
||
type: object
|
||
required: [passed, reason]
|
||
properties:
|
||
passed:
|
||
type: boolean
|
||
reason:
|
||
type: string
|
||
pass_when: "passed == True"
|
||
|
||
logic: "1 AND 2"
|
||
|
||
messages:
|
||
pass: 违约金条款完整且合理
|
||
fail: 违约金条款不完整或不合理
|
||
|
||
# ═════════════════════════════════════════════════════════════
|
||
# JS-TECH-024 · 争议解决方式明确
|
||
# ═════════════════════════════════════════════════════════════
|
||
- rule_id: JS-TECH-024
|
||
name: 争议解决方式明确
|
||
risk: high
|
||
score: 5
|
||
|
||
stages:
|
||
- id: "1"
|
||
check: required
|
||
field: 争议解决条款
|
||
- id: "2"
|
||
check: ai
|
||
prompt: |
|
||
请检查合同争议解决条款。
|
||
争议解决条款:{{争议解决条款}}
|
||
甲方地址:{{甲方地址}}
|
||
乙方地址:{{乙方地址}}
|
||
履行地点:{{履行地点}}
|
||
|
||
请分两步审查争议解决条款:
|
||
【第一步:形式审查】
|
||
- 是否明确选择诉讼或仲裁其中一种?
|
||
- 是否出现"或仲裁/或诉讼"等并列表述?
|
||
→ 若形式不通过,直接返回 {"passed": false, "reason": "形式违规:..."}
|
||
|
||
【第二步:实质审查(仅当形式通过时执行)】
|
||
- 提取约定的管辖法院/仲裁机构所在地:{{管辖地点}}
|
||
- 提取关联地点:甲方住所地{{甲方地址}}、乙方住所地{{乙方地址}}、合同履行地{{履行地点}}
|
||
- 依据《民事诉讼法》第35条,判断{{管辖地点}}是否与上述任一地点存在实际联系
|
||
→ 若无实际联系,返回 {"passed": false, "reason": "管辖约定可能因违反民诉法第35条而无效,建议修改为..."}
|
||
|
||
请以JSON格式回答:{"passed": true/false, "reason": "简要说明"}
|
||
|
||
uncertainty_handling:
|
||
如合同原文表述模糊、信息缺失或存在歧义:
|
||
- 不要自行推断或补充内容
|
||
- 在 reason 中明确标注"原文未明确提及/表述模糊"
|
||
- passed 返回 false,并给出"建议补充/明确..."的实操建议
|
||
|
||
schema:
|
||
type: object
|
||
required: [passed, reason]
|
||
properties:
|
||
passed:
|
||
type: boolean
|
||
reason:
|
||
type: string
|
||
pass_when: "passed == True"
|
||
|
||
logic: "1 AND 2"
|
||
|
||
messages:
|
||
pass: 争议解决方式明确
|
||
fail: 争议解决方式约定不当
|
||
|
||
# ═════════════════════════════════════════════════════════════
|
||
# JS-TECH-025 · 不可抗力条款存在
|
||
# ═════════════════════════════════════════════════════════════
|
||
- rule_id: JS-TECH-025
|
||
name: 不可抗力条款存在
|
||
risk: medium
|
||
score: 1
|
||
|
||
stages:
|
||
- id: "1"
|
||
check: required
|
||
field: 不可抗力条款
|
||
|
||
logic: "1"
|
||
|
||
messages:
|
||
pass: 不可抗力条款存在
|
||
fail: 缺少不可抗力条款
|
||
|
||
# ═════════════════════════════════════════════════════════════
|
||
# JS-TECH-026 · 变更解除终止条款完整
|
||
# ═════════════════════════════════════════════════════════════
|
||
- rule_id: JS-TECH-026
|
||
name: 变更解除终止条款完整
|
||
risk: high
|
||
score: 4
|
||
|
||
stages:
|
||
- id: "1"
|
||
check: ai
|
||
prompt: |
|
||
请检查合同变更、解除、终止条款是否完整并保障甲方(委托方)权益。
|
||
变更解除终止条款:{{变更解除终止条款}}
|
||
|
||
评查要点(依据民法典第543条、第562条、第563条):
|
||
1. 合同变更条件和程序是否明确
|
||
2. 解除或终止条件是否明确,通知期限是否约定
|
||
3. 对方违约时甲方是否有足够的救济手段(解除合同、要求赔偿等)
|
||
4. 终止条款是否对甲方不利(如对方可随意终止而甲方不能)
|
||
|
||
请以JSON格式回答:{"passed": true/false, "reason": "简要说明"}
|
||
|
||
uncertainty_handling:
|
||
如合同原文表述模糊、信息缺失或存在歧义:
|
||
- 不要自行推断或补充内容
|
||
- 在 reason 中明确标注"原文未明确提及/表述模糊"
|
||
- passed 返回 false,并给出"建议补充/明确..."的实操建议
|
||
|
||
schema:
|
||
type: object
|
||
required: [passed, reason]
|
||
properties:
|
||
passed:
|
||
type: boolean
|
||
reason:
|
||
type: string
|
||
pass_when: "passed == True"
|
||
|
||
logic: "1"
|
||
|
||
messages:
|
||
pass: 变更解除终止条款完整
|
||
fail: 变更解除终止条款不完整或不利于己方
|
||
|
||
# ═════════════════════════════════════════════════════════════
|
||
# JS-TECH-027 · 生效条件明确
|
||
# ═════════════════════════════════════════════════════════════
|
||
- rule_id: JS-TECH-027
|
||
name: 生效条件明确
|
||
risk: medium
|
||
score: 3
|
||
|
||
stages:
|
||
- id: "1"
|
||
check: required
|
||
field: 合同份数
|
||
- id: "2"
|
||
check: required
|
||
field: 生效条件
|
||
|
||
logic: "1 AND 2"
|
||
|
||
messages:
|
||
pass: 合同份数和生效条件明确
|
||
fail: 缺少合同份数或生效条件
|
||
|
||
# ═════════════════════════════════════════════════════════════
|
||
# JS-TECH-028 · 保密条款存在
|
||
# ═════════════════════════════════════════════════════════════
|
||
- rule_id: JS-TECH-028
|
||
name: 保密条款存在
|
||
risk: medium
|
||
score: 4
|
||
|
||
stages:
|
||
- id: "1"
|
||
check: required
|
||
field: 保密条款
|
||
|
||
logic: "1"
|
||
|
||
messages:
|
||
pass: 保密条款存在
|
||
fail: 缺少保密条款
|
||
|
||
# ═════════════════════════════════════════════════════════════
|
||
# JS-TECH-029 · 附件条款完整
|
||
# ═════════════════════════════════════════════════════════════
|
||
- rule_id: JS-TECH-029
|
||
name: 附件条款完整
|
||
risk: low
|
||
score: 2
|
||
|
||
stages:
|
||
- id: "1"
|
||
check: ai
|
||
prompt: |
|
||
请检查合同附件条款是否完整。
|
||
附件清单:{{附件清单}}
|
||
|
||
评查方法:
|
||
1. 首先判断"附件清单"字段是否有值:
|
||
- 如果为空或null,说明合同未列明附件
|
||
- 如果有值(如"1.廉洁合同;2.保密协议"),说明合同已列明附件
|
||
2. 检查附件清单的完整性:
|
||
- 是否有编号(如1.、2.、附件一、附件二)
|
||
- 是否有附件名称
|
||
- 常见附件如廉洁合同、保密协议是否列入
|
||
3. 判断标准:
|
||
- 附件清单有值且包含编号和名称 → PASS(合同已列明附件)
|
||
- 附件清单为空但合同实际有附件 → FAIL(未列明)
|
||
- 合同明确无附件 → PASS
|
||
|
||
请以JSON格式回答:{"passed": true/false, "reason": "简要说明"}
|
||
|
||
schema:
|
||
type: object
|
||
required: [passed, reason]
|
||
properties:
|
||
passed:
|
||
type: boolean
|
||
reason:
|
||
type: string
|
||
pass_when: "passed == True"
|
||
|
||
logic: "1"
|
||
|
||
messages:
|
||
pass: 附件条款完整或无附件
|
||
fail: 附件条款不完整
|
||
|
||
# ═════════════════════════════════════════════════════════════
|
||
# JS-TECH-030 · 补充协议条款完整
|
||
# ═════════════════════════════════════════════════════════════
|
||
- rule_id: JS-TECH-030
|
||
name: 补充协议条款完整
|
||
risk: medium
|
||
score: 2
|
||
|
||
stages:
|
||
- id: "1"
|
||
check: ai
|
||
prompt: |
|
||
请检查合同中是否涉及补充协议条款。
|
||
补充协议条款:{{补充协议条款}}
|
||
|
||
评查要点:
|
||
1. 如合同包含补充协议或变更协议,应具有协议编号、原合同编号、生效日期
|
||
2. 如合同不涉及补充协议,直接PASS
|
||
3. 补充协议应有与原合同的冲突解决条款
|
||
|
||
请以JSON格式回答:{"passed": true/false, "reason": "简要说明"}
|
||
|
||
schema:
|
||
type: object
|
||
required: [passed, reason]
|
||
properties:
|
||
passed:
|
||
type: boolean
|
||
reason:
|
||
type: string
|
||
pass_when: "passed == True"
|
||
|
||
logic: "1"
|
||
|
||
messages:
|
||
pass: 补充协议条款完整或无补充协议
|
||
fail: 补充协议条款不完整
|
||
|
||
# ═════════════════════════════════════════════════════════════
|
||
# JS-TECH-031 · 合同文本格式规范(暂时注释 - numbering check 未实现)
|
||
# ═════════════════════════════════════════════════════════════
|
||
# - rule_id: JS-TECH-031
|
||
# name: 合同文本格式规范
|
||
# risk: medium
|
||
# score: 2
|
||
# group: 通用条款
|
||
#
|
||
# stages:
|
||
# - id: "1"
|
||
# check: numbering
|
||
#
|
||
# logic: "1"
|
||
#
|
||
# messages:
|
||
# pass: 合同文本格式规范
|
||
# fail: 合同文本格式不规范
|
||
|
||
# ═════════════════════════════════════════════════════════════
|
||
# JS-TECH-032 · 骑缝章检查
|
||
# ═════════════════════════════════════════════════════════════
|
||
- rule_id: JS-TECH-032
|
||
name: 骑缝章检查
|
||
risk: medium
|
||
score: 2
|
||
applies_in:
|
||
- executed
|
||
|
||
stages:
|
||
- id: "1"
|
||
check: visual
|
||
element: 骑缝章
|
||
|
||
logic: "1"
|
||
|
||
messages:
|
||
pass: 已加盖骑缝章
|
||
fail: 未检测到骑缝章
|
||
|
||
# ═════════════════════════════════════════════════════════════
|
||
# JS-TECH-033 · 签署信息完整
|
||
# ═════════════════════════════════════════════════════════════
|
||
- rule_id: JS-TECH-033
|
||
name: 签署信息完整
|
||
risk: high
|
||
score: 2
|
||
applies_in:
|
||
- executed
|
||
|
||
stages:
|
||
- id: "1"
|
||
check: ai
|
||
prompt: |
|
||
请检查合同各签署方的签署信息是否完整。
|
||
甲方:{{甲方}},法定代表人:{{甲方法定代表人}}
|
||
乙方:{{乙方}},法定代表人:{{乙方法定代表人}}
|
||
签约日期:{{签约日期}}
|
||
|
||
评查标准(依据民法典第490条):
|
||
1. 各方是否有签名或盖章(至少一项)
|
||
2. 签署日期应有具体日期
|
||
|
||
请以JSON格式回答:{"passed": true/false, "reason": "简要说明"}
|
||
|
||
schema:
|
||
type: object
|
||
required: [passed, reason]
|
||
properties:
|
||
passed:
|
||
type: boolean
|
||
reason:
|
||
type: string
|
||
pass_when: "passed == True"
|
||
|
||
logic: "1"
|
||
|
||
messages:
|
||
pass: 签署信息完整
|
||
fail: 签署信息不完整
|
||
|
||
# ═════════════════════════════════════════════════════════════
|
||
# JS-TECH-034 · 签署权限审查
|
||
# ═════════════════════════════════════════════════════════════
|
||
- rule_id: JS-TECH-034
|
||
name: 签署权限审查
|
||
risk: high
|
||
score: 2
|
||
|
||
stages:
|
||
- id: "1"
|
||
check: ai
|
||
prompt: |
|
||
请检查合同签署人的权限是否完整。
|
||
授权信息:{{甲方授权委托信息}}
|
||
签约日期:{{签约日期}}
|
||
|
||
评查要点(依据民法典第61条、第170条):
|
||
1. 如为法人本人签署(法定代表人),授权信息应包含法人姓名、职务
|
||
2. 如为非法人签署(代理人),授权信息必须包含:
|
||
- 签署人姓名
|
||
- 签署人职位/职务
|
||
- 权限来源(法定代表人授权书、董事会决议、股东会决议等)
|
||
- 授权范围(有权签署何种类型的合同、金额上限等)
|
||
|
||
判定标准:
|
||
- 法人本人签署:有姓名、职务即可通过
|
||
- 非法人签署:必须包含职位、权限来源、授权范围,否则不通过
|
||
- 草稿阶段授权信息为空时,判定为不通过(提醒补充)
|
||
|
||
请以JSON格式回答:{"passed": true/false, "reason": "签署人授权信息不完整,缺少职位/权限来源/授权范围"}
|
||
|
||
uncertainty_handling:
|
||
如合同原文表述模糊、信息缺失或存在歧义:
|
||
- 不要自行推断或补充内容
|
||
- 在 reason 中明确标注"原文未明确提及/表述模糊"
|
||
- passed 返回 false,并给出"建议补充/明确..."的实操建议
|
||
|
||
schema:
|
||
type: object
|
||
required: [passed, reason]
|
||
properties:
|
||
passed:
|
||
type: boolean
|
||
reason:
|
||
type: string
|
||
pass_when: "passed == True"
|
||
|
||
logic: "1"
|
||
|
||
messages:
|
||
pass: 合同金额在授权范围内或已报上级审查
|
||
fail: 合同可能超出授权范围
|