返回顶部
a

agentic-eval智能评估

|

作者: admin | 来源: ClawHub
源自
ClawHub
版本
V 1.0.0
安全检测
已通过
346
下载量
免费
免费
0
收藏
概述
安装方式
版本历史

agentic-eval

智能体评估模式

通过迭代评估与优化实现自我改进的模式。

概述

评估模式使智能体能够评估和改进自身输出,从单次生成转向迭代优化循环。

生成 → 评估 → 批评 → 优化 → 输出
↑ │
└──────────────────────────────┘

适用场景

  • - 质量关键型生成:需要高准确度的代码、报告、分析
  • 具有明确评估标准的任务:存在定义明确的成功指标
  • 需要特定标准的内容:风格指南、合规要求、格式规范

模式一:基础反思

智能体通过自我批评评估和改进自身输出。

python
def reflectandrefine(task: str, criteria: list[str], max_iterations: int = 3) -> str:
通过反思循环生成内容。
output = llm(f完成以下任务:\n{task})

for i in range(max_iterations):
# 自我批评
critique = llm(f
根据以下标准评估此输出:{criteria}
输出:{output}
以JSON格式对每项进行评分:通过/失败,并附上反馈。
)

critique_data = json.loads(critique)
allpass = all(c[status] == PASS for c in critiquedata.values())
if all_pass:
return output

# 根据批评进行优化
failed = {k: v[feedback] for k, v in critique_data.items() if v[status] == FAIL}
output = llm(f针对以下问题进行改进:{failed}\n原始内容:{output})

return output

关键洞察:使用结构化JSON输出,确保批评结果的可解析性。



模式二:评估器-优化器

将生成和评估分离为独立组件,明确职责分工。

python
class EvaluatorOptimizer:
def init(self, score_threshold: float = 0.8):
self.scorethreshold = scorethreshold

def generate(self, task: str) -> str:
return llm(f完成:{task})

def evaluate(self, output: str, task: str) -> dict:
return json.loads(llm(f
评估任务输出:{task}
输出:{output}
返回JSON格式:{{overall_score: 0-1, dimensions: {{accuracy: ..., clarity: ...}}}}
))

def optimize(self, output: str, feedback: dict) -> str:
return llm(f根据反馈进行改进:{feedback}\n输出:{output})

def run(self, task: str, max_iterations: int = 3) -> str:
output = self.generate(task)
for in range(maxiterations):
evaluation = self.evaluate(output, task)
if evaluation[overallscore] >= self.scorethreshold:
break
output = self.optimize(output, evaluation)
return output



模式三:代码特定反思

面向代码生成的测试驱动优化循环。

python
class CodeReflector:
def reflectandfix(self, spec: str, max_iterations: int = 3) -> str:
code = llm(f为以下需求编写Python代码:{spec})
tests = llm(f为以下需求生成pytest测试:{spec}\n代码:{code})

for in range(maxiterations):
result = run_tests(code, tests)
if result[success]:
return code
code = llm(f修复错误:{result[error]}\n代码:{code})
return code



评估策略

基于结果

评估输出是否达到预期结果。

python
def evaluate_outcome(task: str, output: str, expected: str) -> str:
return llm(f输出是否达到预期结果?任务:{task},预期:{expected},输出:{output})

大模型作为评判者

使用大模型比较和排序输出。

python
def llmjudge(outputa: str, output_b: str, criteria: str) -> str:
return llm(f根据{criteria}比较输出A和B。哪个更好,为什么?)

基于评分标准

根据加权维度对输出进行评分。

python
RUBRIC = {
accuracy: {weight: 0.4},
clarity: {weight: 0.3},
completeness: {weight: 0.3}
}

def evaluatewithrubric(output: str, rubric: dict) -> float:
scores = json.loads(llm(f对每个维度进行1-5分评分:{list(rubric.keys())}\n输出:{output}))
return sum(scores[d] * rubric[d][weight] for d in rubric) / 5



最佳实践


实践原理
明确标准预先定义具体、可衡量的评估标准
迭代限制
设置最大迭代次数(3-5次),防止无限循环 |
| 收敛检查 | 如果输出分数在迭代间没有提升,则停止 |
| 记录历史 | 保留完整轨迹,便于调试和分析 |
| 结构化输出 | 使用JSON格式,确保评估结果的可解析性 |


快速入门清单

markdown

评估实施清单

设置

  • - [ ] 定义评估标准/评分标准
  • [ ] 设置足够好的分数阈值
  • [ ] 配置最大迭代次数(默认:3)

实施

  • - [ ] 实现generate()函数
  • [ ] 实现evaluate()函数,输出结构化结果
  • [ ] 实现optimize()函数
  • [ ] 连接优化循环

安全

  • - [ ] 添加收敛检测
  • [ ] 记录所有迭代,便于调试
  • [ ] 优雅处理评估解析失败情况

标签

skill ai

通过对话安装

该技能支持在以下平台通过对话安装:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 agentic-eval-1776185846 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 agentic-eval-1776185846 技能

通过命令行安装

skillhub install agentic-eval-1776185846

下载

⬇ 下载 agentic-eval v1.0.0(免费)

文件大小: 2.79 KB | 发布时间: 2026-4-15 10:35

v1.0.0 最新 2026-4-15 10:35
Import from LeoYeAI/openclaw-master-skills on 2026-03-09

Archiver·手机版·闲社网·闲社论坛·羊毛社区· 多链控股集团有限公司 · 苏ICP备2025199260号-1

Powered by Discuz! X5.0   © 2024-2025 闲社网·线报更新论坛·羊毛分享社区·http://xianshe.com

p2p_official_large
返回顶部