作为一名芯片验证工程师,我几乎每天都在用大模型帮忙——写一段 UVM sequence、解释一个 CDC 违例、检查一条 SDC 约束、总结一份综合时序报告。但问题是,通用聊天机器人根本不知道一条"好"的 EDA prompt 长什么样。每次提问前,我都得手动搭好同一套脚手架:让模型扮演什么角色、需要哪些技术背景、任务到底是什么、有哪些约束条件、输出格式要求是什么。每次都手写一遍,实在太浪费时间。

于是我做了 EDA 提示词生成器,把这套脚手架自动化——输入一句简短的 EDA 需求,它直接返回一份结构化的专业 Prompt,可以直接粘贴到任何一个大模型里用。


1. 它是做什么的

输入类似"验证 AXI outstanding transaction 的顺序"或"解释这条 SDC 约束为什么时序不收敛"这样的需求,选好目标模型,生成器就会把你的一句话扩展成结构化 Prompt,包含:

  • 角色设定 —— 模型应该扮演谁(比如"专精 AMBA 协议的资深验证工程师")
  • 技术背景 —— 模型需要的上下文,避免它瞎编
  • 任务目标 —— 你到底想让它做什么
  • 约束条件 —— 该避免什么、有哪些格式规则
  • 输出格式 —— 回复应该长成什么样

简单问题会精简成 3 段式的轻量 Prompt;复杂的多阶段任务则会自动展开,追加一个验收标准段落。详细程度不用你自己选——生成器会根据需求的复杂度自动判断。


2. 专注 EDA 领域,而不是套壳的通用工具

这不是一个套了 EDA 皮肤的通用 Prompt 工具,而是真正按领域收窄了范围:

能力说明
子领域覆盖RTL Design、Functional Verification、Synthesis & STA、Physical Design、DFT、CDC/RDC、EDA Scripting——共 7 大数字 IC 子领域
目标模型ChatGPT、Claude、DeepSeek、豆包、Qwen——输出格式与语言按模型自动适配
范围过滤芯片、CPU、IP 核(如 Arm Cortex-R52)、协议、微架构等均在范围内。与数字 IC/EDA 无关的问题——哪怕夹带了 EDA 词汇——都会被礼貌拒答,拒答话术多样、语气自然(偶尔还会调皮地提一句打赏入口)
语言跟随输入中文输入 → 中文 Prompt,英文输入 → 英文 Prompt;豆包 / Qwen 固定输出中文
多轮迭代精炼可以针对已生成的 Prompt 继续对话调整;重新生成会精确定位历史中的具体消息,而不只是"最后一条"

3. 一个正经产品该有的都有

因为这不是一个演示 Demo,而是当成正式产品来做的,所以它还包含:

  • 流式生成、Markdown 渲染,支持一键复制
  • 账户系统 —— 邮箱 + 密码,注册 / 找回密码 / 修改密码均通过邮箱验证码校验
  • 跨设备历史同步 —— 本地优先(localStorage,离线可用),联网后与云端按会话「最后写入胜出」自动合并
  • 游客配额 —— 未登录用户每天 3 条消息,注册用户无限制;用完配额会展示专门的注册引导卡片,而不是一个通用错误提示
  • 账户设置 —— 登出所有设备、删除账户(需重新输入密码 + 二次确认,级联清除全部云端历史)
  • 管理员后台 —— 使用趋势、用户检索、审计日志查看器、排行榜(活跃用户 / 目标模型 / 异常 IP)
  • 深色 / 浅色主题,响应式布局,移动端友好
  • 流式生成的超时与空响应保护,失败可一键重试
  • 未配置 API Key 时自动使用本地 Mock 模式,开箱即用,方便体验交互而不产生真实推理成本

4. 技术实现

选型
框架Next.js 16(App Router)、React 19、TypeScript
样式 / 状态Tailwind CSS v4、Zustand
大模型后端DeepSeek V4(默认 deepseek-v4-flash
认证自建方案——Server Actions + jose(RS256 JWT)+ bcryptjs,没有用 NextAuth(本项目跑在改版的 Next.js 16 上,中间件被重命名为 Proxy,cookies()/headers() 变成异步,这与 NextAuth 不兼容)
存储better-sqlite3
邮件nodemailer 配合阿里云 DirectMail,用于发送验证码

认证层用了双 token 设计:短效(15 分钟)RS256 签名的 access token 存在 httpOnly Cookie 里,配合数据库存储、可撤销的 refresh token——哈希存储,每次使用都会轮换。登录尝试、验证码发送(按邮箱和按 IP)、生成请求都做了限流。生产环境部署拓扑是 Cloudflare(Full 模式)→ nginx → systemd 托管的 Next.js 进程(监听 127.0.0.1:3100)。

完整的架构说明、流式生成的调用链路、新增目标模型的清单都记录在仓库的 CLAUDE.md 里。面向用户的文档在 docs.edaproprompt.com


5. 体验一下

现在已经上线:edaproprompt.com——不用注册就能试用几条 Prompt,纯逛一逛的话它也会优雅地退化到 Mock 模式。如果你也做 IC 设计或验证工作,曾经在给聊天机器人反复解释背景知识上浪费过时间,这个工具就是为你做的。


6. 接下来

第三方登录(OAuth)在路线图上,但还没上线(目前只支持邮箱 + 密码)。除此之外,接下来主要会根据大家实际用得最多的目标模型和子领域来迭代——如果你试用后发现少了什么你工作流里需要的东西,欢迎反馈。