Runway README提示词复用流程实操详解
要实现文档生成的标准化与可复用,核心思路是将README构建流程抽象为模板。关键在于把build_script、requires、env_vars三个每次迭代必改的字段提取成可变锚点,其他指令则设为固定结构;锚点值必须用英文双引号包裹,且内部严禁多余空格;最终组合成带版本校验的模板,绑定RUNWAY_SCHEMA_VERSION=3.0.0,并通过PowerShell脚本在CI流水线中强制版本匹配。这样,文档生成便有了刚性规则,避免因版本升级遗漏关键逻辑。
为什么要大费周章?因为手动拼凑的提示词在不同版本间极易出错。以v2.4.1升级到v3.0.0为例——后者新增了CLI参数校验逻辑,若提示词仍沿用老版本,生成的安装说明可能还在引用已被废弃的npm install命令。这类问题,光靠人工反复核查根本无法根除。
提取可变锚点与稳定指令
打开项目根目录下的runway.yml或config.json,找到明确声明的构建入口、依赖项、环境变量这三类字段,逐条复制到文本编辑器。例如build_script: "make build"、requires: ["node@20.15", "python@3.11"]、env_vars: ["RUNWAY_ENV", "API_TIMEOUT_MS"]。这三项就是每换一个项目必须修改的可变锚点。
至于剩余的描述性内容——比如“生成简洁专业的技术文档”“使用Markdown语法”“避免使用第一人称”——全部原封不动保留为固定指令段。这些是Runway模型理解“README体裁”的关键信号,删掉后输出就容易偏离预期,要么混入口语化表达,要么表格错位。
重点提醒:每个锚点值必须用英文双引号包裹,且引号内部不能有空格。写"node@20.15"没问题,但写" node@20.15 "或node@20.15就会出问题——Runway解析器会把带空格的字符串当作两个独立token,直接跳过依赖项校验。这个细节,踩过坑的人都深有体会。
封装为带校验的模板指令
把固定指令段和锚点组合成完整的提示词,格式如下:
"Generate a GitHub-ready README.md for a Runway-powered project. Use exact dependency versions: 【REQUIRES】. Build entry point is 【BUILD_SCRIPT】. Required environment variables: 【ENV_VARS】. Do not list deprecated flags. Show CLI usage with --help output snippet. End with 'Troubleshooting' section listing known timeout issues under RUNWAY_ENV=staging. Output only raw Markdown, no explanation."
将上面整段复制到VS Code中,然后用Ctrl+H批量替换占位符:【REQUIRES】替换为"node@20.15, python@3.11",【BUILD_SCRIPT】替换为"make build",【ENV_VARS】替换为"RUNWAY_ENV, API_TIMEOUT_MS"。替换完成后保存为template-readme-v3.txt。
操作本身不复杂,说白了就是拖个文件的事。但有一个关键验证步骤不能跳——替换完成后必须在Runway Web UI的Preview功能里跑一次预览,确认生成结果中的CLI示例是否包含--dry-run参数。如果没有,说明锚点替换不到位,需要检查yml文件里的缩进是否用了空格而非tab(这点血泪教训大家都懂)。
绑定版本锚点:注入校验钩子
第一步很简单:在模板末尾追加一行硬编码版本标识——// RUNWAY_SCHEMA_VERSION=3.0.0。
第二步也很直接:写一段PowerShell脚本,每次调用模板前自动比对本地runway.yml中的version字段:
$cfg = Get-Content ./runway.yml | ConvertFrom-Yaml
if ($cfg.version -ne "3.0.0") { Write-Error "Template version mismatch: expected 3.0.0, got $($cfg.version)" }
第三步:把校验脚本和模板文件一起打包成.zip,上传到Azure DevOps的Secure Files库里。然后在CI Pipeline的pre-build阶段加一个“Run PowerShell Script”任务,路径直接指到这个脚本。
这一步绝不能省略。漏掉的话,旧版模板很可能被误用到新版Runway CLI上——生成的“快速开始”章节里还会挂着已被移除的runway deploy --legacy命令。等上线后用户反馈一来,再追查就来不及了。
