news 2026/3/25 23:25:24

如何让AI写出一个稳定的应用

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
如何让AI写出一个稳定的应用

本文作者为 360 奇舞团前端开发工程师

前言:
AI时代,前端转型势在必行,或者说环境已经开始逐步在强制你转型了,从前两年的与AI共同编程,到现在AI已经开始完成大多数的工作了。那么前端如何定位自己的角色就更显得重要了。作者就是从一名前端,逐步转成了一个AI开发者,不再局限在前端领域,而是多语言的开发者,或者说是AI工具或者AI驱动的项目开发者。

本文而是作者在多个真实项目中,通过不断试错、总结、优化 Prompt 和工程流程后,沉淀出的一些经验(可能有不准确的地方,完全是根据自身工程经验的总结)。

如何让AI写出一个完整的项目,并且这个项目还能做到符合预期且代码健壮稳定。

目标只有一个:

如何让 AI 写出一个完整、可维护、符合预期,并且足够稳定的真实项目。

我大概总结了几个部分

1. 提示词

  • 清晰的输入源

    你应该知道你的上游是什么,输出是什么。如果有,要如何处理,避免这些影响的自己的上下文。

  • prompt如何写

    也就是你如何组织自己的prompt。很多人觉得 AI “不稳定”“经常胡写”“代码质量不行”,但实际项目中你会发现:80% 的问题,出在输入,而不是模型。

    我总结了很重要的一点就是结构化

    结构化是指两个方面,一个是你描述的需求要有明确的结构层级。 如:

    那么你的输入应该类似这样:

    你是一个资深前端 + AI 工程师
    你的目标是将 Figma 原型转换为 React 项目
    输入包含:原型图片 + Figma 节点数据
    输出必须是可运行的 React 项目
    不允许留下 TODO
    不允许修改已有文件

    第二点就是对输入输出的结构化要求,也就是大模型比较容易理解的如XML结构

    这一点是因为在大模型的训练过程中,接收了大量的Xml的结构化数据,所以它天然的对这种结构敏感。这个在claude文档中曾经提到过。如去年爆火的bolt.new的开源版本里面,它的prompt可以看到大量的结构化提示词

    可看到很多的结构化指令

    • 角色定义

    • 目标描述

    • 输入说明

    • 输出要求

    • 约束条件

    • 失败处理规则

  • 分层次,反向提示 不要一次性让 AI 干所有事。

    错误方式:

    根据这些内容,帮我生成一个完整项目

    正确方式:

    第一步: 只让AI分析

    第二步: 只让AI给方案

    第三步:只让AI生成代码

    第四步:只让AI修复问题

    并且加入反向提示:

    如果信息不足,必须明确指出 不允许自行假设 不允许使用未声明的库

    这一步能极大减少“看似合理、实际不可用”的幻觉代码

  • 提示词不要怕多,把你想到的边界情况都写上也不无不可, 毕竟现在模型的理解能力和上下文长度已经有了很大的提升。

2. 工程化

真正能落地的 AI 开发,一定是工程化的,而不是聊天式的。

过程可控、分步骤,而不是一次性生成

你可以把 AI 看成一个不太聪明但执行力极强的工程师, 前提是你要拆好任务

例如一个真实项目流程:

初始化项目结构

锁定技术栈

生成页面骨架/路由等

其它部分

代码自检与修复

每一步都有明确输入和输出

如果拆的足够细致,那么每一步的产出其实都可以用我们工程化的方式来解决,对产物的检查会大幅度的减少AI的乱写的情况,同时还能给我们节省很多不必要的token浪费

增加模版

模版是限制AI发散的非常有效的方式。在很多优秀的开源项目中也都是提供了大量的模版来实现。

想象一个让AI在一个圈子里面发挥,和让AI无边界的发挥哪一种会更加的稳定。毕竟我们需要的是一个生产项目,而不是一个聊天机器人。

mcp

其实这个更多的是为了让产品更加的看起来像 "产品"。

毕竟让AI生成一个城市的实时天气情况,它最后给你的是一堆假的数据摆在那,也很让人出戏。

模型选择

这个没有太多选择,就是claude系,对指令的遵循非常好。

gemini3最近也挺火,试了一下,试图能力确实比claude要好,但是说指令遵循,自我感觉没有claude更好。

其它

整个过程也遇到了一些问题,比如最大的问题就是AI编写速度这个。

也尝试过并发处理,其实就是用空间换时间,如果能做到当然很好,没有去做特别深入的尝试。但是可想而知会有一个问题就是上下文同步的问题,怎么保证每个session之间的上下文是有关联的,比如我们的路由,点击跳转,状态管理等等。

或者是父子session的方式,但是又该如何划分职责,以及记忆管理都会比较复杂。

但终归是有办法解决的,但同时也可以有另一个反思就是既然我们做的是一个完备的可上线的东西,那么对应的时间耗费是否也是可以接受的。

从稳定性和上下文管理的角度来说,业界已经出了对应的agent产品来解决,claude code和gemini cli都是帮你解决这些问题的。它们可以帮助你解决上下文自动压缩的问题,工具使用,文件查找等等以前需要我们手动的补全的能力。

而且claude code真心好用,有了它之后我们之前的代码可以节省70%,它做到了一个真正的agent能做到的事情。但是即使用了这个agent的产品,也会面临很多情况,比如我们就遇到了一些情况。

一个是频繁对话以及一些输入过大的情况,最终会撑爆上下文。或者它自身记忆的问题导致它不记得的cwd目录,导致它自己去寻找目录写入文件。

目前它也提供了一些好的方式去解决。比如subagent, 读写钩子或者Skill等能力。

这里很多步骤的细节没有很具体的写,涉及到的问题会很多,感觉每一个细节都可以详细的出一篇文章的地步。

虽然上文说到了工程化去解决一些问题,实践中其实大家都感觉到了一点就是人为的干预在越来越少。也就是大模型的能力始终在进步。我们目前的一切操作,似乎都是在给过渡阶段打补丁。

-END -

如果您关注前端+AI 相关领域可以扫码进群交流

添加小编微信进群😊

关于奇舞团

奇舞团是 360 集团最大的大前端团队,非常重视人才培养,有工程师、讲师、翻译官、业务接口人、团队 Leader 等多种发展方向供员工选择,并辅以提供相应的技术力、专业力、通用力、领导力等培训课程。奇舞团以开放和求贤的心态欢迎各种优秀人才关注和加入奇舞团。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/3/25 22:25:34

MIPI 接口详解

MIPI(Mobile Industry Processor Interface,移动产业处理器接口)是由 MIPI 联盟制定的高速串行接口标准,核心目标是为移动设备(手机、平板)及嵌入式系统提供低功耗、高带宽、标准化的外设连接方案&#xff…

作者头像 李华
网站建设 2026/3/20 7:05:32

AI开发-python-langchain框架(1-11 返回枚举-格式解析器)

跟上一篇内容一样,这次我们来看如何限定大模型返回的结果值是枚举类型的。 先看代码: # 导入必要的模块 from langchain.prompts import PromptTemplate # 用于创建和管理提示模板 from langchain_openai import ChatOpenAI # 用…

作者头像 李华
网站建设 2026/3/23 9:43:39

2026 AI红队测试工具全景指南:攻防演进、技术标杆与未来布局

在生成式AI从技术落地走向规模化商用的2026年,大语言模型、多模态代理、AI原生应用已深度渗透金融、医疗、政企、互联网等核心领域,AI系统的安全漏洞从“技术隐患”升级为“业务风险”。AI红队测试作为模拟攻击者视角、系统性挖掘AI全生命周期安全缺陷的…

作者头像 李华
网站建设 2026/3/24 17:10:12

高性能内存分配器Hakozuna发布,性能对标主流

hakozuna (hz3) - 一款新发布的内存分配器 ✅ 性能与 mimalloc/tcmalloc 相竞争 ✅ 在多线程远程释放场景下性能提升 28% ✅ 通过 PTAG32 元数据查找实现 O(1) 复杂度的释放路径 📄 论文: https://doi.org/10.5281/zenodo.18305953 💻 代码: https://git…

作者头像 李华
网站建设 2026/3/25 5:00:38

基于深度学习YOLOv12的辣椒叶片病害识别检测系统(YOLOv12+YOLO数据集+UI界面+登录注册界面+Python项目源码+模型)

一、项目介绍 辣椒叶片病害严重威胁农业生产,传统病害识别方法依赖人工经验,效率低且易出错。本文基于深度学习技术,提出一种基于YOLOv12的辣椒叶片病害智能识别系统,实现高效、准确的病害检测。系统针对5类常见辣椒叶片病害&…

作者头像 李华
网站建设 2026/3/22 14:14:10

从零开始学 RabbitMQ:编程小白也能懂的消息队列实战指南

从零开始学 RabbitMQ:编程小白也能懂的消息队列实战指南 🌟 一句话定位:RabbitMQ 是一个“智能快递中转站”——帮你把程序之间的消息安全、有序、不丢件地送达到位。 很多刚学编程的朋友听到“消息队列”“MQ”“异步解耦”就头大&#xff1…

作者头像 李华