use-case

AI 编码模型选择与调用

直接答案编码模型选型应以真实仓库任务的补丁正确率、测试通过率、工具成功率、延迟和成本为依据,而不是模型广场描述或单项榜单。

更新 · 审核信息

先定义编码任务

代码补全、单文件问答、仓库级修改、调试和长程 Agent 是不同任务。先记录可访问文件、工具、语言、测试命令、最大执行时间和允许的外部网络,再选择支持所需上下文与工具的模型。

推荐工作流

  1. 只提供完成任务所需的代码和约束,避免无界塞入仓库。
  2. 要求模型先定位证据,再生成最小补丁。
  3. 在隔离环境运行格式化、静态检查和测试。
  4. 把失败输出反馈给模型,但限制循环次数和总 token。
  5. 由人审查安全、迁移和不可逆操作。

API 形态

简单生成可使用 Chat Completions 或 Responses;需要文件搜索、Shell 或编辑工具时,使用结构化工具调用并验证参数。模型提出命令不等于获得执行权限,工具层必须做路径、超时和网络限制。

如何评测

建立来自真实缺陷的固定集合,统计补丁适用率、测试通过率、首次成功率、回退次数、延迟和总成本。把“拒绝危险操作”和“发现需求不完整”作为正确行为计入。

常见失败

上下文污染、测试泄漏、依赖版本不一致和对生成代码的盲目信任比型号差异更常见。不要把模型自行声称的完成当作验收;以代码差异、测试和运行结果为证据。

适用场景

  • 代码补全与重构
  • 仓库级诊断
  • 长程编码智能体

API 协议

  • /v1/responses
  • /v1/chat/completions
  • /v1/messages

FAQ

编码任务应该用 Chat、Responses 还是工具调用?

单次解释或代码生成可用模型实际支持的 Chat/Responses;读取文件、编辑代码或运行测试应使用结构化工具调用。迁移协议时要同时适配工具结果和流式字段,不能只替换端点。

模型返回了一条 Shell 命令,是否可以直接执行?

不可以。模型只提出建议,工具层必须限制工作目录、命令白名单、网络、超时和资源,并对删除、迁移、发布等不可逆操作要求人工确认。

怎样评测 AI 编码模型,而不是只看生成代码是否像样?

使用真实仓库缺陷统计补丁适用率、测试通过率、首次成功率、工具失败、回退次数、延迟和总费用。把安全拒绝和发现需求不完整也视为正确结果。

为了让模型理解项目,应该上传整个代码库和密钥文件吗?

不应该。只提供任务所需文件与依赖信息,排除密钥、生产数据和无关目录;仓库级 Agent 也应使用最小权限、隔离执行和有限循环,避免隐私泄漏与失控 token 消耗。

官方来源

  1. OpenAI Models Official
  2. Claude Models Official