技能潮 SkillTide 提交收录
官方说明开源项目7 天前
martinholovsky/sota-agent-evals

martinholovsky/sota-agent-evals

Agent-loop evals for SOTA-skills via the Claude Agent SDK: isolated arms, container-scored hidden tests, no model judge
在 GitHub 查看 ↗直链 · 无中转页
★ 数取值
0 ★ · martinholovsky/sota-agent-evals · 取自该仓库的 GitHub 页面 · (2026-10-16 20:00:20 核对)
来源明细
从该仓库的 GitHub 页面直接读取 · 条目类型:开源项目
收录与活跃
收录于 2026-10-10 · 最近见到 2026-10-10 · 共见到 5 次 · 被 1 个来源列出
评分构成
综合分 103 · 1 个来源 · repo
常见问题(答案都来自我们的记录)
怎么安装?
我们【没有】从该仓库取到安装命令(我们的 install 覆盖率只有约 4%)。请看它的 README 或 releases 页。
它适合谁 / 用来做什么?
我们把它归在这些标签下: 开源项目。标签来自条目自身,不是我们强加的分类。
谁维护它、还在更新吗?
仓库 martinholovsky/sota-agent-evals;我们收录于 2026-10-10;最近见到 2026-10-10。这里没有"官方认证"或"质量评级"——我们只记录来源与时间。
第三方质量标记

sota-agent-evals

以下摘录自该仓库的 README(片段) · 在 GitHub 读完整 README →

Agent-loop evals for SOTA-skills, driven
through the Claude Agent SDK.
**Why this exists.** Every eval runner in SOTA-skills is a single chat-completion call with the
rules in the prompt: no tools run and nothing the model writes is executed (SOTA-skills
evals/README.md → *What the evals do not measure*). So its published lifts are real for
*"rules in the prompt, one response"* and unmeasured where the library is actually used: an
agent with tools, tests and a growing context. This repo measures that condition.
What it measures
Four arms, every case, interleaved:
| arm | skills/ installed | verified-done Stop hook |
|---|---|---|
| bare | no | no |
| library | yes (all of SOTA-skills skills/) | no |
| hook | no | yes (scripts/verified-done-hook.py) |
| library+hook | yes | yes |
Per run, three outcomes, **none judged by a model**:
- **hidden_pass** — the case's hidden/ tests, never visible to the agent, run against its
final workspace in a container with **no network** (podman or docker).
- **unverified_done** — the run ended normally, the tree changed, and no test command passed,
unpiped, after the agent's last edit. This is the hook's target.
- **contamination** — a bare/hook arm that touched the library, or a library arm whose init
never listed the skills. A contaminated row is not evidence about its arm.
Cost, turns and wall time are recorded per run from the SDK's ResultMessage.
Isolation — why each run gets its own config directory
The SDK's default (setting_sources=None) loads **all** of the operator's settings: their
global CLAUDE.md, installed skills and hooks, in every arm. SOTA-skills' own earlier live-agent
runs had a "bare" arm load the router that way. Here every run gets a fresh CLAUDE_CONFIG_DIR,
setting_sources=["user"] (= that directory only), auto memory and claude.ai connectors off,
and CLAUDE_CODE_SUBPROCESS_ENV_SCRUB=1 so the agent's shell cannot read the API key. Paths are
neutral (w-…, c-…): an agent that can read its path must not learn its arm.
Whether CLAUDE_CONFIG_DIR relocates **user skills** is not stated in the docs, so it is not
assumed — preflight checks it in both directions (bare lists none, library lists them) and
fails otherwise. **Run preflight before every measurement.**
Safety defaults (security-relevant; change deliberately)
- The agent's Bash runs in the SDK command sandbox with failIfUnavailable: True (the Python
SDK's default would run unsandboxed with a warning) and allowUnsandboxedCommands: False;
permission_mode="dontAsk" denies any tool not listed.
- **Known gap, measured on the first live run:** with CLAUDE_CODE_SUBPROCESS_ENV_SCRUB=1
the CLI prints *"Permission mode forced to default"*, so dontAsk is NOT what runs. Tools in
allowed_tools are still pre-approved; what an unlisted tool does under default in a
non-interactive SDK session is not yet verified. The scrub is kept on purpose — it is what
stops the agent's shell reading the API key.
- **The sandbox is measured, not assumed:** python -m agent_evals sandbox-probe runs a fixed
command inside the agent's real sandbox and reads the Bash *tool output* (never the model's
reply). It fails closed if an API credential is readable or the probe never ran. Measured
2026-10-02 (Sonnet 5.5 via OpenRouter): KEYVARS=0, egress **403** (blocked by the sandbox
proxy), DNS **blocked** — against egress 200 and DNS resolving for the same command run
unsandboxed on the host. Idea from Google's Mantis toolkit (in-guest probe before any PoC).
- Scoring executes model-written code: in a container with --network=none, a memory and pid
cap. With no container runtime it refuses unless --unsafe-local-scoring is passed.
来源
github · https://github.com/martinholovsky/sota-agent-evals
按领域浏览
开源项目
收录于
7 天前

更多开源项目

查看开源项目全部 731 条 →

所属领域与标签

每个标签都能点进去看同类的全部条目。数字是当前库里的真实条数。

浏览全部领域 →

← 返回索引