871 字
约 2 分钟
7
把环境事实写进 Rule:模型配置、技术栈锁定与必踩的坑

开场:一份预填好的 .env 说明书

每次新开对话,AI 都不知道该调哪个模型、超时设多少、项目用什么框架。把这些环境事实一次性写死在 Rule 里,相当于给 AI 一份预填好的 .env 说明书,每轮对话自动带入。

一句话速览:模型配置、技术栈锁定、数据格式三分法与 isComposing 这类必踩的坑。

一、为什么是 Rule

把配置写在 .env 里让 AI 自己读,它不一定每次都主动读;写在对话里,对话一长就被截断遗忘。Rule 在每轮对话开始前就被加载进上下文,是最稳的注入方式。

二、isComposing:中文输入法必踩的坑

中文输入法确认候选词时会触发 Enter,只判断 e.key === 'Enter' 的输入框会把半段内容直接发出去。AI 训练数据里 isComposing 覆盖率不高,不写进 Rule 就一定会忘。

const handleKeyDown = (e: React.KeyboardEvent) => {
  if (e.key === 'Enter' && !e.shiftKey
      && !e.nativeEvent.isComposing) {
    e.preventDefault()
    handleSend()
  }
}

isComposing 为 true 时输入法正在组合中,回车只确认候选词,不触发发送。规则原文:禁止只判断 e.key === 'Enter' 而不检查 isComposing。

三、数据格式三分法

领域 格式 用途
Agent 工具调用参数 XML 工具入参、调用请求、返回结果
项目配置文件 YAML 应用配置、数据存储
对外 REST API JSON 给外部调用方的接口

三种格式各管一个领域,互不混用。补充说明:只用 GPT 系列的项目可以把工具调用改回 JSON,它的 function calling 原生就是 JSON。「Agent 用 XML」是多模型混用场景的最大公约数选择,Claude 系模型在 XML 格式上表现更稳定。

四、模型配置:一次写死,轮轮生效

  • 超时: 图像生成至少 120-180 秒。图像 API 经常因为默认 30 秒超时失败,AI 还会反复尝试相同的错误配置。HTTP 客户端的超时值写进 Rule,一次解决。
  • 代理回退: 网络请求失败时必须尝试代理重试(默认 127.0.0.1:7890),仍失败才向用户报告,禁止跳过代理直接报错。
  • 流式: 前端可见的所有大模型响应必须用 Streaming 返回,后端内部调用才允许非流式。

五、技术栈锁定与品味规则

选型是人的决策: 后端 FastAPI、前端 React + Tailwind + Vite、数据库 SQLite、向量库 Chroma。一旦定了就不再讨论替代方案,AI 的职责是在确定的栈内把代码写好。端口避开 5000,从 8000-9000 随机分配,多项目同开也不冲突。

图标与细节规范: 禁止用 emoji 做按钮图标,图标必须用 SVG。看产品调性选图标集:SaaS 用 Lucide,温暖调性用 Tabler Icons。图标直接下载到本地使用,不依赖 CDN。

课堂练习 · 20 分钟

① 列出你项目的环境事实:模型、API 服务商、超时、代理、技术栈、数据库;② 写成 Rule 章节,敏感的 Key 放独立的 secrets 文件并加入 .gitignore;③ 新开一个对话验证:不做任何交代,AI 能否直接说出你的技术栈和模型配置。

把环境事实写进 Rule:模型配置、技术栈锁定与必踩的坑
https://clxhxhhr.top/posts/4646/
作者
clxstart
发布于
2026-10-11
许可协议
CC BY-NC-SA 4.0
评论
0 条
还没有评论,先写一条吧。