什么是agentic-eval?
做过AI应用开发的人都懂那种崩溃感——模型生成的代码跑不通,报告逻辑混乱,分析结果驴唇不对马嘴。单次生成(single-shot)的天花板就在那里,靠prompt硬调只能治标。agentic-eval这个Skill直接把”自我评估+迭代优化”的闭环机制带进来,让AI像有经验的工程师一样,生成之后自己审查、自己改,直到达标为止。
核心功能
agentic-eval围绕一个核心流程展开:生成 → 评估 → 批判 → 优化 → 输出,不满足标准就循环,满足了才交付。具体提供了三种主要模式:
- 基础反思循环(Basic Reflection):Agent对自己的输出进行结构化自评,用JSON格式返回每项标准的PASS/FAIL状态,失败项自动触发修改,最多迭代3次。
- 评估器-优化器分离(Evaluator-Optimizer):把生成和评估拆成两个独立组件,职责更清晰。评估器打分(0到1),低于阈值(默认0.8)就交给优化器处理,适合对质量要求极高的场景。
- 代码专项反思(Code-Specific Reflection):专门针对代码生成,先写代码,再自动生成pytest测试用例,跑测试,有报错就修,测试全过才算完成,真正的测试驱动开发闭环。
评估策略也不止一种。结果导向评估(Outcome-Based)判断输出是否达到预期目标;LLM-as-Judge让模型对比两个输出哪个更好;Rubric-Based按维度加权打分,比如准确性占40%、清晰度占30%、完整性占30%,量化评估结果一目了然。
适用平台
agentic-eval作为一个标准化的Skill,可以无缝接入主流AI编程助手和开发环境。无论你用的是Cursor、GitHub Copilot、Claude Code,还是OpenAI Codex、Gemini Code Assist,甚至国内的文心快码、腾讯云CodeBuddy、华为云CodeArts,都能直接加载这个Skill。它相当于给这些AI工具装了一个”质检模块”,让模型在你的IDE里就能完成自评和迭代,不需要额外搭建评估服务。
实操代码示例
下面是评估器-优化器模式的核心实现,逻辑非常直接:
class EvaluatorOptimizer:
def __init__(self, score_threshold: float = 0.8):
self.score_threshold = score_threshold
def evaluate(self, output: str, task: str) -> dict:
return json.loads(llm(f"""
Evaluate output for task: {task}
Output: {output}
Return JSON: {{"overall_score": 0-1, "dimensions": {{"accuracy": ..., "clarity": ...}}}}
"""))
def run(self, task: str, max_iterations: int = 3) -> str:
output = self.generate(task)
for _ in range(max_iterations):
evaluation = self.evaluate(output, task)
if evaluation["overall_score"] >= self.score_threshold:
break
output = self.optimize(output, evaluation)
return output
评估结果强制用JSON结构化输出,解析稳定,不会因为模型返回格式飘忽而崩掉整个流程。
优势分析
市面上大多数AI工具的优化思路是”换个更好的模型”或者”写更长的prompt”,但这两条路都有边界。agentic-eval的思路不一样——它在流程层面引入质量保障,不依赖单次生成的运气。
- 评估标准可以自定义,不同业务场景套不同的rubric,灵活度高。
- 迭代次数有上限(默认3次),不会陷入无限循环,生产环境可控。
- 内置收敛检测,如果连续迭代分数没有提升,提前终止,避免无效消耗。
- 全程记录迭代轨迹,方便调试和分析哪个环节出了问题。
应用场景
几个真实会用到的场景:
- 代码生成质量保障:让AI写业务逻辑代码,自动跑单测,有bug自动修,交付给你的是通过测试的版本,不是”看起来能跑”的版本。
- 报告和分析文档生成:给定评估维度(逻辑性、数据支撑、结论清晰度),AI生成后自评,不达标继续改,适合需要对外交付的分析报告。
- 合规内容审查:把合规要求写进rubric,生成的内容自动对照检查,减少人工审核压力。
- 多轮对话质量提升:在客服或问答场景中,对每次回复进行质量评分,低分回复触发重新生成,用户体验更稳定。
最佳实践
落地agentic-eval有几个关键点值得注意。评估标准要具体可测,”质量好”这种描述没用,要写成”代码通过所有单测”或”准确性评分≥4/5″这样的可量化标准,模型才能给出有意义的评估。
迭代上限建议设在3到5次,超过这个范围通常说明任务描述本身有问题,或者评估标准和生成能力之间存在根本性的gap,继续迭代意义不大,应该先回头检查输入。
评估结果务必用结构化JSON输出,不要让模型自由发挥格式,否则解析失败会让整个流程中断。同时要做好解析异常的兜底处理,生产环境里模型偶尔会返回格式不规范的内容。
全程记录迭代历史,包括每次的输入、评估分数和修改内容。这份轨迹数据不只是调试用的,积累下来还能帮你分析哪类任务的迭代效率最高,反过来优化你的prompt设计。
如果你在团队里推广这套评估模式,建议把常用的rubric模板统一管理起来,不同项目复用同一套标准,评估结果才有横向对比的价值。Skill优仓上已经收录了agentic-eval以及大量类似的工程化Skill,团队成员可以直接下载使用,省去重复造轮子的时间。








暂无评论内容