mcpField
S
sota-anchor

sota-anchor

本地服务
github.com/luckmanqasim搜索与检索03 周前更新

关于 sota-anchor

sota-anchor 是面向编码 Agent 的 MCP 服务和 Claude Code 插件,用于核查某项技术是否已在模型训练之后发布,避免重复实现或无依据地判断不可行。它搜索近期论文、代码仓库和软件包,并提供带日期的证据;还可提供当前模型 API ID 列表。

主要功能

  1. 01搜索近 12 个月的论文、仓库和软件包
  2. 02用带日期的来源评估是否已有解决方案
  3. 03无结果时明确说明未找到证据
  4. 04提供当前模型 API ID 列表
  5. 05通过命令将模型列表写入项目说明文件

适用场景

  1. 01编码前确认所需格式是否已有解析库
  2. 02核查某任务是否已有可用模型或基准测试
  3. 03检查项目配置中的模型 ID 是否仍在提供
  4. 04同步模型列表到 Agent 指令文件

MCP 相关

MCP 服务提供 check_what_exists 工具和 models://active 资源,供兼容 MCP 的编码 Agent 查询近期证据与模型列表。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"luckmanqasim-sota-anchor": {
"command": "uvx",
"args": [
"sota-anchor"
],
"env": {
"SOTA_ANCHOR_GITHUB_TOKEN": "<SOTA_ANCHOR_GITHUB_TOKEN>",
"SOTA_ANCHOR_BRAVE_API_KEY": "<SOTA_ANCHOR_BRAVE_API_KEY>"
}
}
}
}
启动命令uvx sota-anchor
需要配置的环境变量
SOTA_ANCHOR_GITHUB_TOKEN密钥Optional. Raises GitHub's search limit from 10 to 30 requests a minute. Use a token with no scopes, so private repositories stay out of search results.
SOTA_ANCHOR_BRAVE_API_KEY密钥Optional. Adds general web search through Brave Search as an evidence source.

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
pypisota-anchor0.2.1

工具

1

收录的工具列表 · 更新于 2 周前

参数类型必填说明
pitchstring是
monthsinteger否
domain_queryany否
capability_queryany否

详细介绍

sota-anchor

你的编码 Agent 不知道训练结束后发布了什么。
sota-anchor 是一个 MCP 服务和 Claude Code 插件,会在你的 Agent 重造已有成果之前,
检查过去一年的论文、代码库和软件包,
或告诉你这件事无法完成。

CI 许可证:MIT Python 3.11+ MCP 服务 Claude Code 插件 无需 API 密钥

针对同一项任务的两种工作流:解析 Xcode 27 项目文件,目标都是在 CI 中检查构建设置。不使用 sota-anchor 时,Agent 根据模型所知从头重造:去除末尾逗号、构建项目模型、解析构建设置、编写规则引擎、编写 CLI 和测试;模型从未见过 Apple 的库,因此在 2 分 37 秒内写出了 755 行新代码。使用 sota-anchor 时,它会检查训练后发布的内容,找到 Apple 自己提供的格式库 xcode-project-format,该库于 2026-09-15 发布,晚于模型的训练时间,并加以复用;无需编写代码,仅需 42 秒。

编码 Agent 会依据训练中学到的知识来规划任务。当任务需要它没听说过的东西时,它会认定那种东西不存在,然后做两件代价高昂的事之一:从头构建,或告诉你这件事无法完成。很多时候,让任务变简单的库、读取器或模型,是在它训练结束后才发布的。

sota-anchor 会让 Agent 检查此后发布的内容。如果某个计划的前提是某项技术不可用,Agent 就会搜索过去一年的论文、代码库和软件包,并结合日期评估搜索结果。然后,它会复用已有成果;如果没有更好的方案,再着手构建。

  • 适用于任何领域。 代码中没有针对任何特定领域的逻辑。同样的检查既可用于 CAD 文件格式,也可用于基因组学流水线或编译器处理流程。
  • 无需额外的 API 密钥。 由你的 Agent 负责推理;sota-anchor 负责检索。
  • 依据证据,而非记忆。 每项说法都会引用带日期的来源。如果搜索没有结果,它会如实说明,而不是猜测。

前后对比

针对同一个 Xcode 27 项目,前后提出的是同一个请求:“xcode 27 将我们的项目迁移到了新的 project.xcproj 格式,目前还没有相关库,所以写一个 Swift 解析器,让我们能在 CI 中检查每个目标的构建设置”。

之前。 不使用 sota-anchor 时,Claude Code 按照请求直接编写了解析器:一个包含 8 个文件、共 755 行代码的 Swift 包,并且按它自己的说法,格式是“根据你的 Logbook.xcodeproj/project.xcproj 推导出来的,而不是来自任何 Apple 文档”。耗时 2 分 37 秒。

一个 Mac 终端中的 Claude Code 会话。用户要求为 Xcode 27 的 project.xcproj 格式编写 Swift 解析器,并称目前还没有相关库。Claude Code 从头开始编写:Package.swift、一个移除尾随逗号的工具、一个 147 行的项目模型、一个 169 行的构建设置解析器,以及屏幕下方的更多文件。

之后。 使用 sota-anchor 时,检查会在编写任何代码之前运行。它找到了 Apple 自己提供的该格式库 xcode-project-format,该库于模型训练之后的 2026-09-15 以 Apache 2.0 许可证发布。Claude Code 在 GitHub 上确认了这一点,放弃自定义解析器,因为“自己编写只会重复造轮子”,并询问 CI 检查应该执行哪些规则,然后再基于 Apple 的库编写代码。整个过程耗时 42 秒,尚未编写任何代码。

使用 sota-anchor 处理同一请求。Claude Code 调用了两次 sota-anchor 检查,并获取了 github.com/apple/xcode-project-format 的内容。它报告称,Apple 发布了该格式的官方 Swift 库,并表示自己编写解析器只会重复造轮子,随后询问 CI 检查应该执行哪些规则。耗时 42 秒,尚未编写任何代码。

两段都是录制的 Claude Code 会话(Opus 5.5,日期分别为 2026-09-25 和 2026-09-26),并根据录制画面绘制成 Mac 终端。第一段从顶部开始展示,后面还有 116 行。示例项目的文件是用 Apple 的库生成的,因此这就是实际格式。

在其他方案上运行同一项检查
依靠记忆工作的 Agent检查之后的 Agent
逐字节逆向工程 .nwd 格式,假定没有 Autodesk 软件就无法读取。找到两周前发布的独立 NWD 读取器,并指出它没有许可证,因此未经作者许可不能复用。
用 OCR 流程封装视觉模型,假定模型无法读取工程图纸。提供今年多模态模型针对这些图纸的基准测试结果:AECV-Bench 和 Enginuity,让方案选择基于实测结果。
在新项目的 .env 中写入 gemini-3-pro。它从来就不是一个已提供服务的模型 ID。使用公开模型注册表列为当前已提供服务的 gemini-3.1-pro-preview。

第一行和最后一行来自录制的运行过程。第二行中的论文是 2026-09-24 针对该方案搜索到的结果。

工作原理

你的请求会发送给 Agent,Agent 会将其反转为计划所假设不存在的内容,并编写两个查询。sota-anchor 会搜索过去一年内的 arXiv、Hugging Face、GitHub、npm 和 crates.io,并返回带日期的证据。你的 Agent 会评估证据,而非依赖记忆,并得出三种结果之一:复用现有成果、自己构建,或不作判断。

如果某项请求的前提是某样东西不可用(例如,只能由供应商软件打开的格式阅读器、尚无人编写的库,或模型目前还做不到的任务),check-what-exists 技能就会执行三步检查:

  1. 反转。 你的 Agent 会指出计划假设不存在的内容:目前还没有库能读取 Xcode 27 的 project.xcproj 格式。 你提出的限制(“我们不能使用供应商的 SDK”)会按原样保留;检查的是是否有其他东西能满足该限制。Agent 会编写两个查询:一个用该领域自己的术语描述任务,另一个查询能让变通方案变得不再必要的内容。
  2. 搜索。 sota-anchor 会搜索过去 12 个月的论文(arXiv、Hugging Face)、代码库(GitHub)和软件包(npm、crates.io),如果你提供 Brave 密钥,也会搜索网页。它会逐步放宽每个查询,直到找到相关结果;所有来源共用 60 秒的时间预算。
  3. 判断。 你的 Agent 只会依据搜索结果进行权衡。除非证据另有证明,否则该假设仍然成立。“不存在任何库”这一假设会被已发布且能完成任务的代码库或软件包推翻;报告会注明其历史和活跃程度,因为存在不等于成熟。“模型做不到这件事”则需要基准测试结果来证明。

判断结果有三种。如果已有东西能完成任务,Agent 会像上面的会话示例那样指出它,并列出相关证据。如果证据不足以确定答案,该假设仍然成立,Agent 会说明哪些证据可以推翻它。如果没有任何搜索结果,它会说明没有检查到任何内容,而不会把沉默当作结论。

另外:当前模型 ID

一项更小的便利功能,主要面向新项目。每个 Claude Code 会话启动时,都会显示一份简短且带日期的列表,其中列出 OpenRouter 的公开注册表 当前提供的模型 API ID,以及它们取代的旧 ID,以便新配置指定一个确实存在的模型:

- GEMINI_MODEL=gemini-3-pro            # recalled from training: not a served ID
+ GEMINI_MODEL=gemini-3.1-pro-preview  # from the session's registry snapshot

该列表会注明来源,不会声称当前正在运行哪个模型。每个会话的耗时约增加 160 ms,因为钩子会读取预先生成的内容块,并每天在后台刷新一次。其他 Agent 可通过 sota-anchor sync 获取相同列表。

快速开始:Claude Code

说明

需要 Python 3.11+ 和 uv。无需 API 密钥。

在 Claude Code 中:

/plugin marketplace add luckmanqasim/sota-anchor
/plugin install sota-anchor@sota-anchor

然后启动新会话。首次启动会多花几秒钟,因为 uv 需要构建 MCP 服务的环境;之后就能立即启动。

如需在一个会话中试用,无需安装:

git clone https://github.com/luckmanqasim/sota-anchor
claude --plugin-dir ./sota-anchor

你将获得:

部分功能
check-what-exists 技能当请求的前提是某样东西不可用时,会自动执行检查。
/sota-check <plan>按需执行检查。
MCP 服务check_what_exists 工具和 models://active 资源。
会话启动钩子在每个会话中添加带日期的模型列表。无需记住要运行什么。
/sota-sync立即刷新模型列表,并将其写入 CLAUDE.md、AGENTS.md 和 Cursor 规则。
提示词钩子 (可选启用)设置 SOTA_ANCHOR_PROMPT_HOOK=1 后,如果消息中提到某件事无法完成,就会添加提示。
试试看

以下 3 个提示词展示了它的功能:

  1. 依赖缺失信息的计划。 检查会自动运行:

    xcode 27 moved our project to the new project.xcproj format and there's no library for
    it yet, so write a swift parser we can use in CI to check each target's build settings
    

    Claude 找到了 Apple 自己的 xcode-project-format 库,该库在模型训练结束后发布,并询问 CI 检查应强制执行什么,而不是编写解析器。

  2. 按需检查, 适用于通常被认为需要供应商 SDK 的格式:

    /sota-check "Write our own reader for Navisworks .nwd files, since we can't use the Autodesk SDK"
    

    它会搜索近期的代码库、软件包和论文,并附上日期报告搜索结果;如果一无所获,也会如实说明。

  3. 代码中的模型标识符。 会话的模型列表会发挥作用:

    Add an Anthropic client to this script and pick the current flagship model
    

    Claude 使用插件添加到会话中的带日期列表里的端点,而不是训练时记住的旧端点。

其他编码 Agent

此检查是一个纯 MCP 服务,因此适用于任何支持 MCP 的 Agent。模型列表会写入项目的指令文件。

Agent检查方式模型列表来源
Claude Code自动运行,或使用 /sota-check插件,每个会话都会提供
Cursorcheck_what_exists 工具.cursor/rules/sota.mdc
VS Code + GitHub Copilotcheck_what_exists 工具AGENTS.md
OpenAI Codex CLIcheck_what_exists 工具AGENTS.md
Gemini CLIcheck_what_exists 工具AGENTS.md
OpenCodecheck_what_exists 工具AGENTS.md
任何其他 MCP 客户端check_what_exists 工具客户端的指令文件

1. 只需安装一次 CLI:

uv tool install sota-anchor   # or: pipx install sota-anchor

2. 在 Agent 中注册 MCP 服务,使用下方对应的代码片段。

3. 可选:将模型列表写入项目,之后可随时重新运行以获取最新列表:

sota-anchor sync --target agents   # writes AGENTS.md
sota-anchor sync --target cursor   # writes .cursor/rules/sota.mdc and .cursorrules

只有 SOTA-ANCHOR 标记之间的文本会被修改,文件的其余部分都由你掌控。

提示

在 Claude Code 之外,何时调用 check_what_exists 由 Agent 根据该工具自身的描述决定。若要确保运行,请明确提出要求:“构建此计划前,先对它运行 check_what_exists。”

Cursor

在项目中的 .cursor/mcp.json,或在 ~/.cursor/mcp.json 中为所有项目配置:

{
  "mcpServers": {
    "sota-anchor": { "command": "sota-anchor", "args": ["serve"] }
  }
}

模型列表:sota-anchor sync --target cursor 会写入 .cursor/rules/sota.mdc,该文件始终会应用。Cursor 也会读取 AGENTS.md。

VS Code(GitHub Copilot)

使用 .vscode/mcp.json。VS Code 使用的键是 servers,而不是 mcpServers:

{
  "servers": {
    "sota-anchor": { "command": "sota-anchor", "args": ["serve"] }
  }
}

也可以在终端中将其添加到用户配置文件:

code --add-mcp '{"name":"sota-anchor","command":"sota-anchor","args":["serve"]}'

模型列表:运行 sota-anchor sync --target agents,然后启用 chat.useAgentsMdFile 设置。VS Code 的本地 Agent 默认不会读取 AGENTS.md。

OpenAI Codex CLI
codex mcp add sota-anchor -- sota-anchor serve

或者在 ~/.codex/config.toml 中配置:

[mcp_servers.sota-anchor]
command = "sota-anchor"
args = ["serve"]

模型列表:运行 sota-anchor sync --target agents。Codex 会读取 AGENTS.md。

Gemini CLI
gemini mcp add sota-anchor sota-anchor serve

或者在 ~/.gemini/settings.json 中配置(单个项目则使用 .gemini/settings.json)。该文件还可用于告知 Gemini CLI 读取 AGENTS.md,因为它默认读取的是 GEMINI.md:

{
  "mcpServers": {
    "sota-anchor": { "command": "sota-anchor", "args": ["serve"] }
  },
  "context": { "fileName": ["AGENTS.md", "GEMINI.md"] }
}

模型列表:运行 sota-anchor sync --target agents。

OpenCode

在项目中的 opencode.json:

{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "sota-anchor": { "type": "local", "command": ["sota-anchor", "serve"], "enabled": true }
  }
}

如果想通过 uvx 运行而不是安装,请延长超时时间:OpenCode 会等待服务工具 5 秒,而首次启动下载软件包所需的时间会更长。

"sota-anchor": {
  "type": "local",
  "command": ["uvx", "sota-anchor", "serve"],
  "enabled": true,
  "timeout": 30000
}

模型列表:运行 sota-anchor sync --target agents。OpenCode 会读取 AGENTS.md;如果该文件不存在,则改为读取 CLAUDE.md。

任何其他 MCP 客户端

大多数客户端(包括 Claude Desktop)都使用通用的 mcpServers 格式。请查阅客户端文档,了解配置文件的位置。

{
  "mcpServers": {
    "sota-anchor": { "command": "sota-anchor", "args": ["serve"] }
  }
}

如果不想安装任何内容,可以让 uv 按需从 PyPI 获取。首次启动时会下载软件包,因此启动超时时间较短的客户端可能需要重试一次:

{
  "mcpServers": {
    "sota-anchor": { "command": "uvx", "args": ["sota-anchor", "serve"] }
  }
}

在 Claude Code 中不使用插件时:claude mcp add sota-anchor -- sota-anchor serve。

提示

如果编辑器提示找不到 sota-anchor,请提供完整路径。运行 uv tool dir --bin 可查看 uv 安装它的文件夹。

命令行

插件执行的所有操作也都可以通过命令完成,而且这些命令都不需要 API 密钥。

命令作用
sota-anchor check "<your plan>"执行完整检查。有关返回结果,请参阅 在 CI 中。
sota-anchor evidence --query "Xcode 27 project.xcproj parser"搜索证据。不涉及大模型;脚本可使用 --json。
sota-anchor serve通过 stdio 运行 MCP 服务。
sota-anchor seed输出会话区块。--refresh 会先获取注册表。
sota-anchor sync --target all将模型列表写入 CLAUDE.md、AGENTS.md 和 Cursor 规则。

sync 选项:

选项作用
--targetclaude(默认值)、cursor、agents 或 all。
--provider要列出的提供商。可重复指定;默认值为 anthropic、google 和 openai。
--all-providers列出所有提供商:上下文约 4,600 个 token,而非 510 个。
--max-per-provider每个提供商列出的端点数。默认值为 4。
--staleness-months模型的发布版本落后于其提供商最新版本多少个月后,才会被视为已过时。默认值为 12;对于发布缓慢的提供商,可调高此值。
--refresh忽略 24 小时缓存。
在 CI 中

不使用 API 密钥时,check 会输出供 Agent 作答的协议。使用 API 密钥时,它会自行给出判定,因此可用作门禁:

退出代码含义
0该限制仍然成立。
2该计划依赖已过时的内容。
3无法判定:未设置密钥,因此仍需由 Agent 作出判断。此值有意不设为 0。
- run: uv tool install sota-anchor
- run: sota-anchor check "$(cat docs/design-notes.md)"
  env:
    SOTA_ANCHOR_API_KEY: ${{ secrets.OPENROUTER_API_KEY }}

配置

无需设置任何内容。以下设置均为可选项。

在 Claude Code 中,启用插件时,它会提示你输入两个可选密钥,并将其保存在系统的凭据存储中。任一项留空即可不使用。

插件设置作用
GitHub token将 GitHub 的搜索限额从每分钟 10 次提高到 30 次。请勿为其授予任何作用域:能够访问私有仓库的 token 会将这些仓库添加到 Agent 读取的搜索结果中。
Brave Search API key添加通用网页搜索作为证据来源。未设置时,不会查询网页。

sota-anchor 只会读取专为其命名的变量,因此不会获取你为其他工具设置的密钥,例如 GITHUB_TOKEN。在插件之外,请改为设置以下变量:

变量作用
SOTA_ANCHOR_GITHUB_TOKEN上述 GitHub token。
SOTA_ANCHOR_BRAVE_API_KEY上述 Brave Search 密钥。
SOTA_ANCHOR_CACHE_DIR缓存目录,用于存放目录和会话区块。默认值为 ~/.cache/sota-anchor。
SOTA_ANCHOR_TTL_MINUTES会话区块在钩子刷新前可保留的时间。默认值为 1440。
SOTA_ANCHOR_PROMPT_HOOK设为 1 可在 Claude Code 中启用提示词时的提醒。

用于无 Agent 可供判断的无头判定场景(例如 CI):

变量作用
SOTA_ANCHOR_API_KEY任意兼容 OpenAI 的密钥。
SOTA_ANCHOR_BASE_URLAPI 基础 URL。默认为 OpenRouter;如需使用其他提供商的密钥,请设置为对应地址。必须使用 https://;若服务运行在本机(localhost、127.0.0.1、::1),也可使用 http://。
SOTA_ANCHOR_MODEL用于判定的模型。未设置时,会从实时目录中选取。

它会发送和获取的内容

sota-anchor 通过网络执行的所有操作,以及它写入的每个文件。它不会收集遥测数据。

运行检查时,你的 Agent 根据请求编写的搜索查询,以及搜索范围放宽时生成的较短版本,会发送到以下公共 API,并附带 sota-anchor/<version> User-Agent:

服务端点接收的内容
arXivexport.arxiv.org/api/query搜索查询
Hugging Facehuggingface.co/api/papers/search搜索查询
GitHubapi.github.com/search/repositories搜索查询,以及你设置的 GitHub 令牌
npmregistry.npmjs.org/-/v1/search搜索查询
crates.iocrates.io/api/v1/crates搜索查询
Brave Searchapi.search.brave.com/res/v1/web/search搜索查询,以及仅当你设置了密钥时才发送的密钥

获取模型列表时,它会从公共端点 openrouter.ai/api/v1/models 获取数据。该端点无需密钥,也不会收到任何关于你的信息。会话钩子每天最多在后台刷新一次模型列表。

进行无头评估时,如果设置了 SOTA_ANCHOR_API_KEY,计划和为其找到的证据会发送到 SOTA_ANCHOR_BASE_URL 指定的 API;除非你更改该变量,否则该地址为 openrouter.ai/api/v1。sota-anchor check 和 MCP 工具都会执行此操作,包括插件的服务(如果该变量存在于 Claude Code 启动时的环境中)。如果未设置该变量,则由你的 Agent 进行评估,不会向大模型 API 发送任何内容。

首次启动时,uv 会从 PyPI 下载服务所需的 Python 包,版本严格遵循 uv.lock 中锁定的版本。

在磁盘上,它会将模型目录和会话区块写入 ~/.cache/sota-anchor,或写入 SOTA_ANCHOR_CACHE_DIR 指定的位置。只有在你运行 /sota-sync 和 sota-anchor sync 时,它们才会将带标记的区块写入当前项目的 CLAUDE.md、AGENTS.md 或 Cursor 规则中。选择启用的提示词钩子会在你的设备上读取提示词,以判断是否添加提醒,不会将其发送到任何地方。

故障排除

问题处理方法
在 Claude Code 中,check 服务无法连接确保已安装 uv 且它位于 PATH 中,然后启动新会话。首次启动会构建服务环境,因此需要多花几秒钟。/mcp 会显示服务状态。
其他 Agent 找不到 sota-anchor提供完整路径。uv tool dir --bin 会显示 uv 安装它的文件夹。
使用 uvx 时,OpenCode 报告服务启动失败将其 timeout 提高到 30000。OpenCode 默认等待 5 秒,而首次通过 uvx 启动时,下载包需要更长时间。
检查提示未找到任何内容查看列出的错误:某个来源可能触发了限流或超时。设置 GitHub 令牌以提高 GitHub 的限额,使用更大的 months 值重试,或调整查询措辞,将最具体的词放在前面。
模型列表缺失或过时运行 /sota-sync,或在 Claude Code 之外运行 sota-anchor sync。
check 提示 SOTA_ANCHOR_BASE_URL must start with https://使用服务提供方的 https:// URL。只有当服务运行在你自己的设备上时,才接受普通的 http://。

其他问题:请提交 issue。如遇安全问题,请改为遵循 SECURITY.md 中的说明。

局限

  • 是否运行检查由你的 Agent 决定。 在 Claude Code 中,针对上述类型的工程请求进行测试时,每次都会在编写任何代码之前运行检查,而对于普通请求则保持安静。在其他 Agent 中,必要时请明确要求运行。
  • 发现只是线索,不是结论。 一篇论文不能证明存在可用于生产环境的工具,一个代码仓库也不能证明工具有效。把发现当作进一步调查的理由。
  • 相关性基于词汇匹配。 结果必须提及查询词中的两个词,这能排除仅共享缩写、但不共享其他词的项目,却无法排除共享通用词的项目。你的 Agent 会查看每条描述并剔除无关内容,但仍会有一些噪声。
  • 不会搜索 PyPI。 它没有搜索 API。Python 包通常仍会通过其 GitHub 代码仓库被找到。
  • arXiv 响应慢且限制较多。 根据其使用条款,请求之间会间隔 3.5 秒。它的边缘节点会拒绝某些 HTTP 客户端,因此遭拒的请求会通过标准库重试。来源失败时会报告错误;在相信“限制依然成立”之前,请先阅读错误信息。
  • 检索会在 60 秒后停止。 截止时间到时仍在运行的来源会保留已找到的内容并报告未完成的部分。
  • 模型列表可能已有一天未更新。 Hook 不会等待网络响应。运行 /sota-sync 可立即刷新列表。
  • 尚未针对在线服务商测试无头判定。 它通过了使用虚假模型的测试,但尚未进行真实 API 调用。

设计说明

  • 没有主题词典。 检索仅了解通用英语功能词,不了解任何领域的知识。查询会保留作者输入时的词序,并且会先从末尾开始逐步删词来放宽查询。
  • 使用 AND,而非 OR。 arXiv 会将 all:{phrase} 解释为对所有词进行 OR 查询;一次测试查询因此匹配了 329,590 篇论文,按日期排序后返回的都是关于任何主题的最新论文。查询词之间使用 AND,只有在没有结果时才会放宽查询。
  • 没有证据就不做判定。 空证据集不会进入判定步骤,因此 Agent 无法凭记忆得出过时判定。
  • 这是参考数据,不是指令。 会话区块会说明数据来源及用途,不会声称对读取它的模型拥有任何权威。先前的一种措辞确实带有此类意味,因此被宿主模型正确地拒绝,判定为提示词注入。
  • 没有硬编码模型。 分级会读取模型 ID 的结构:包含数字的 slug 令牌表示版本,字母令牌则属于同一系列。因此,gpt-4o 和 gpt-5.5 在命名变更后仍属于同一系列。当有更新的模型与其属于同一系列、模型落后于其服务商的最新版本超过过时阈值,或注册表已将其标记为过期时,该模型就会被视为已被取代。

开发

git clone https://github.com/luckmanqasim/sota-anchor
cd sota-anchor
uv sync --extra dev
uv run pytest            # all offline
uv run ruff check .
claude plugin validate .

测试套件不会访问网络或使用你自己的缓存。HTTP 请求通过 httpx.MockTransport 处理,大模型通过注入的虚假模型处理。每项测试都会获得独立的缓存目录,实际 DNS 查询会导致测试失败,Hook 测试则会将虚假的刷新工具放在 PATH 的最前面。CI 会使用 Python 3.11、3.12、3.13 和 3.14 在 Ubuntu 和 Windows 上运行测试。

背景

SciUnlearn(Paul、Patwardhan 和 Cohan,arXiv:2608.20960)发现,当前的机器遗忘方法“无法有效消除声明层面的知识,而且往往只能实现表面抑制”。如果无法从模型权重中彻底移除过时的声明,就必须在上下文中、模型即将基于过时认知采取行动的那一刻进行纠正。这正是 sota-anchor 发挥作用的地方。

此技能要求以断言—理由区块([SOTA ARBITER PARADIGM SHIFT])给出“已有某物能实现此功能”的判定。这是该基准中的四种 QA 格式之一,本项目借用了它的形式。以这种方式表述更新会让 Agent 更有可能据此采取行动,这是本项目的设计假设,并非论文的研究结论。

License

MIT © 2026 Luckman Qasim

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。