mcpField
S
smart-sourcing

smart-sourcing

github.com/atholaAgent 工作流343108 次安装1 天前更新
代码仓库

关于 smart-sourcing

用于判断哪些陈述需要引用来源的指导技能,会根据核实的价值与成本决定取舍。它优先核实易变化或后果重大的事实,并避免为稳定概念和示例添加不必要的来源。

主要功能

  1. 01识别需要来源的陈述
  2. 02权衡核实价值与成本
  3. 03引用版本及安全相关主张
  4. 04适当标注不确定性
  5. 05升级高风险研究任务

适用场景

  1. 01撰写含技术事实的回答
  2. 02核查安全或 API 指引
  3. 03准备研究或合规材料

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/athola/claude-night-market --skill smart-sourcing

安装后在 Claude Code 中输入/smart-sourcing确认已加载。

详细介绍

智能溯源

仅在核验价值足以支撑成本时才要求提供引用的智能溯源。

理念

全面溯源的成本高得难以承受(令牌数增加 10-16 倍)。智能溯源的目标是关注高价值主张,在这些主张上,核验能显著提高准确性。

何时需要溯源

必须提供来源
主张类型示例溯源原因
版本号“Python 3.12 新增了……”版本会变化,且易于核验
性能主张“比……快 30%”量化主张需要证据
安全建议“使用 bcrypt 来……”安全建议必须是最新的
API 规范“该函数接受……”API 会随版本变化
发布日期“于 2025 年第四季度发布”属于可核验的事实
定价/限制“免费套餐允许 1000 次请求”商业条款会变化
已弃用功能“X 在版本 Y 中被移除”破坏性变更需要核验
不需要提供来源
主张类型示例无需来源的原因
一般概念“异步能提升并发性”基础知识
代码示例示范性代码片段用于说明,并非事实主张
观点/偏好“可以考虑使用……”明确表述为建议
常识“Git 会跟踪更改”普遍认知
逻辑推导“因此,X 意味着 Y”属于推理,并非事实主张
语法“用 def 定义函数”语言文档稳定

决策框架

Is this a factual claim?
├── No → No source needed
└── Yes → Would being wrong cause harm?
    ├── No (minor inconvenience) → No source needed
    └── Yes → Is verification cost-effective?
        ├── No (>5k tokens for low-value claim) → State uncertainty
        └── Yes → Perform web search, cite source

实现

行内引用

需要溯源时:

Python 3.12 introduced `type` statement for type aliases[1].

Sources:
1. [PEP 695](https://peps.python.org/pep-0695/)
不确定性标记

溯源成本不划算但存在不确定性时:

Python 3.12 introduced the `type` statement (verify in release notes for your version).
置信度等级
置信度操作
高(稳定事实)直接陈述
中(可能已变化)添加核验说明
低(不确定)提供来源或说明不确定性

令牌成本分析

方法令牌成本使用场景
不溯源基准值一般知识
不确定性标记+5-10 个令牌中等置信度
单一来源+2-5k 个令牌高价值主张
多个来源+10-20k 个令牌研究任务

示例

正确:为特定版本的主张提供来源
User: What's new in FastAPI 0.109?

Response: FastAPI 0.109 added Pydantic v2 support as default[1] and
improved OpenAPI schema generation[2].

Sources:
1. [FastAPI Release Notes](https://fastapi.tiangolo.com/release-notes/)
2. [GitHub Release 0.109.0](https://github.com/tiangolo/fastapi/releases/tag/0.109.0)
正确:一般概念无需来源
User: How does async/await work?

Response: Async/await enables non-blocking I/O by allowing coroutines
to yield control while waiting for operations. The event loop manages
execution, resuming coroutines when their awaited operations complete.
正确:使用不确定性标记
The connection pool default is typically 10 connections (verify in your
database driver documentation as this varies by library and version).

集成

适用于:

  • conserve:response-compression - 保持溯源后的回复简洁
  • conserve:token-conservation - 权衡来源成本与价值
  • memory-palace:knowledge-intake - 为知识库语料提供全面溯源

何时使用全面溯源

何时不使用

  • 无需引用的内部项目代码
  • 不涉及事实主张的闲聊

以下情况应升级为全面溯源(接受较高的令牌成本):

  • 知识库语料条目(永久文档)
  • 安全公告(安全关键)
  • 合规/法律主张(审计要求)
  • 研究任务(用户期待全面调查)

对于这些情况,请使用 memory-palace:knowledge-intake 工作流,该工作流专为全面溯源而设计。

退出标准

  • 每项被归类为需要来源的声明(版本号、性能声明、安全建议、API 规范、发布日期、定价/限制、已弃用功能)都附有行内引用或验证说明
  • 未对被归类为一般概念、代码示例、观点、常识、逻辑推导或稳定语法的声明进行网络搜索
  • 对于置信度中等的声明,明确标注不确定性(例如“请查阅与你的版本对应的发行说明进行验证”),而不是将其当作事实陈述,或耗费大量令牌寻找来源
  • 已应用决策树:事实性声明 → 错误造成的危害 → 验证是否划算 → 查找来源;对于置信度高于中等的声明,明确遵循每个分支

评论

支持 Markdown