要用devin ai完成可交付开发任务,必须明确功能边界、验收标准和异常路径:用动词开头写主谓宾功能句;列布尔式验收条件或覆盖边界的样例;声明每种异常的响应动作及禁止静默吞掉的情形;末尾单独一行指定output format。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

要用Devin AI完成一个可交付的开发任务,必须让AI清楚知道功能边界、验收标准和异常路径,否则它可能写出能跑但无法上线的代码。
明确核心功能描述
第一步:用动词开头写一句完整主谓宾句子,说明这个功能“对什么输入,做什么样的事,产生什么输出”。
例如:“接收用户提交的JSON格式订单数据,校验必填字段是否为空、金额是否为正数,返回结构化错误信息或生成唯一订单号。”
这一步不能写成“实现订单校验功能”——Devin会按自己理解补全逻辑,比如自动加数据库写入或引入未声明的第三方库。【功能描述缺失主语和约束条件,Devin将自行假设技术栈】
定义可验证的验收标准
方法一:用布尔表达式列出硬性条件
• 所有字段校验失败时,返回HTTP 400状态码
• 成功时返回JSON,包含order_id(UUIDv4格式)、created_at(ISO 8601字符串)、status=“pending”
• 单次请求处理耗时≤150ms(本地测试环境)
方法二:提供真实样例输入与期望输出(Few-shot)
输入:{"user_id":"U789","amount":0,"items":[]}
期望输出:{"error":"amount must be positive","field":"amount"}
注意:样例必须覆盖边界值,比如amount=-1、amount=0、amount=999999999.99——Devin会严格按样例泛化,漏掉一种就可能不处理。
强制声明异常处理路径
① 列出所有必须拦截的异常类型:空指针、JSON解析失败、金额溢出、网络超时、并发冲突。
② 对每种异常,指定响应动作:返回特定错误码+消息 / 降级为默认值 / 记录告警日志 / 调用备用服务。
③ 明确哪些异常【禁止静默吞掉】——例如“数据库连接失败必须抛出503并附trace_id”,否则Devin默认会重试3次后返回空结果。
这一步若省略,Devin将按Python/Node.js常见框架默认行为兜底,而该行为往往不符合你的SRE规范。
输出格式与结构约束
在提示词末尾单独起一行,用英文冒号分隔格式要求:
Output format: Python 3.11 function with type hints, no external dependencies, docstring in Google style, comments only for non-obvious logic.
如果需要配套单元测试,追加一句:Include pytest test cases covering all error branches and one success case.
Devin对Output format指令响应极强,但只认紧贴末尾的这一行——中间插入任何其他文字都会导致格式失效。











