1 分•作者: LucidLynx•3 个月前
返回首页
最新
1 分•作者: birdculture•3 个月前
1 分•作者: mog_dev•3 个月前
2 分•作者: thunderbong•3 个月前
2 分•作者: joe_the_user•3 个月前
1 分•作者: emadjumaah•3 个月前
2 分•作者: rbanffy•3 个月前
44 分•作者: vga1•3 个月前
15 分•作者: kiyanwang•3 个月前
5 分•作者: anitroves•3 个月前
只是好奇,对于那些只懂基础编程,并且在实践中学习的人来说,是否有更好的替代方案。
2 分•作者: whiteblossom•3 个月前
2 分•作者: kordlessagain•3 个月前
1 分•作者: watchready•3 个月前
2 分•作者: anotherCodder•3 个月前
1 分•作者: jasonpeacock•3 个月前
1 分•作者: klaussilveira•3 个月前
1 分•作者: klaussilveira•3 个月前
1 分•作者: jms703•3 个月前
1 分•作者: jruohonen•3 个月前
2 分•作者: edonadei•3 个月前
用于 Claude Code 和 Codex 的技能很难测试。我所说的“难”,是指没有标准化的测试方法。你对某个技能进行一次评估,看起来似乎有效,然后就发布了。接着,新的超级模型发布了(有人在用 GLM 5.2 吗?),它会在不知不觉中导致技能的某些部分失效,而你直到用户抱怨才会发现。
我也遇到了同样的问题,于是我尝试构建一个轻量级的工具来解决这个问题。Caliper。
它是一个本地的、轻量级的框架,可以在隔离的环境中运行一个技能 k 次,并给你一个 pass@k 分数(即在 k 次尝试中成功的次数)。由于它是一种非确定性技术,你不能只说“它成功了一次”。你需要回答它在 k 次尝试中通过了多少次。
你可以在 YAML 规范中定义成功。我选择 YAML 是为了保持模式并使其对人类仍然易读。你可以使用 LLM 裁判、Python 断言,或者两者兼有:
这是一个简单的 JSON 提取评估示例,你可以在 YAML 文件中这样写:
```yaml
tasks:
- name: 将行动项提取为干净的 JSON
prompt: "读取 /tmp/transcript.txt 并将行动项写入 /tmp/actions.json。"
expect: "一个有效的 JSON 数组,其中每个项目都有 owner、task、due。没有 markdown 围栏。"
assert: |
import json
items = json.load(open("/tmp/actions.json"))
assert isinstance(items, list)
assert all({"owner","task","due"} <= i.keys()
for i in items)
```
然后通过 CLI 运行:
`caliper run extract-actions.eval.yaml --k 5 --baseline`
`--baseline` 标志的妙处在于,它会在没有技能的情况下重新运行所有内容,这样你就可以看到是技能在起作用,还是基础代理本来就会通过:
```
ID Task k(5) pass@k
task-1 将行动项提取为 JSON 5/5 100% PASS
有技能 100%
无技能 60%
差值 +40%
```
大多数模型都能在大部分时间里正确处理 JSON(JSON 提取在两年前就已经解决了)。但问题就在于“大部分时间”这个漏洞。这个差值显示了技能的实际帮助。 (它有时是 0%,有时是 -100%!)
我还创建了两个技能,你可以立即在自己喜欢的框架中使用,例如 Claude Code、Codex 或 Pi:
* `evaluate-skill`:在不离开工作流程的情况下运行和管理评估。
* `grill-skill`:读取你的 SKILL.md,采访你关于“好”的标准,编写一个包含 3 个任务的规范(正常路径、边缘情况、对抗性),然后运行它。
你可以使用以下命令安装该技能:`npx skills@latest add edonadei/caliper`
目前我支持 claude-code、codex、pi、claude-api、openai-api。你可以将代理和裁判作为独立的后端运行,因此你可以在一个后端上运行一个技能,并用另一个后端进行裁判。
GitHub: [https://github.com/edonadei/caliper](https://github.com/edonadei/caliper)
PyPI: [https://pypi.org/project/caliper-eval/](https://pypi.org/project/caliper-eval/)
当然,这只是第一步。我认为自动评分层可以得到极大的改进,在创建和迭代评估规范方面提供更多指导,支持更多框架,为什么不将这一层纳入一个更大的自我改进系统中呢?
如果你也在构建代理评估,我非常希望能了解你是如何处理的。