让Codeium写出能直接用的README:核心在于三重约束
“写个README”这种提示词,十有八九会输出一堆“本项目基于XXX技术栈构建”的空话。对于新入职或者临时加入项目的开发者来说,最直接的需求是“clone后三分钟就能跑起来”。要做到这一点,提示词必须绑定具体的项目元数据、开发环境,以及可验证的命令链。
说白了,就是要在提示词里把以下三个要素写死:角色锚点、平台感知、可执行验证。
先拿第一个:锁定真实项目元数据
别凭印象写,直接打开项目根目录下的 package.json 或 pyproject.toml,把 name、version、description 这三个字段的值复制出来。如果是前端库,还得看看 exports 里 main 或 types 的实际路径,比如 ./dist/index.js。
在提示词的开头,用冒号分隔的方式把这些信息写死。一个典型的例子:【项目名:use-debounce-vue;版本:3.1.0;简介:Vue 3 组合式 API 防抖 Hook,自动清理 setTimeout;主入口:./dist/index.js】。千万不要用“例如”、“类似”这种模糊词,也不要写“可根据实际情况调整”。一旦有模糊表述,AI 就会默认填充通用占位符。
为什么要死抠这几个字段?因为一步错,后面生成的安装命令可能就完全没法用。比如,它可能让你 npm install use-debounce-vue@latest,但实际这个包根本没发布;或者让你 import { useDebounce } from 'use-debounce-vue',但实际需要指定子路径才能导入。
划个重点:按你的IDE版本提供配置
不同的IDE,快捷键和操作路径完全不同。提示词里必须指明具体平台和版本。
比如说,如果你在用 VS Code:
① 安装后首次启用,路径是:Extensions → 搜索Codeium → Install → Reload;
② 核心工作流:打开任意 .ts 文件,输入 //,然后按 Ctrl+Enter,观察补全弹窗里是否有「@codeium」标识;
③ 常见阻塞点:如果没反应,可以检查右下角状态栏是否显示‘Codeium Ready’。如果不显示,可以打开Developer: Toggle Developer Tools,看console里有什么报错。
换个角度,如果你用的是 IntelliJ IDEA:
① 快捷键统一变成 Cmd+Enter、Cmd+Shift+A;
② 并且必须在提示词里注明:需在 Settings → Plugins中确认Codeium插件状态为Enabled。
不写具体平台名和版本号,AI 会默认按通用IDE行为响应,结果就是引用一个不存在的面板名称,或者给你一个错误的快捷键。
最关键一步:强制输出“可验证”的快速开始
这部分信息最怕AI凭空杜撰。所以必须把它的手脚捆住。
第一步,去 package.json 找到 scripts 字段,取第一个非test类脚本名。比如看到 "dev": "vite --open",就直接写进提示词:“快速开始只写一条命令:npm run dev”。如果 scripts 为空,或者全是test,必须手动补上一个可执行命令,否则 Codeium 会虚构出一个 npm install && npm start 来。
第二步,别用专家视角,用实习生视角。假设自己是一个刚接手项目、第一次启动的前端菜鸟。只要求“快速开始”段落包含三件事:
① 启动前必须确认的1个环境状态(比如Node版本≥18.17);
② 实际敲入并回车的那条完整命令;
③ 命令成功后,浏览器会自动打开的URL路径。
第三步,注入真实报错。从终端历史里复制一行真实报错,比如 Error: ENOENT: no such file or directory, open '/src/config.ts'。把这条报错原样塞进提示词末尾,并加一句:“请把这条错误对应到‘快速开始’第二步的前置检查项里——用户没做这步,就会触发该报错。”

写之前,先确认边界
在正式写功能描述之前,还有一个更重要的事情:让AI先做需求边界确认。它只需要确认约束,不需要开始实现。
一个好的边界确认模板是这样的:
【必须】仅支持Web端,不考虑移动端适配
【必须】用户身份仅来自LDAP同步,不接入微信登录
【必须】所有操作日志保留180天,不可缩短
然后追问:
“实时”指操作后多少毫秒内响应?前端刷新频率是否允许降级?
客服人员→点击工单详情页的“转交”按钮→转交对象仅限同技能组成员,且目标人当前在线状态必须可见
当前系统报错提示‘ERR_QUOTA_EXCEEDED’,发生在用户上传第5个附件时,单文件上限为20MB
最后加上:
请逐条确认以下约束是否完整:
如有未覆盖的隐性规则,请指出缺失维度(如合规、地域、权限层级)
确认完毕前,不生成任何需求描述或验收标准
这一步做完,后面的所有内容生成才能基于一个清晰的、没有歧义的基础框架之上。可惜,很多人往往会跳过这个“确认边界”的步骤,直接进入写代码的环节,最后开发出来的东西必然要返工。
