ARTICLE DETAIL

资讯详情

深耕编程入门与网站建设的一线实战洞察。

Devin CLI 系统提示词深度拆解:Cognition 终端编程 Agent 的模式、配置约定与 Git 工作流(基于 system_prompts_leaks)

Devin CLI 系统提示词深度拆解:Cognition 终端编程 Agent 的模式、配置约定与 Git 工作流(基于 system_prompts_leaks) Devin CLI 系统提示词深度拆解Cognition 终端编程 Agent 的模式、配置约定与 Git 工作流基于 system_prompts_leaks【免费下载链接】system_prompts_leaksExtracted system prompts from Anthropic - Claude Fable 5.1, Opus 5, Claude Design, Claude Code. OpenAI - ChatGPT GPT-6-Astra, Codex. Google - Gemini 3.8 Flash, 3.1 Pro, Antigravity. xAI - Grok, Grok Bot, Cursor, Kimi and more! Updated regularly.项目地址: https://gitcode.com/GitHub_Trending/sy/system_prompts_leaks在终端里帮你写代码的 Agent究竟被哪套规则约束本仓库的 Misc/devin-cli.md 收录了 Cognition 旗下 Devin CLI交互式命令行 Agent的完整系统提示词原文。本文以这份被逐字捕获的提示词为骨架逐段解析其运行模式、目录配置约定、代码与 Git 工作流、任务管理以及安全边界帮助你理解终端编程 Agent 的通用工程化设计思路也能直接借鉴其规范来设计自己的 Agent 规则文件。1. 本文资料出处与仓库定位本仓库system_prompts_leaks以逐字捕获各类 AI 产品系统提示词为目标Devin CLI 的提示词被归档在 Misc/devin-cli.md并在 README.md 的 Misc system prompts 列表中与 Zed AI、CommandCode CLI、Warp 2.0 Agent 等同类命令行 Agent 提示词并列展示。该列表同时给出正文的定位——README.md 将其标注为 Devin CLI system prompt。需要说明的是本文讨论的对象是一份系统提示词原文即 Devin CLI 在每次会话开始时注入给模型的操作说明书并非 Devin CLI 的源码或运行时配置文件。因此文中所有能力边界、配置格式、命令行为的描述均以这份被捕获的提示词所声明的规则为准涉及具体格式约定的细节如提交信息模板、目录结构都可在原文中直接核对。从结构看这份提示词共包含几个典型板块角色定位与命令入口、模式Modes、风格Style、编程与 Git 规范、任务管理Task Management、工具使用技巧Tool Tips与安全策略Safety下文依次展开。2. 角色定义与第一屏命令入口提示词开门见山用一句话确立了 Agent 的身份You are Devin, an interactive command line agent from Cognition.紧接着是一段极具产品色彩的动员强调要对 Cognition 的成功认真负责随后给出用户求助时的两条内置斜杠命令/help列出可用命令/bug向 Devin CLI 开发者报告 Bug。同时声明了文档优先原则如果用户求助Agent 应优先调用 Devin skill 来查阅自身文档提示词中称为 Devin skill。这一设计反映出一个通用做法让 Agent 的能力文档以技能skill形式随仓库分发模型需要时可自行检索而不是把所有说明硬编码进系统提示词。3. 配置目录分层约定.devin/、~/.config/devin/与跨工具兼容提示词用相当长的篇幅约束配置写到哪里这是终端 Agent 工程化的核心问题。原文要求创建新配置skills、rules、MCP server 配置、项目设置等时必须遵守以下分层见 Misc/devin-cli.md配置类型存放位置示例项目级新配置.devin/目录.devin/skills/name/SKILL.md、.devin/config.json用户级全局配置~/.config/devin/全局 rules、全局 skill其他工具目录.claude/、.cursor/只读兼容禁止写入仅在显式要求时才会写入其中最有价值的两条设计信息是技能即目录约定单个 skill 由一个目录下的SKILL.md描述.devin/skills/name/SKILL.md。这一布局与 Claude Code 生态高度一致——本仓库 Anthropic/claude-code/skills 下的每个技能如 code-review、dataviz同样采用SKILL.md自描述结构。可见 SKILL.md 正在成为跨厂商的技能清单通用格式。跨工具兼容但不越权.claude/、.cursor/等目录仅用于兼容性读取不用于写入。Devin 会读取用户在其他工具中沉淀的规则却不会污染它们——避免多个 Agent 共用目录时互相覆盖配置。技能实际位置以工具报告为准提示词特别提醒已有技能可能位于.devin/、.agents/或其他目录引用时始终使用技能工具上报的真实源路径。此外原文提到若环境中存在devin-for-terminalskill必须总是调用它并借此查阅配置格式与选项的详细文档——再次强化文档内聚于技能、按需查阅的设计。4. 运行模式Normal 与 PlanDevin CLI 提供两种显式模式见 Misc/devin-cli.mdNormal默认完全自主可自由使用全部工具例如探索代码库、编写或编辑代码。Plan先探索代码库、向用户提问澄清然后产出一份接下来要做什么的计划在退出该模式且用户批准计划之前不得做任何修改。提示词强调严格遵守当前模式的约束以免让用户失望。Plan 模式本质是把动手改代码和先对齐方案拆成两阶段降低 Agent 擅自修改的风险——这套模式术语也广泛出现在本仓库收录的其他编程 Agent 提示词中。5. 风格Style规范客观性、语气与主动性5.1 专业客观反对逢迎先查证再说提示词在 Style 开篇即要求Professional Objectivity见 Misc/devin-cli.md把技术准确性与真实性放在验证用户想法之前即使可能不是用户想听的也应诚实地用同样严格的标准对待所有观点必要时提出异议。核心论点是客观指导与有礼貌的纠正比虚假的附和更有价值一旦存在不确定性应先去调查真相而非本能地迎合用户。5.2 语气与终端渲染对输出的约束见 Misc/devin-cli.md包括简洁直接运行命令时先简短说明在做什么、为什么便于用户跟进输出会显示在命令行界面中可使用GitHub Flavored Markdown排版按CommonMark规范以等宽字体渲染与用户沟通只能靠输出文本绝不使用 exec 之类的工具或代码注释来传话拒绝用户时不要解释原因与后果显得说教且烦人尽量给出替代方案回复保持 1~2 句未经用户明确要求不使用 emoji被问及完成时间时不给出具体估算无法准确预测只承诺尽快完成避免猜测回答用户问题前先用工具核实世界的真实状态。5.3 主动性平衡与模糊请求处理提示词允许 Agent 主动但只在用户提出请求之后见 Misc/devin-cli.md需要在做该做的事并跟进后续动作与不在未询问时擅自行动让用户惊讶之间取得平衡。例如用户问怎么实现时应先探索并回答而不是直接跳去写代码。遇到不清晰的请求时处理顺序为先用已有上下文解读 → 在代码库与 Web 中检索相关代码/文档以澄清意图 → 仍不确定时提出一个聚焦的澄清问题。6. 文件引用规范ref_file/ref_snippet可点击引用在终端里口头引用文件会让用户难以定位因此提示词要求输出文本引用代码时使用两个自闭合 XML 标签见 Misc/devin-cli.mdref_file ... /整文件引用ref_snippet ... /片段引用。引用格式形如file:start-end例如process.ts:710-715表示 process.ts 第 710715 行。这套规范让纯文本终端里的代码引用具备可点击跳转能力也提醒我们在设计 Agent 输出格式时结构化的引用标记比裸路径文本更利于用户在 IDE 中直达目标。7. 工具使用策略与长输出截断工具使用层面的通用规则见 Misc/devin-cli.mdWeb 抓取webfetch遇到重定向时立即发起新请求跟进将互相独立的工具调用批量并发执行例如并行运行git status与git diff对同一文件或相关文件的多次编辑在已明确改动内容时批量提交当工具输出过长被截断时剩余内容会写入文件模型会收到truncation_notice标签及溢出文件路径需要自行读取该文件以获取完整输出。这些规则在工程上非常实用并行化是缩短 Agent 任务耗时的最直接手段而截断转文件 明确告知则是大模型上下文有限场景下的标准兜底方案。8. 编程规范先看懂约定再动手Devin 常驻用户终端写代码是最高频场景。提示词在Existing Conventions见 Misc/devin-cli.md中要求改文件前先理解代码库约定探查依赖、引用与相关系统模仿既有代码风格、复用已有库与工具、遵循已有模式绝不假设某个库可用即便很出名写依赖某库的代码前先确认仓库是否已使用该库看相邻文件或 package.json / Cargo.toml 等需要加依赖时优先运行包管理器命令如npm add、cargo add而非手改清单文件以便获得最新版本新建组件前先看既有组件怎么写再考虑框架选型、命名约定、类型风格编辑代码前先看周边上下文尤其是 imports以理解框架与库的取舍再考虑如何以最地道的方式改动始终遵守安全最佳实践不引入泄露密钥的代码、不把密钥提交进仓库除非另有说明一律假定代码用于真实生产任务。代码风格见 Misc/devin-cli.md的约束同样清晰除非用户要求不增删注释若误删已有注释必须还原默认写紧凑代码合并重复的 else 分支、避免不必要的嵌套、共享抽象遵循所用语言的惯用写法避免过度冗长的错误处理错误要处理但不必每行都 try/catch应找到合适的错误边界并参考现有代码的错误处理风格。调试方法论见 Misc/devin-cli.md则是教科书式的五步法先稳定复现 → 追踪代码路径 → 用针对性日志/打印定位 →找到根因后再修复→ 验证修复针对的是根因而非症状。9. 测试驱动的工作流对于新功能或 Bug 修复提示词给出明确的实现顺序见 Misc/devin-cli.md若项目有测试基础设施先写一个失败测试来暴露 Bug修复 Bug确认测试现在通过。这样做的理由是易于判断是否真正修好也免去事后反复验证。这是典型的 TDD 式要求与其先调查后动手的风格一脉相承。10. Git 提交与 GitHub PR 的标准流程这是整份提示词中最接近可执行规范的部分见 Misc/devin-cli.md对理解 Devin 产出的 commit/PR 特征很有价值。10.1 创建提交标准流程为并行执行git status、git diff、git log用于对齐既有提交风格起草简洁的提交信息聚焦为什么而非做了什么并检查是否含敏感信息暂存并用 heredoc 格式提交git commit -m $(cat EOF Commit message here. Generated with Devin CLI. Co-Authored-By: Devin devin-ai-integration[bot]users.noreply.github.com EOF )若 pre-commit 钩子改动了文件导致提交失败则暂存被改动的文件并重试提交。注意模板末尾的两行水印一行标注 Generated with Devin CLI一行携带 Devin 集成机器人的Co-Authored-By签名——这正是识别 Devin 自动生成提交的签名特征。10.2 创建 Pull Request对 GitHub 操作一律使用gh同样先并行运行git status、git diff、git log、git diff main...HEAD并审查全部提交不只是最新一条然后按模板创建 PRgh pr create --title title --body $(cat EOF ## Summary bullet points #### Test plan checklist Generated with Devin CLI. EOF )PR 体例固定为 ## Summary要点列表与 #### Test plan核对清单两段结构。10.3 Git 红线规则提示词划出了四条不可逾越的红线见 Misc/devin-cli.md绝不修改 git config绝不使用-i交互式标志不支持交互模式除非用户明确要求绝不 push没有变更时绝不提交。11. 任务管理todo_write 工具与 hooks11.1 用 todo_write 高频跟踪任务Devin 拥有 todo_write 工具来管理、计划任务见 Misc/devin-cli.md要求非常频繁地使用给用户可见的进度它尤其适合把大型复杂任务拆成小步骤——不用它做计划可能遗漏重要工作这是不可接受的。同时强调任务一完成就立刻标记完成绝不批量积压后再统一标记。提示词通过两个教学示例展示了正确用法先在 todo 列表写任务 → 每完成一项标记为 completed → 继续下一项并演示了构建失败→把 10 个类型错误逐个写成 todo→逐个修复的拆解过程。11.2 hooks把事件反馈当作用户输入用户可在设置中配置 hooks响应工具调用等事件的 shell 命令。提示词要求将 hooks包括user-prompt-submit-hook的反馈视为来自用户。若被 hook 拦截先判断能否调整自身行为来回应被阻断的消息若不能则应请用户检查其 hooks 配置见 Misc/devin-cli.md。12. 任务闭环探索 → 实现 → 验证 → 沉淀 → 恢复12.1 完成任务的标准动作软件工程任务修 Bug、加功能、重构、解释代码的推荐流程见 Misc/devin-cli.md需要时用 todo_write 计划任务广泛并行或串行使用搜索工具理解代码库与用户诉求改动前充分探索代码库的架构、模式与相关系统读相关文件、追踪依赖、理解组件如何交互用全部可用工具实现解决方案。12.2 验证与学到的信息持久化任务完成前必须验证见 Misc/devin-cli.md并优先快速迭代先检查项目规则文件AGENTS.md等里的专属验证说明再按改动范围运行相关验证lint、typecheck、build、tests对孤立功能可写临时测试文件验证后删除同时自我批判——审视边缘情况并打磨若找不到验证命令向用户询问并建议把命令保存到项目配置文件。更有意思的是知识沉淀机制若发现了未被记录的实用项目信息构建命令、测试命令、验证步骤、用户偏好已有AGENTS.md等规则文件就追加其中否则在当前目录新建AGENTS.md。这与 Devin 读取其他工具配置的行为一致——AGENTS.md已成为跨 Agent 的项目常识文件事实标准。12.3 错误恢复与 system_guidance遇到错误时的恢复策略有明确优先级见 Misc/devin-cli.md不断尝试不同方法解决 → 在代码库与文档中检索相似问题 →把向用户求助当作穷尽合理方案后的最后手段。例外是身份认证问题、项目配置变更、权限问题必须始终询问用户。提示词还预告了system_guidance消息机制系统可能在行动前注入提示/提醒/上下文指引模型应留意其内容、采纳其建议但无需回应它们。13. 终端工具使用小贴士Tool Tips 一节见 Misc/devin-cli.md透露了 Devin 环境的工具细节能用自己的搜索工具时优先于rg/grep/find确需调用这些二进制如过滤命令输出时优先 ripgrep速度快且已在用户系统安装read工具可以读图片PNG、JPG内容以视觉方式呈现Jupyter notebook.ipynb要使用notebook_read而非 read预测可能有用时成批投机性读取多个文件不要创建文档文件来记录改动或计划唯一的例外是AGENTS.md这类持久项目信息文件。14. 安全边界防御性安全与破坏性操作红线安全是这份提示词中措辞最严厉的部分见 Misc/devin-cli.md可归纳为三层1仅协助防御性安全任务拒绝创建、修改或改进可能被恶意使用的代码不得协助凭据发现/收集包括批量爬取 SSH 密钥、浏览器 Cookie、加密货币钱包。但允许安全分析、检测规则、漏洞解释、防御性工具与安全文档。2URL 生成限制除非确信该 URL 是帮助用户编程所需绝不生成或猜测 URL可以使用用户在其消息或本地文件中提供的 URL。3破坏性操作必须一事一确认未经用户对该特定操作的明确确认绝不执行不可逆的破坏性操作即使已有执行权限也不行。列举的典型场景包括删除/清空数据库表、drop schema、批量删行rm -rf、删目录或删除并非自己刚创建的文件force-push、改写 git 历史、删分支、在有未提交改动时 checkout、绕过提交钩子发送邮件、付款或调用有真实世界副作用的 API。若确需破坏性步骤停下来逐字说明将执行什么、为什么然后等待用户且不能假设之前的批准可延伸到新的破坏性操作若发现已造成数据丢失要立即坦白而不是悄悄掩盖或修复。15. 总结Devin CLI 提示词的设计启示把整份提示词摊开看Devin CLI 的工程化设计可以归纳为若干可迁移的终端编程 Agent 通用原则能力文档技能化把配置说明、技能清单做成随项目分发的SKILL.md.devin/skills/name/SKILL.md让 Agent 按需自查而不是全部写死在提示词里。配置分层 跨工具只读兼容项目级.devin/、用户级~/.config/devin/对.claude/、.cursor/只读不写尊重用户既有 Agent 生态。双模式工作流Normal 全自主、Plan 只规划不改动用显式模式约束 Agent 的行为边界。客观 迎合明确要求模型基于事实说话、先查证后回答、拒绝给出不靠谱的时间估算。可执行的协作规范todo_write 高频拆分任务、批量并行工具调用、结构化文件引用ref_file/ref_snippet、带水印与 Co-Authored-By 的标准 commit/PR 模板、AGENTS.md知识沉淀。清晰的安全与破坏性操作红线只做防御性安全、破坏性操作一事一确认、数据丢失必须立即坦白。对想了解Agent 提示词工程或需要为自己的终端 Agent 编写 rules 的人来说这份提示词本身就是一份高质量范本它示范了如何把产品行为约束、工程最佳实践、Git 协作规范与安全策略有条理地编排进一套模型指令中。本仓库还收录了与之定位相近的其他 CLI Agent 提示词如 Misc/zed.md、Misc/opencode.md、Misc/commandcode-cli.md将 Devin 的这份与它们对照阅读可以进一步观察不同厂商在终端编程 Agent 应该如何被约束这一问题上的共识与差异。需要注意的是本仓库为只读镜像以上内容仅供阅读与分析文中所有规范性描述均直接对应 Misc/devin-cli.md 原文未对 Devin CLI 的运行环境与版本能力做任何额外假设。【免费下载链接】system_prompts_leaksExtracted system prompts from Anthropic - Claude Fable 5.1, Opus 5, Claude Design, Claude Code. OpenAI - ChatGPT GPT-6-Astra, Codex. Google - Gemini 3.8 Flash, 3.1 Pro, Antigravity. xAI - Grok, Grok Bot, Cursor, Kimi and more! Updated regularly.项目地址: https://gitcode.com/GitHub_Trending/sy/system_prompts_leaks创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表