--- name: l1-diff-checker description: "L1 原子技能:数据差异对比。对比两段文本或数据,输出结构化的差异报告。" layer: 1 domain: processing keywords: - diff - compare - change - delta - version input_schema: "{ text_a: string, text_b: string, mode?: string }" output_schema: "{ changes: [{ type: string, content: string }], summary: string }" --- # L1: Diff Checker(数据对比原子技能) ## 能力 对比两段文本或数据,生成结构化差异报告。 ## 使用方法 ### 方法 1: 使用 diff 命令(精确行级对比) ```bash diff <(echo "文本A") <(echo "文本B") ``` ### 方法 2: 使用 Python(语义级对比) ```bash python3 -c " import difflib, sys text_a = '''第一段文本''' text_b = '''第二段文本''' diff = difflib.unified_diff( text_a.splitlines(keepends=True), text_b.splitlines(keepends=True), fromfile='版本A', tofile='版本B' ) print(''.join(diff)) " ``` ### 方法 3: LLM 语义对比 当差异需要语义理解时(如对比两篇文章的观点),直接使用 LLM 能力分析。 输出格式: ```markdown ## 差异摘要 - 新增: X 处 - 删除: X 处 - 修改: X 处 ## 详细变更 | # | 类型 | 内容 | |---|------|------| | 1 | 新增 | ... | | 2 | 删除 | ... | | 3 | 修改 | 原: ... → 新: ... | ``` ## 输入 | 参数 | 类型 | 必填 | 说明 | |------|------|------|------| | text_a | string | ✅ | 原始文本 (版本 A) | | text_b | string | ✅ | 对比文本 (版本 B) | | mode | string | ❌ | `line`(行级) / `word`(词级) / `semantic`(语义级),默认 line | ## 输出 差异报告:包含变更摘要和详细变更列表。 ## 约束 - 每段文本最大 3000 字符 - `line` 和 `word` 模式使用程序化对比(精确) - `semantic` 模式使用 LLM 对比(理解语义差异但可能有误差)