ChatGPT AutoExpert(Developer Edition)自定义指令全解析:用一份提示词把 ChatGPT 调教成资深结对程序员

发布时间:2026/10/8 1:59:17
ChatGPT AutoExpert(Developer Edition)自定义指令全解析:用一份提示词把 ChatGPT 调教成资深结对程序员
提示工程AI 应用AI Agent【免费下载链接】ChatGPT-AutoExpert Supercharged Custom Instructions for ChatGPT (non-coding) and ChatGPT Advanced Data Analysis (coding).项目地址https://gitcode.com/gh_mirrors/ch/ChatGPT-AutoExpert点击查看免费下载本篇技术指南围绕开源仓库 ChatGPT-AutoExpert 的 Developer Edition 核心提示词文件 chatgpt__custom_instructions.md 展开系统讲解其基于 VERBOSITY 详细度 三段式响应协议 的代码生成控制机制从V[0-3]的详细度调节到每条回复开头的 Preamble语言/专家/计划声明、结尾的 Epilogue历史/源码树/下一步任务再到配套的autodev.py沙箱脚本与/slash命令体系。读完本文你将完整掌握这套自定义指令的工作原理、逐字段含义、安装激活流程以及如何在 ChatGPT Advanced Data Analysis 环境中用它管理跨会话的编码记忆。一、Developer Edition 是什么一条提示词如何重构 ChatGPT 的编码行为ChatGPT-AutoExpert 是 Dustin Miller 维护的一套用于增强 ChatGPT 输出质量的提示词工程方案仓库中分为两个版本Standard Editionstandard-edition/README.md面向非编码任务详细度档位为V[1-5]Developer Editiondeveloper-edition/README.md面向编码任务需要 GPT-4 与Advanced Data Analysis即 ChatGPT 的代码沙箱环境配合使用详细度档位为V[0-3]。本篇文章的绝对核心是 Developer Edition 中填入 ChatGPT Custom Instructions 第二个文本框的提示词文件 chatgpt__custom_instructions.md。它虽然只有三十多行却完整定义了 ChatGPT 在编码场景下的人格与响应协议。其设计思想README 中明示每次 ChatGPT 写代码前都被要求先输出一段 Preamble自动调整其注意力机制去关注你的需求、所需代码类型与执行计划每次回复末尾再输出一段 Epilogue把已完成的工作、写过的文件、类与符号的清单持久化在上下文里即使对话上下文不断变长也不会丢失关键记忆。它的工作方式可以用一条链路概括用户输入含 V 前缀 → Preamble语言 专家、包含项、需求、计划 → 按 CODING STYLE 编写代码 → EpilogueHistory、Source Tree、Next Task → 用户上传 autodev.py 后附加 /slash 命令与跨会话记忆恢复能力二、VERBOSITY用V[0-3]一键控制代码详细度原文档开篇即定义了编码场景下的详细度档位前缀含义说明V0code golf极简代码追求最短最巧类似代码高尔夫V1concise简洁但不过度炫技V2simple简单清晰默认档V3verbose, DRY详尽且格外注重 DRYDont Repeat Yourself原则会抽取函数使用方式非常直接把请求以V[0-3]前缀开头即可例如V0 写一个解析 CSV 的函数。该声明会随请求一并被 Preamble 中的Requirements字段读取并执行。值得对比的是Standard Edition 的详细度范围是V[1-5]V3为默认的 detailed且 Standard Edition 面向的是答案的详尽程度而 Developer Edition 的V[0-3]面向的是生成代码的冗余程度——最低档甚至允许刻意写golf 式紧凑代码最高档则要求模块化抽取与 DRY 重构。这是两个版本在提示词语义上的本质区别。从源码佐证看V语义的分化也体现在配套文件上Standard Edition 的 chatgpt_GPT4__about_me.md 将其定义为答案长度档位而 Developer Edition 的 chatgpt__about_me.md 中的 Coding Style 规则Prioritize modularity, DRY, performance, and security与V3的 DRY 要求一脉相承。三、ASSISTANT_RESPONSE逐行拆解核心响应协议原文档正文以# ASSISTANT_RESPONSE为标题声明 ChatGPT 的角色是用户资深的、好奇的、聪明的结对程序员pair programmer并规定逐步进行Lets go step by step。整段协议由三大步骤构成。步骤 1开场即 Preamble——先声明上下文再动手除非只是回答一个快速问题否则每条回复必须以如下模板开头**Language Specialist**: {programming language used} {the subject matter EXPERT SPECIALIST role} **Includes**: CSV list of needed libraries, packages, and key language features if any **Requirements**: qualitative description of VERBOSITY, standards, and the software design requirements ## Plan Briefly list your step-by-step plan, including any components that wont be addressed yet四个字段各自的职责Language Specialist锁定编程语言与领域专家角色如JavaScript Software Engineer通过角色术语激活模型对该领域风格的注意力Includes用逗号分隔列出需要的库、包与关键语言特性相当于预先锚定待使用技术栈Requirements用文字描述 VERBOSITY 档位、编码标准与软件设计要求把V2、V3这样的缩写转化为可执行的定性描述Plan简要列出逐步计划并明确本回合暂不处理的部分为多轮任务铺路。developer-edition 的 README 给出了一个完整的 Preamble 实战示例见 developer-edition/README.md用户请求展示一个包含类与方法、以及若干顶层函数的示例 JavaScript 文件暂不使用沙箱ChatGPT 的开场即为Language Specialist: JavaScript Software EngineerIncludes: ES6 syntax, classes, methods, and functionsRequirements: V2, focusing on readability, modularity, and standard JavaScript conventions.PlanCreate a JavaScript file outline in text form.Define two classes with methods.Add two top-level functions.步骤 2以专家角色执行编码风格协议要求 ChatGPT 以所选语言的专家角色回应并同时遵守 chatgpt__about_me.md 中定义的Coding Style规则代码必须以单行注释的形式标明路径/文件名注释必须描述**意图purpose**而非效果effect优先保证模块化、DRY、性能与安全。同时遵循其Coding process编码流程除非被告知避免使用 Jupyter展示简洁的逐步推理优先说明本回合要处理的任务/步骤一次完成一个文件再进入下一个若无法完成代码添加TODO:注释必要时主动中断并请求继续。关于代码编辑方式about_me 文件还规定了三档优先级选择① 返回完整编辑后的文件② 谨慎地使用 Jupyter 拆分、编辑、拼接并保存③ 只返回被编辑符号的定义。这套规则保证了长文件也能在沙箱中安全地增量修改。步骤 3结尾即 Epilogue——用 History / Source Tree / Next Task 锁住记忆每条回复结束时ChatGPT 必须考虑整个会话并输出如下结尾块--- **History**: complete, concise, and compressed summary of ALL requirements and ALL code youve written **Source Tree**: (sample, replace emoji) - (saved: link to file, ⚠️unsaved but named snippet, no filename) file.ext - Class (if exists) - (✅finished, ⭕️has TODO, otherwise incomplete) symbol - global symbol - etc. - etc. **Next Task**: NOT finishedshort description of next task FINISHEDlist EXPERT SPECIALIST suggestions for enhancements/performance improvements.三段各自的职能History对全部需求与全部已写代码的完整、简洁、压缩的总结防止长会话中早期内容被遗忘Source Tree以缩进树形结构列出所有文件及其中的类、方法、全局符号并用 emoji 标注每个符号的保存状态与完成状态Next Task若任务未完成写简短的下步任务描述若已完成则列出专家级增强/性能改进建议。README 中的 Epilogue 示例见 developer-edition/README.md展示了这个结构在实际会话中的样子History: Provided a sample JavaScript file with two classes (CalculatorandAdvancedCalculator) and their methods, along with two top-level functions (addandsubtract).Source Tree:⚠️ sample.js Calculator✅ add✅ subtract AdvancedCalculator✅ multiply✅ divide✅ add (global function)✅ subtract (global function)Next Task: No pending tasks. Would you like to implement this sample in a real JavaScript file?协议还明确要求尽量不省略或裁剪任何代码复杂任务要拆解到多个聊天回合完成并在需要时请求用户继续在明知下个回合要修改的位置预先埋下// TODO:注释。Emoji 状态字典Epilogue 中使用的状态 emoji 由 README 的 Emoji key 表见 developer-edition/README.md统一定义Emoji含义文件已保存到沙箱文件名可链接下载⚠️ChatGPT 生成了带文件名的代码片段但尚未保存ChatGPT 生成了代码片段但没有文件名类名如果使用了类✅符号函数/方法已完成⭕️符号尚未完成且带 TODO 注释符号尚未完成且没有 TODO 注释这套状态可视化让用户在每一回合都能一眼看出哪些文件已落盘、哪些类还欠着什么也正是跨会话恢复记忆的基础数据。四、Slash 命令沙箱内的记忆与工程化工具链命令一览配合上传的autodev.pyDeveloper Edition 在会话中获得五个/slash命令见 developer-edition/README.mdSlash Command描述/help展示有哪些可用 slash 命令/install_ctags若附带了ctags发布包则解压并安装到沙箱实验性/ctags若ctags已安装则为已保存的代码构建 ctags 文件实验性/memory保存文件、会话历史等并打包成 zip 供下载/stash准备暂存一段文本稍后用/recall取回/recall使用命令后的键名或描述取回先前/stash的文本底层实现AutoDev 类与 autodev_functions 字典这些命令并非硬编码在提示词里而是由 autodev.py 动态生成的。脚本顶部定义了SLASH_PREFIX/SLASH_SUFFIX系统提示模板并声明执行 slash 命令期间不遵循 ASSISTANT_RESPONSE 的指令见 autodev.py。核心结构是AutoDev类autodev.py每个静态方法对应一条 slash 命令方法 docstring 即该命令的执行指令help()让 ChatGPT 读取autodev_functions字典并输出一张 Markdown 命令表autodev.pystash()/recall()操作全局字典autodev_stash实现以单个名词为键暂存文本、按键名取回的临时记忆autodev.pyinstall_ctags()校验用户是否上传了uctags-*.tar.xz再调用_install_ctags()解压、寻找bin/ctags并移动至~/.local/bin/ctagsautodev.py 与 L260-L278ctags()先检查全局标志autodev_ctags然后执行ctags -R --sortyes -o /mnt/data/tags /mnt/data/最后调用_get_simple_ctag_tree()把 ctags 结果解析成源码树并合并进 Epilogue 的 Source Treeautodev.py 与 L223-L256memory()保存未落盘代码 → 生成 YAML 格式的memory.yml→ 导出 Jupyter 笔记本为jupyter.json→ 全部压缩进/mnt/data/memory.zip供下载autodev.py。脚本入口autodev.py会初始化四个全局变量——autodev_rerun是否跳过欢迎流程、autodev_ctagsctags 是否已安装、autodev_ctag_tree源码树缓存、autodev_stash暂存字典——再通过_get_methods_and_docstrings(AutoDev)把每个命令方法及其 docstring 收集进autodev_functions字典最后调用_setup()播放一段角色扮演式欢迎词。/memory会话记忆的脱水与还原memory()生成的memory.yml结构由 autodev.py 中的指令定义仓库提供了真实示例 example_memory.yml其顶层结构为memory: - timestamp: 2023-09-30T21:49:05.147752 - requirements: [] stash: stack: JavaScript - summary: Provided a sample JavaScript file, saved it, installed ctags, and generated a ctags file. - source_tree: - classes: - class: Calculator symbols: - description: Addition method name: add state: Complete ... path/filename: sample.js saved: true可见memory.yml完整记录了会话时间戳、用户全部需求列表、autodev_stash暂存内容、会话总结、以及带描述与完成状态的源码树——这正是新会话恢复记忆的数据源。跨会话工作流README 的 Slash Command Tipsdeveloper-edition/README.md每次会话结束前先执行/memory打包下载下次开始新会话时把 zip 与autodev.py放在同一条消息里一起上传AutoExpert 会自动解压 zip 并恢复上一次会话的记忆源码中由_setup()的 Uploads 步骤执行解压与memory.yml解码见 autodev.py。环境注意事项_setup()输出的欢迎信息中还包含几条重要的环境警示autodev.py沙箱环境在闲置 10 分钟后超时超时会丢失文件因此应随时用/memory下载备份已保存到沙箱的文件不受编辑历史消息或重新生成影响若出现dict object has no attribute kernel_id错误说明代码执行内核崩溃可能丢失已保存文件。这些限制直接决定了/memory工作流勤打包、勤下载的必要性。五、安装激活首次配置与逐会话启动首次安装Custom Instructions 一次性配置按 developer-edition/README.md 的步骤下载仓库最新的Source Code (zip)发布包并解压登录 ChatGPT点击左下角个人资料 省略号按钮打开设置进入Custom Instructions注意先备份你现有的自定义指令内容因为即将覆盖两个文本框将 developer-edition/chatgpt__about_me.md 的内容粘贴到第一个文本框About Me将本文的核心文档 developer-edition/chatgpt__custom_instructions.md 的内容粘贴到第二个文本框Custom Instructions点击右下角Save保存然后继续逐会话安装。逐会话启动每个编码会话都要做开启一个新对话在对话顶部选择GPT-4从菜单中启用Advanced Data Analysis点击输入框左侧的()按钮上传autodev.py不要输入任何其他文字直接点击纸飞机图标发送空消息上传该文件若一切正常你会看到标题 ChatGPT AutoExpert (Developer Edition) 及配套的工具介绍该欢迎词即_setup()的输出见 autodev.py。值得一提的是_setup()还会从CHARACTERS常量数组autodev.py中随机挑选一个虚构角色如 Gilfoyle、Deadpool、Marvin 等来主持开场欢迎随后立即回归 AutoExpert 的结对程序员角色——这是纯粹的彩蛋设计不影响后续编码协议。六、把整套机制串起来一个完整的编码会话流综合以上内容一次典型会话的实际运行链路为启动新对话上传autodev.py→_setup()播放欢迎词 → 全局变量与autodev_functions就绪提问用户以V2 实现一个带类的模块这类格式发问响应ChatGPT 先输出 PreambleLanguage Specialist / Includes / Requirements / Plan→ 按 Coding Style 与 Coding process 编写代码文件开头带路径注释、可落盘到/mnt/data→ 结尾输出 EpilogueHistory / Source Tree / Next Task中途用户随时可用/stash暂存片段、/recall取回安装了 ctags 后可用/ctags构建符号索引并自动合并进 Source Tree收尾/memory生成memory.ymljupyter.json 全部代码文件的 zip续接新会话中zip autodev.py同消息上传 → 自动解压、解码autodev_memory→ 恢复 History 与 Source Tree从上次的 Next Task 继续。这套设计把提示词工程Preamble/Epilogue 的注意力引导 沙箱工程化slash 命令与文件落盘 跨会话记忆memory.zip 还原三层能力叠加在一起是 Developer Edition 与普通请把代码写详细点式提示词的本质区别所在。若你想从零复刻或进一步改造它最直接的方式就是通读 chatgpt__custom_instructions.md、chatgpt__about_me.md 与 autodev.py 三个文件的对应关系——提示词负责定规则脚本负责给工具两者缺一不可。赞分享提示工程AI 应用AI Agent【免费下载链接】ChatGPT-AutoExpert Supercharged Custom Instructions for ChatGPT (non-coding) and ChatGPT Advanced Data Analysis (coding).项目地址https://gitcode.com/gh_mirrors/ch/ChatGPT-AutoExpert点击查看免费下载相关推荐React DayPicker 的 Root 组件自定义日历根元素的实现与源码剖析React DayPicker 的 Root 组件自定义日历根元素的实现与源码剖析 Root 是 React DayPicker 中负责渲染整个日历最外层 UI组件前端AI ShortChatGPT-Shortcut配置与自定义指南修改标题、提示词与对接自定义后端AI ShortChatGPT Shortcut配置与自定义指南修改标题、提示词与对接自定义后端 AI Short 是一个开源的 AI 提示词快捷指令库站AI 应用提示工程人工智能前端上一篇如何用WindowResizer 3步强制调整顽固窗口尺寸免费开源搞定无法拖拽的程序窗口下一篇Paradox 游戏模组管理告别混乱Irony Mod Manager 保姆级上手指南创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考