AI 辅助产品构建2026产品决策、设计与实现协作

我如何用 AI,一步一步搭建起自己的个人网站

我负责决定网站应该是什么。AI 负责帮助我把它实现出来。

AIWebsitePersonal AIProduct DesignCodexChatGPTRAGRouter
The website evolving from a portfolio into f Digital AI
图 1|从 Portfolio 到 f Digital AI 的网站演化路径

00 / F DIGITAL AI

我如何用 AI,一步一步搭建起自己的个人网站

现在回头看,我的网站并不是一开始就设计成今天这个样子。

它更像是一个不断生长出来的东西。

最开始,我只是想拥有一个真正属于自己的个人网站。

能够放我的文章、研究、项目和一些长期思考。

后来,我开始往里面加入 AI。

再后来,我发现自己真正想做的已经不只是一个 Portfolio,而是一个能够承载我的作品、研究和数字人格的个人空间。

这个过程里,我并没有采用传统意义上的开发方式。

我更多是在做一件事情:

把 AI 当成一个开发团队来使用。

我负责决定网站应该是什么。

AI 负责帮助我把它实现出来。

01 / F DIGITAL AI

1. 一开始,我只有“我想要一个自己的网站”

最初的需求其实很简单。

我需要一个地方,长期保存自己的东西。

不是微信公众号,不是小红书,也不是某一个内容平台。

因为这些地方本质上都不是我的。

平台可以改规则,内容可以被限流,产品甚至可能有一天消失。

所以我想建立一个真正属于自己的数字空间。

它可以放:

文章
研究
项目
作品
个人介绍
长期思考

最开始,它仍然只是一个比较典型的个人作品网站。

但有一点从一开始就很明确:

我不想做一个标准模板式 Portfolio。

我不希望它只是:

Hello, I'm F.
↓
About Me
↓
Projects
↓
Contact

然后换一张头像、换几段文字,就和互联网上几千个个人网站没有区别。

我希望它本身也是我的一个作品。

02 / F DIGITAL AI

2. 我没有直接让 AI “给我做一个网站”

真正开始开发之后,我很快发现:

一句

“帮我做一个高级的个人网站”

基本没有什么意义。

因为“高级”“好看”“有设计感”,这些词对于 AI 来说都太模糊。

如果直接让 AI 自由发挥,很容易得到一种非常熟悉的结果:

紫色渐变、

巨大的 Hero、

几个半透明卡片、

一些发光按钮,

最后看起来像一个标准 AI SaaS Template。

这不是我想要的。

所以后来我逐渐形成了一种新的工作方式。

我不再把 AI 当成:

“帮我生成网页的人。”

而是把任务拆成三个角色。

我
↓
Product / Design Decision

ChatGPT
↓
Architecture / Task Breakdown

Codex
↓
Code Execution

我自己决定:

这个地方好不好看,

这个交互有没有意义,

信息层级是否合理,

这个功能到底要不要做。

ChatGPT 帮我把这些模糊判断转成技术任务。

Codex 再进入真实代码库里修改代码。

从这里开始,AI 才真正变成了我的开发工具。

Product decisions flow from the author to ChatGPT architecture planning and Codex code execution
图 2|我、ChatGPT 与 Codex 的协作分工

03 / F DIGITAL AI

3. 第一步:先让 AI 看懂我的代码库

网站并不是每一次都重新生成。

它有真实的 Repository。

所以在真正修改网站之前,我首先让 AI 理解整个项目。

包括:

Next.js
React
TypeScript
Tailwind CSS
App Router
PostCSS
Static Export

项目本身采用的是 Next.js 架构,并通过:

output: export

生成静态站点。

这件事情非常重要。

因为 AI 如果不知道原来的架构,就很容易出现一种典型问题:

为了做一个新功能,把原来的系统全部重写。

这不是我想要的。

我给 AI 的要求逐渐变成:

先理解现在的系统,再在现有系统上做最小修改。

也就是说:

Read
↓
Understand
↓
Locate
↓
Modify
↓
Verify

而不是:

Generate a new project

这成为了后来整个网站迭代非常重要的一条原则。

04 / F DIGITAL AI

4. 第二步:我开始把“感觉”翻译成产品需求

网站开发过程中,我经常不会直接说:

把 margin 改成 32px。

因为很多时候,我自己也不知道问题到底是不是 margin。

我看到的只是:

“这里感觉不对。”

比如:

页面太空。

标题没有力量。

文字太淡。

聊天区域存在感不够。

按钮看起来像模板。

白天模式太普通。

输入状态有点过暖。

信息很多,但视觉重点不明确。

这些其实都是产品语言,而不是工程语言。

于是我的工作流程逐渐变成:

视觉感受
↓
描述问题
↓
AI 分析真正原因
↓
转成代码修改任务
↓
Codex 实现
↓
我重新验收

比如一句:

“生成详情的字太小、颜色太淡,而且‘你’和 f/ai 不够突出。”

最后可能会被拆成:

Typography hierarchy
Contrast
Font weight
Spacing
Message identity

然后再落实到具体组件和样式。

这个过程让我慢慢意识到:

使用 AI 开发,并不意味着人不需要懂产品。

恰恰相反。

AI 越能写代码,

人的判断就越重要。

A product feedback loop from visual perception through requirements, implementation, and acceptance
图 3|从视觉感受到产品需求与代码实现

05 / F DIGITAL AI

5. 第三步:我开始建立自己的设计原则

网站做到一定阶段以后,我开始明确哪些东西是自己喜欢的,哪些不是。

比如我非常确定:

我不喜欢过度克制的极简主义。

也不喜欢传统 AI 网站非常常见的紫色渐变。

我想要的是一种:

高级、丰富、有互动,但不过度喧闹的视觉。

所以后来很多设计都围绕几个原则展开:

Strong Visual Presence
Rich Interaction
Clear Hierarchy
High Information Density
Controlled Motion

也就是说:

网站可以有存在感。

可以有动画。

可以有复杂的信息。

但它不能看起来廉价。

这也是为什么网站后来经历了很多轮细节修改。

有些甚至只是:

字体大小
透明度
Hover
边框
间距
背景温度
状态反馈

单独看都很小。

但大量细节最后共同决定了网站的质感。

06 / F DIGITAL AI

6. 第四步:从“页面”开始转向“系统”

当基础页面逐渐稳定之后,我开始思考一个更重要的问题:

我的网站为什么一定只能展示内容?

既然这里已经有:

我的文章、

我的研究、

我的项目、

我的观点,

那么实际上它已经拥有了一套非常完整的:

关于我的 Context。

于是我产生了一个新的想法:

让访问网站的人,不只是“浏览我”。

而是可以:

和我的数字版本交流。

于是网站开始进入下一阶段。

07 / F DIGITAL AI

7. 第五步:把 AI Chat 放进网站首页

我开始在首页加入 AI 对话框。

但我并不想做一个:

User
↓
API
↓
LLM
↓
Answer

这么简单的聊天组件。

我的目标是:

让它根据我网站里的资料,用接近我的表达方式回答问题。

这意味着 AI 不能只是一个通用模型。

它需要理解:

我的文章
我的研究
我的项目
我的观点
我的表达方式

于是 AI Chat 开始和整个网站产生联系。

原来的网站结构是:

Visitor
↓
Website
↓
Content

后来逐渐变成:

Visitor
        ↓
    f Digital AI
     ↙        ↘
Content       AI
                 ↓
          Retrieve My Work
                 ↓
              Answer

这个变化很重要。

因为网站开始从一个:

Content Website

逐渐变成:

Interactive Personal Interface。

08 / F DIGITAL AI

8. 第六步:把 Persona 和 Knowledge 分开

做 AI Chat 的时候,我又遇到一个问题。

如果只是不断往 System Prompt 里面写:

你叫 f
你喜欢……
你的观点是……
你的经历是……

Prompt 很快就会变得巨大。

而且非常难维护。

所以我开始把两个东西区分开。

一个是:

Persona

负责回答:

“这个 AI 应该像谁?”

另一个是:

Knowledge

负责回答:

“它知道什么?”

也就是:

Persona
+
Knowledge Retrieval
+
User Query
↓
LLM

这样以后我增加新的文章、项目或者研究时,

不需要重新修改整套 Persona。

Knowledge 可以继续增长。

Persona 只负责保持整体人格和表达方式。

09 / F DIGITAL AI

9. 第七步:让 AI 在回答之前检索我的作品

随着网站内容越来越多,我不希望 AI 只依靠模型记忆或者一个巨大的 Prompt。

所以后来又加入了一个非常关键的逻辑:

回答之前,先检索网站里的相关内容。

例如有人问:

“f 怎么看 Router?”

系统应该先找到我关于 Router 的文章。

再把相关内容提供给模型。

然后生成答案。

这实际上已经逐渐接近一个简单的 RAG 流程:

User Query
↓
Search My Content
↓
Relevant Context
↓
Persona
↓
LLM
↓
Answer

这样 AI 回答的内容才真正来自我。

而不是模型凭空猜测:

“一个叫 f 的人可能会这么想。”

Visitor interaction with f Digital AI through content, persona, knowledge, and retrieval
图 4|内容、Persona、Knowledge 与 Retrieval 的连接方式

10 / F DIGITAL AI

10. 第八步:从单模型继续走向 Router

做到这里以后,我又开始把自己正在研究的 Router 思想放进个人网站。

既然不同模型:

能力不同,

价格不同,

速度不同,

免费额度也不同,

为什么所有问题都必须交给同一个模型?

于是网站里的 AI 开始拥有最基础的 Prompt Router。

系统可以根据 Query 做简单判断,然后决定:

Query
↓
Router
↓
Model A / Model B / Model C

同时,我还希望用户可以看到:

用了哪个模型
为什么选择它
消耗了多少 Token
节省了多少 Token

于是这个聊天框不再只是:

“我网站上的一个 AI 功能”。

它也逐渐成为我对 Router 思想的一种实际实验。

11 / F DIGITAL AI

11. 第九步:加入 Failover,而不是相信单个 API 永远可用

实际接入模型的时候,很快又会遇到现实问题。

API 可能:

限流,

失效,

网络异常,

额度耗尽,

或者临时不可用。

于是我开始加入 Failover。

逻辑大概变成:

Primary Model
     ↓
Success? ── Yes → Answer
     │
     No
     ↓
Fallback Model
     ↓
Answer

这件事情看起来很小。

但它意味着整个 AI 系统开始从:

Demo

走向:

Service

因为真实的软件世界里,

“正常情况下能运行”

和

“异常情况下依然能运行”

其实是两个完全不同的等级。

12 / F DIGITAL AI

12. 第十步:开始关注 Cache,而不只是模型能力

随着 AI 功能越来越完整,我又开始研究另外一个东西:

Cache。

因为很多请求其实没有必要每一次都重新计算。

某些 Prompt、

某些上下文、

某些检索结果,

甚至某些模型 Prefix,

都可能重复出现。

于是网站后来也开始考虑:

Prompt Cache
Semantic Cache
KV Cache

以及缓存命中到底意味着什么。

这让我第一次开始从:

“怎么让 AI 回答得更好”

转向:

“怎么让整个 AI 系统运行得更有效率。”

这也是从 AI Product 进入 AI Engineering 很重要的一步。

Prompt routing across models with failover and three cache layers
图 5|Router、Failover 与 Cache 的系统实验层

13 / F DIGITAL AI

13. 第十一步:我没有一次性把网站“做完”

整个网站最大的特点,其实不是某一个技术。

而是:

它从来没有一次性完成。

我的迭代方式通常是:

Deploy
↓
Use
↓
发现一个真实问题
↓
修改
↓
Deploy
↓
继续使用

例如:

输入框不舒服,

调整。

Day Mode 太弱,

调整。

语音按钮不好看,

改。

后来发现这个功能本身没有必要,

直接删掉。

聊天信息层级不好,

继续改。

某种状态反馈不明显,

再补。

这其实和传统产品开发非常接近。

区别只是以前可能需要:

Product Manager
↓
Designer
↓
Frontend
↓
Backend

现在很多时候变成了:

Me
↓
AI
↓
Code
↓
Feedback

反馈周期被极大缩短。

14 / F DIGITAL AI

14. 我后来形成了一条非常重要的 AI 开发原则

做了很多轮修改之后,我开始越来越反感一种开发方式:

出现一个问题,就针对这个页面写一个特殊判断。

因为这种写法积累多了以后,

整个代码库会充满:

if page === A
if slug === B
if component === C

最后没人知道为什么这些规则存在。

所以后来我给自己的要求是:

发现一次问题,尽量解决一类问题。

也就是:

Specific Bug
↓
Find General Cause
↓
Create Reusable Rule
↓
Apply Automatically

比如如果某类文章页面都会出现同样的问题,

我更希望修改整个 Content System,

而不是只修这一篇。

这件事情其实已经超出了 Vibe Coding。

它开始变成真正的软件工程思维。

15 / F DIGITAL AI

15. ChatGPT 和 Codex 在这个项目里逐渐形成了不同角色

在后来的开发里,我已经很少让一个 AI 从头负责所有事情。

反而形成了比较稳定的分工。

ChatGPT

更像:

Product Architect
System Designer
Technical Translator
Reviewer

负责:

理解我的需求,

帮我判断问题,

设计实现思路,

把任务整理成清晰的开发指令。

Codex

更像:

Software Engineer

负责:

进入 Repository,

读取现有代码,

找到真正相关的文件,

修改实现,

检查构建。

我

则负责最重要的部分:

Direction
Taste
Decision
Acceptance

AI 可以判断代码有没有错误。

但只有我能判断:

“这是不是我想要的网站。”

16 / F DIGITAL AI

16. 从 Portfolio 到 f Digital AI

网站做到后来,它的定位也发生了变化。

一开始它只是:

我的个人作品网站。

后来变成:

我的个人数字空间。

再后来:

我的作品、研究和 AI 的统一入口。

所以我开始把它理解成:

f Digital AI

它包含几个不同层级:

f
│
├── Writing
├── Research
├── Projects
├── Knowledge
│
└── AI
      ↓
 Understand / Retrieve / Answer

文章让别人看到我写过什么。

项目让别人看到我做过什么。

AI 则尝试回答:

“f 会怎么理解这个问题?”

这让一个传统个人网站拥有了一种以前没有的能力:

它不再只是等待别人点击页面。

它可以开始和访问者产生对话。

17 / F DIGITAL AI

17. AI 真正改变的不是“写代码的速度”

回头看整个过程,我觉得 AI 最大的价值其实并不是:

“以前写这个网站需要三个月,现在三天就可以写出来。”

真正的变化是:

想法和产品之间的距离变短了。

以前我想到:

“这里如果可以这样交互就好了。”

接下来可能还需要:

设计,

沟通,

排期,

开发,

测试。

最后这个想法可能根本不会被实现。

但现在的过程越来越接近:

Idea
↓
Conversation
↓
Implementation
↓
Real Product

很多以前只会停留在脑子里的东西,

现在可以直接被做出来。

这可能才是 AI Coding 真正改变我的地方。

18 / F DIGITAL AI

18. 当前的网站

走到今天,这个网站已经不再只是一个静态作品集。

它同时是:

我的个人主页,

我的写作空间,

我的研究档案,

我的项目展示,

也是我实验 AI Product、Router、RAG、Cache 和 Personal AI 的地方。

更重要的是,

它本身也是我使用 AI 工作方式的一次实验。

这个项目没有一个传统意义上的“完成日期”。

因为只要我还在产生新的想法,

它就还会继续长。

19 / F DIGITAL AI

结语

以前做一个个人网站,

很多时候只是为了向别人展示:

“我是谁,我做过什么。”

但 AI 出现以后,我越来越觉得,

个人网站可能会变成另外一种东西。

它不仅保存一个人的过去,

还可以理解这些信息,

连接这些信息,

甚至替这个人与别人进行第一轮交流。

所以现在我对这个网站最感兴趣的地方已经不是:

“它看起来够不够像一个 Portfolio。”

而是:

一个人的网站,最终能不能变成这个人在互联网上的数字接口。

这也是我现在继续做 f Digital AI 的原因。

因为它最终想表达的并不是:

“这是我的网站。”

而是:

“这是我正在互联网上构建的另一个自己。”

下一个案例

把 AI 留在自己的电脑里:我的 Personal AI Secretary 本地部署实践

↗