用 JSON 管理 AI 开发提示词:让代码生成更稳定一点
很多开发者用 AI 写代码时,最常见的开头是:
帮我写一个用户管理页面。
AI 确实会很快给你一大段代码。
但真正放进项目里,问题也很快出现:
- 技术栈不匹配
- 接口字段对不上
- 没有处理 loading / error / empty 状态
- 组件拆得太复杂
- 代码能跑,但不太像自己项目里的代码
- 生成一次看着不错,后面维护起来头疼
这时候问题不一定是 AI 不行,很多时候是我们给它的上下文太少。
今天换一个轻一点的思路:
用 JSON 把需求先整理清楚,再让 AI 生成代码。
这个方法不复杂,也不接入任何平台,更不是 API 调用,只是一个本地小工具,适合日常开发时辅助整理提示词。

一、为什么要用 JSON 管理提示词?
因为很多需求一开始都很模糊。
比如:
做一个筛选组件。
这句话背后至少要补充这些信息:
| 信息 | 示例 |
|---|---|
| 技术栈 | React + TypeScript + Ant Design |
| 模块位置 | 用户管理模块 |
| 功能目标 | 用户名、状态、时间筛选 |
| 输出格式 | 先给思路,再给代码 |
| 限制条件 | 不引入新状态管理库 |
| 检查重点 | loading、empty、error、表单重置 |
这些信息如果每次都手动写,会比较烦。
所以可以把它们整理成一个固定 JSON 模板,用的时候改几个字段就行。
二、先准备一个任务 JSON 模板
比如我们要做一个用户筛选组件,可以这样写:
{
"role": "Senior Frontend Developer",
"project": {
"type": "Admin Dashboard",
"stack": ["React", "TypeScript", "Ant Design"],
"module": "User Management"
},
"task": {
"goal": "Build a user filter component",
"features": [
"Search by username",
"Filter by user status",
"Filter by created date range",
"Reset all filter conditions"
]
},
"output": {
"format": "Implementation plan first, then core code",
"include": [
"TypeScript types",
"Component structure",
"Edge cases",
"Review checklist"
]
},
"constraints": [
"Do not introduce a new state management library",
"Keep the component simple",
"Avoid over-engineering",
"Use clear variable names"
]
}
这个 JSON 的作用不是让代码变复杂,而是帮你把需求说清楚。
你可以把它理解成:
给 AI 的开发任务单。
三、用 Python 把 JSON 转成提示词
下面写一个简单脚本,把 JSON 内容转换成适合发给 AI 的提示词。
import json
from pathlib import Path
from typing import Any, Dict, List
def list_to_markdown(items: List[str]) -> str:
if not items:
return "- 未提供"
return "\n".join(f"- {item}" for item in items)
def build_prompt(config: Dict[str, Any]) -> str:
role = config.get("role", "Experienced Developer")
project = config.get("project", {})
task = config.get("task", {})
output = config.get("output", {})
constraints = config.get("constraints", [])
stack = project.get("stack", [])
features = task.get("features", [])
include_items = output.get("include", [])
prompt = f"""
你现在扮演:{role}
项目背景:
- 项目类型:{project.get("type", "未提供")}
- 技术栈:{", ".join(stack) if stack else "未提供"}
- 当前模块:{project.get("module", "未提供")}
任务目标:
{task.get("goal", "未提供")}
功能要求:
{list_to_markdown(features)}
输出要求:
- 输出格式:{output.get("format", "先给实现思路,再给核心代码")}
- 需要包含:
{list_to_markdown(include_items)}
限制条件:
{list_to_markdown(constraints)}
请按以下结构输出:
1. 先分析实现思路
2. 再给出组件结构建议
3. 然后生成核心代码
4. 标出容易遗漏的边界情况
5. 给出人工 Review 清单
6. 不要过度封装,保持代码可维护
""".strip()
return prompt
def main() -> None:
config_path = Path("ai_task.json")
if not config_path.exists():
raise FileNotFoundError("请先创建 ai_task.json 文件")
with config_path.open("r", encoding="utf-8") as file:
config = json.load(file)
prompt = build_prompt(config)
output_path = Path("generated_prompt.md")
output_path.write_text(prompt, encoding="utf-8")
print("提示词已生成:generated_prompt.md")
print("-" * 40)
print(prompt)
if __name__ == "__main__":
main()
运行前,把上面的 JSON 保存为:
ai_task.json
然后运行:
python build_prompt.py
会生成一个:
generated_prompt.md
里面就是整理好的 AI 提示词。
四、生成后的提示词大概长这样
生成后的内容会比一句“帮我写组件”清楚很多:
你现在扮演:Senior Frontend Developer
项目背景:
- 项目类型:Admin Dashboard
- 技术栈:React, TypeScript, Ant Design
- 当前模块:User Management
任务目标:
Build a user filter component
功能要求:
- Search by username
- Filter by user status
- Filter by created date range
- Reset all filter conditions
输出要求:
- 输出格式:Implementation plan first, then core code
- 需要包含:
- TypeScript types
- Component structure
- Edge cases
- Review checklist
限制条件:
- Do not introduce a new state management library
- Keep the component simple
- Avoid over-engineering
- Use clear variable names
请按以下结构输出:
1. 先分析实现思路
2. 再给出组件结构建议
3. 然后生成核心代码
4. 标出容易遗漏的边界情况
5. 给出人工 Review 清单
6. 不要过度封装,保持代码可维护
这种提示词的好处是:
- AI 不容易跑偏
- 输出结构更稳定
- 代码更贴近项目背景
- Review 重点更清楚
- 后续复用更方便
五、这个方法适合哪些 AI 工具?
不同 AI 工具可以放在不同环节里使用。
| 工具 | 更适合的开发场景 |
|---|---|
| ChatGPT Plus | 需求拆解、代码初稿、脚本生成、文档整理 |
| Claude Pro | 长代码分析、复杂逻辑检查、长文档总结 |
| Gemini Advanced | Google 生态资料整理、研究笔记、多模态内容 |
| Grok | 实时技术趋势、海外开发者讨论、热点观察 |
| Kiro | AI 辅助开发流程、项目规划、任务推进 |
| Cursor | 代码编辑器内联开发、编程提效、代码补全 |
比如这个 JSON 提示词模板,可以这样用:
- 先用 ChatGPT 拆需求
- 再用 Claude 检查复杂逻辑
- 在 Cursor 里结合项目代码调整实现
- 用 Kiro 辅助拆开发任务和项目推进
- 用 Gemini 整理相关资料
- 用 Grok 看技术趋势或工具更新
当然,不是每个人都要同时用这么多工具。
更实际的做法是:先看你每天最常卡在哪一步。
六、再加一个 Review 清单模板
AI 生成代码之后,不建议直接复制进项目。
可以继续让它做一次自查:
请帮我检查上面生成的代码:
1. 是否有明显逻辑问题?
2. 是否处理 loading、empty、error 状态?
3. 表单重置是否完整?
4. 接口失败时是否有提示?
5. 是否存在过度封装?
6. TypeScript 类型是否清晰?
7. 命名是否容易理解?
8. 是否适合真实项目维护?
9. 哪些地方需要人工重点 Review?
这一步很像一个轻量 Code Review。
AI 不一定能发现所有问题,但它经常能提醒一些小细节。
比如弹窗关闭后清理状态、筛选条件重置、删除后刷新列表、接口异常兜底等。
这些东西不难,但赶需求时真的容易漏。
七、国内开发者常见的订阅卡点
很多开发者不是不会用 AI,而是卡在会员开通这一步。
常见情况包括:
- 海外信用卡支付失败
- 虚拟卡扣款不稳定
- 账单地址不匹配
- App Store 换区麻烦
- 不同工具订阅入口不一样
- 共享账号不稳定,也不适合处理代码和工作资料
如果只是偶尔体验,免费版可以先用。
但如果你每天都要用 AI 写代码、看文档、做 Review、整理资料,稳定的会员体验会更重要。
这类情况下,可以了解 gpt68.com。
它是 AI会员充值平台,覆盖 ChatGPT Plus、Claude Pro、Grok、Gemini Advanced、Kiro、Cursor 等 AI 会员和工具充值需求。
这里要注意:
gpt68.com 是 AI会员充值平台,不是统一管理工具,不是聚合切换平台,也不是 API 调用平台。使用前建议看清楚套餐说明、账号要求和售后规则。
八、最后总结一下
AI 辅助开发,不是简单复制一段代码。
更稳的方式是:
模糊需求
↓
JSON 任务配置
↓
生成结构化提示词
↓
AI 输出实现思路
↓
AI 生成核心代码
↓
AI 自查
↓
人工 Review
↓
测试和文档补充
用 JSON 管理提示词,看起来只是一个小动作,但它能帮开发者把需求讲清楚。
需求越清楚,AI 输出越稳定。
上下文越完整,返工越少。
限制条件越明确,代码越接近真实项目。
AI 工具不是替代开发者,而是帮我们少做一点重复劳动,把精力留给判断、设计和质量控制。
更多推荐
所有评论(0)