编写分诊手册
自动化需要一个 playbook,来告诉 Devin 你的团队是如何对 bug 进行分诊的——不仅仅是“修复 bug”,而是工程师实际会遵循的具体步骤。先复制
!triage 模板 playbook,并根据你的技术栈进行自定义。或者前往 Settings > Playbooks,使用宏 !triage-bug 创建一个新的 playbook。下面是一个示例:你的 playbook 越具体,Devin 的分诊效果就越好。参考你团队的实际做法——错误日志规范、测试框架、分支命名规则。有关如何编写高效 playbook 的更多信息,请参阅 playbook 文档,或者使用 Advanced Devin 为你生成一个 playbook。设置自动化触发器
现在将该 playbook 连接到 Linear,这样在 bug 被加上标签时就会自动触发。
- 前往 Settings > Integrations > Linear(如果尚未连接该集成,请先完成连接 — 参见设置指南)
- 在 Synced playbook labels 下,点击 Add playbook 并选择
!triage-bug—— 这会在 Linear 的 “Devin Playbooks” 标签组中创建一个对应的标签 - 向下滚动到 Automation triggers 并点击 Add trigger:
- Teams:选择提交 bug 的团队(例如 “Engineering”)
- Labels:选择
Bug(或你的团队用于缺陷报告的标签) - Playbook:选择
!triage-bug
- 保存该触发器
Bug 标签时),而不会对已经具有该标签的工单触发。这样就不会不小心在你现有的整个 backlog 上触发 Devin。要让 playbook 标签自动同步到 Linear,你的 Linear workspace 必须将 Manage workspace labels 设置为 All members(位于 Linear 的 Settings > Security 中)。如果未启用该设置,你需要在 Linear 中手动创建这些标签。
给 bug 打上标签,看看 Devin 如何排查
当一名工程师像这样在 Linear 工单上添加
Bug 标签时:ENG-487:用户在 /contact 页面上提交联系表单时看到 500 错误。问题从上周五的部署之后开始出现。堆栈跟踪指向Devin 会自动启动一次会话,并按照你的分诊 playbook 行动:src/lib/forms.ts中的validateEmail()。
- 阅读工单 —— 从 Linear 中拉取标题、描述和所有评论
- 搜索代码库 —— 找到
src/lib/forms.ts、src/routes/contact.ts中的路由处理器,以及表单校验测试 - 检查最近变更 —— 运行
git log --since="last Friday" -- src/lib/forms.ts,发现一个重构邮箱正则的提交
优化循环流程
在进行了几轮分诊之后,根据 Devin 做得好的部分以及仍然需要更多指引的地方来优化这一流程。基于真实会话改进 playbook。 如果 Devin 总是漏掉某些步骤(例如不检查日志或遗漏相关服务),就把这一步添加到你的
!triage-bug playbook 中。你可以使用 Advanced Devin 来分析过去的会话,自动改进你的 playbook,或者为 Devin 在所有会话中都应该遵循的模式创建 Knowledge 条目——比如「always check the error tracking dashboard first」或「our auth service logs are in CloudWatch, not Datadog.」。在准备好时添加修复 playbook。 一旦你信任 Devin 的分诊结果,创建第二个类似 !fix-bug 的 playbook,进一步推进流程——编写修复、添加回归测试并创建一个 PR。把它关联到单独的标签,这样你的团队就可以在「just tell me what’s wrong」和「fix it for me」之间进行选择: