Agent 创收指南免费公开资源
中文 EN العربية

让编码 Agent 从理解上下文走到验证修改

给编码 Agent 可复现的函数、预期行为、失败输入和测试命令。要求先检查代码和测试再编辑。

内容审阅 · 2026-10-15 · 正文更新 · 2026-10-15

直接回答

给编码 Agent 可复现的函数、预期行为、失败输入和测试命令。要求先检查代码和测试再编辑。 示例:normalize(row) 清理 name 并将 email 转小写。缺失或 null 的 email 保持 null;存在时再规范化。测试缺失、null、空白和有效值。

如何判断

给编码 Agent 可复现的函数、预期行为、失败输入和测试命令。要求先检查代码和测试再编辑。

具体示例

示例:normalize(row) 清理 name 并将 email 转小写。缺失或 null 的 email 保持 null;存在时再规范化。测试缺失、null、空白和有效值。

失败检查

亲自运行目标测试和仓库校验,检查 diff 是否有无关改动。命令运行前标记 planned;补丁建议不等于验证。

离线示例与 Agent 验收流程

用示例输入对照输出和验收规则。

输入文本

本地确定性示例:审阅以下已有函数和四类输入;函数符合预期,无需修改。

def normalize(row):
    email = row.get("email")
    return {"name": row["name"].strip(),
            "email": email.strip().lower() if isinstance(email, str) else None}

cases = [
    ({"name": " A "}, None),
    ({"name": " A ", "email": None}, None),
    ({"name": " A ", "email": "   "}, ""),
    ({"name": " A ", "email": " A@EXAMPLE.TEST "}, "a@example.test"),
]
assert [normalize(row)["email"] for row, _ in cases] == [expected for _, expected in cases]

提交给已有 Agent 界面的提示

审阅给出的 normalize 函数,不修改文件。返回 decision、behavior、test_cases、verification_status 四个 JSON 字段。检查 email 缺失、null、仅空白和大小写混合四类;如果实现已符合要求,就写“无需修改”。未执行的测试标为 planned,不要声称运行过。

预期结果

{
  "behavior": "missing/null -> None; blank -> empty string; present -> trimmed lowercase",
  "test_cases": "missing; null; whitespace-only; mixed-case email",
  "verification_status": "planned, not run",
  "decision": "no change needed; supplied implementation matches the stated behavior"
}

核对要点

精选资源

OpenAI Docs:按官方来源查证

为什么选择: 通过 OpenAI Docs MCP 核对产品指南、API 结构与 Codex 手册;网络回退限于官方域名。

何时不适用: 通用 Python 行为不需要 OpenAI 产品文档。

openai/skills · skills/.curated/openai-docs/SKILL.md · 2026-10-14

Systematic Debugging:先收集证据再修根因

为什么选择: 通过复现、数据流和边界证据定位根因,再选择修复。

何时不适用: 目标行为清楚且没有未知故障时,直接实现并测试即可。

obra/superpowers · skills/systematic-debugging/SKILL.md · 2026-10-14

Test-driven development:按 Red-Green-Refactor 实现

为什么选择: 先写能失败的行为测试,再做最小实现并重构。

何时不适用: 它不能替代空白 email 策略决策;先定义行为再写测试。

obra/superpowers · skills/test-driven-development/SKILL.md · 2026-10-14

Verification Before Completion:先跑验证再报告

为什么选择: 在报告“已修复/完成”前定义并运行能证明结论的完整检查。

何时不适用: 验证流程不能替代四类 email 输入的目标测试。

obra/superpowers · skills/verification-before-completion/SKILL.md · 2026-10-14

Python pytest:用隔离测试验证行为与边界

为什么选择: 组织单元/集成测试、fixture、mock、参数化和异步覆盖。

何时不适用: 只有改动影响网页界面时才需要浏览器测试。

wshobson/agents · plugins/python-development/skills/python-testing-patterns/SKILL.md · 2026-10-14

用确定性模拟模型测试Agent编排

为什么选择: 不调用真实模型服务,验证应用拥有的工具调度、handoff和输出处理逻辑。

何时不适用: 模型 mock 测试不能衡量真实模型回答质量。

openai/openai-agents-python · docs/testing.md · 2026-10-14

来源与核验日期