Devin AI执行高颗粒度任务前必须拆解并注入精准上下文。第一步识别是否需拆解,第二步按“输入→处理→输出→验证”四段法切分,第三步遵循“三有”原则注入结构化、高精度上下文,第四步用可机读格式动态补全缺失信息。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

当你在Devin AI中提交“给内部管理系统加一个权限审批流”这类需求时,它不会直接开写代码——若不提前把任务拆成明确边界的小步骤并附上必要上下文,Devin大概率会在第三步卡住、生成错误API路径、或漏掉你已有的RBAC中间件逻辑。
第一步:识别任务是否属于高颗粒度类型
高颗粒度任务的典型特征是:涉及多个系统模块联动、存在隐性约束(如已有鉴权框架)、需跨角色确认逻辑(如申请人/审批人/管理员行为差异)、或输出物需多轮验证(如前端表单+后端校验+审计日志)。只要命中其中一条,就必须拆解。
不拆解的后果很直接:Devin会基于通用模板生成一套看似完整但无法接入你现有系统的审批流,比如硬编码用户ID为123,而你的系统用的是UUID格式;或者忽略你已在middleware/auth.ts中定义的canApprove()函数,另起炉灶重写权限判断。
第二步:按“输入→处理→输出→验证”四段法切分原子任务
方法一:人工预拆解(推荐用于首次交付关键功能)
① 输入:从你当前系统中提取3类原始材料——用户角色定义(roles.json)、待审批资源的API路径列表(如GET /api/v2/orders/{id})、已有权限检查代码片段(粘贴真实代码,非伪代码);
② 处理:明确告诉Devin“仅修改src/modules/permissions/下文件,禁止新增目录”,并指定语言版本(如TypeScript 5.4+,因你项目tsconfig.json里启用了exactOptionalPropertyTypes);
③ 输出:要求它返回可直接运行的diff块,每处修改必须标注对应Jira工单号(如PROJ-882);
④ 验证:强制它在沙箱中执行npm run test:permissions,并将失败用例截图嵌入回复。
方法二:用Devon式规划器自动生成子任务清单
在app.devin.ai对话框中输入:“请分析仓库中所有含‘approval’关键词的文件,列出当前审批逻辑的3个断点(如缺少撤回接口、无审批时效限制、未记录操作人IP),并为每个断点生成1个可独立执行的修复任务描述。” Devin会返回带编号的子任务列表,你只需勾选要优先执行的1~2项,它立刻进入该子任务的执行器模式。
第三步:上下文注入必须满足“三有”原则
有结构:把背景信息分类打包,不要堆砌文字。例如:
【技术栈】Next.js 14 App Router + Prisma ORM + Clerk认证
【约束条件】所有API路由必须走src/app/api/xxx/route.ts,禁止使用pages目录
【已有资产】已存在/src/lib/permissions/role-checker.ts,导出函数checkRole(action: string, resourceId?: string)
有精度:提供真实代码片段而非描述。比如不要说“我们用JWT校验”,而要粘贴verifyToken()函数的6行核心逻辑,否则Devin会按Express默认方案生成Bearer token解析,与你Clerk集成的session cookie机制冲突。
【关键前提】必须提供最近一次成功部署的Git commit hash(如a1b2c3d)和CI流水线名称(如deploy-to-staging)——Devin依赖这个hash定位沙箱环境中的代码快照,若提供master分支名,它可能拉取到你尚未合并的实验性改动,导致测试通过但线上报错。
第四步:执行中动态补全缺失上下文
当Devin在执行某子任务时返回“需要更多关于审批超时策略的信息”,不要直接回复“按24小时处理”,而是提供可机读的配置片段:
```json
{"defaultTimeoutHours": 24,"escalationRules": [{"role": "manager","timeoutHours": 4},{"role": "director","timeoutHours": 2}]
}```
这一步操作起来很简单,直接把JSON块复制进对话框即可。Devin能解析该结构并自动生成对应的Prisma schema更新语句和超时定时任务调度逻辑。
若你只回复文字描述,Devin会自行推断字段名(如把escalationRules猜成escalation_policy),导致后续数据库迁移失败。

















