AI编码标准化方案思考

86 阅读9分钟
  • 前言:AI编程工具的痛点:

    • 你我都知道 AI编程工具很行,但是我让他写个页面,他好像也不是那么行;
    • 我让它写他就写了,🉑它写了一大堆,我不知道他写是啥。一旦运行结果不理想时,我除了要看业务代码,我还得看AI生成的一大堆代码,生成量上来以后头疼的一批;
  • 基于AI编程工具实现同一个需求点,一万个人来实现,就有一万万种思考方式和一万万表达方式,还有一万万种提示词的编写方式,那么如何让AI工具的使用足够简单,还能实现足够标准化的产物,就是当前“大模型组件化”方案要解决的核心问题

  • 设计之初,计划是从需求自身视角进行细粒度的拆解,然后针对不同复杂程度的设计不同程度的模板,但是基于一段时间的使用实践后,否定了这个思路,首先需求类型复杂多变,相同类型的需求类型定义容易丢失准确性和灵活性,并且会限制AI的能力,还要管理和维护大量的场景模板,使用体验也很差,有很强的局限性,不同项目扩展实施难度较大,整体来讲不够AI;2.0版本中基于相同的范式,易于在不同项目中进行扩展,而且遵循官方设计和工程化标准,易于管理、维护、且足够灵活;

认识AI编程工具,了解AI编程工具的特点、使用方式和能力限制;

-AI编程工具类型

Plugin:Lingma ...

IDE类型:Cursor、Copilot、 windsurf 、Tare、Lingma、ima(腾讯);

Agentic Coding:Claude Code(Anthropic)

AI幻觉、产生原因及应对措施;

  • 什么是AI幻觉

image.png

  • 产生原因
数据偏差:训练数据中的错误或片面性被模型放大(如医学领域过时论文导致错误结论)。
泛化困境:模型难以处理训练集外的复杂场景(如南极冰层融化对非洲农业的影响预测)。
知识固化:模型过度依赖参数化记忆,缺乏动态更新能力(如2025年后的事件完全虚构)。
意图误解:用户提问模糊时,模型易“自由发挥”(如“介绍深度学习”可能偏离实际需求)。

参考链接:https://juejin.cn/post/7474264487497236531

  基于AI开发过程中的问题,我们要如何应对:

  • 始终检查AI生成的代码逻辑和依赖项;
  • 始终进行成果运行确认;

大模型特征及选型;

-按行为选择模型:

-思维型模型:(claude-4-sonnetgemini-2.5-proo3(专为复杂推理而设计))

  • 当您希望模型运行任务时,这是理想的选择
  • 不需要太多提示,但有时更固执己见
  • 可以带来比你预期更大的改变

当您探索想法、广泛重构或希望模型更加独立地运行时,请使用这些。

-按风格选择模型:

有些人喜欢主动出击的模型,而另一些人则喜欢等待指令的模型。

学术:指模型生成与事实不符、逻辑断裂或脱离上下文的内容,本质是统计概率驱动的"合理猜测" 说人话:一本正经地胡说八道 事实性幻觉:指模型生成的内容与可验证的现实世界事实不一致 忠实性幻觉:指模型生成的内容与用户的指令或上下文不一致

-按任务类型选择模型:

-非思维模型:

claude-4-sonnetgpt-4.1

  • 非常适合精确、可控的变化
  • 需要更多提示,但行为更可预测
  • 更容易指导、修改和微调

当您需要严格控制、需要一致的行为或正在执行明确定义的任务时,请使用这些。

了解windsurf(Cursor 相似)

  • 基础使用说明书;

  • 帮助windsurf更好的执行任务工具

    • Rules :规则可以在全局级别或工作区级别定义;
    • Memories:Memories是用于在对话间共享和保存上下文的系统,面板会自动保存它认为有用的Memories,也可以手动更新;
    • Workflow: 工作流使用户能够定义一系列步骤来指导 Cascade 完成一组重复的任务;
  • 优化方案

    • 提示词模板(初版):按某个特定模板输入内容

    • 工程化方案:

      • 解决问题:AI健忘、重复解释、代码不一致、团队协作困难

        • 私有指令集(无初版):.windsurf.my.md 写入.gitignore 忽略,独享;

        • 项目级通用模板:可以让 AI持续记住你对它的指令,这些指令可以在团队和所有项目间共享

        • 引入README和changeLog ,持续完善和更新机制;

        • 适配某个前端项目的配置模板(后续其他工程基于该配置让AI工具进行调整适配)

      • 官方关于windsurf 上下文token的限制说明(docs.windsurf.com/best-practi…

最佳实践

  • AI 准则:

    • 持续拥抱变化的意识,周期性的更新“内在校准”(直觉):知道AI工具能做什么,极限在哪里(哪些事情可以一发搞定,哪些事情需要经过两三次的引导才能够完成的);
    • 每次更换模型,都要重新认识,不断更新“内在校准”;
  • 提示词

    • Winsurf官方推荐的最佳实践(docs.windsurf.com/best-practi…

      • 最佳promopt(提示词不限输入格式:明确预期、背景描述--memories补充、约束--rules实现)
      •     明确的目标或结果
      •       执行任务的所有相关背景
      •     必要的约束
  • Workflow

    • 价值:用户通过预置指令启动编程任务,阶段化AI编程工作流程,以最佳实践步骤完成编码任务
    • 优势:符合社区或官方推荐的AI编码最佳实践,AI自动规划、阶段性执行降低成果理解负担,阶段化微调,及时修正AI工作方向,提高编程的准确性;
  • AI编码场景(这里基于主观判断)

    

  • 简单场景:

    • 价值:充分发挥AI性能,避免过多的人为因素干扰;
    • 约束:.windsurf配置文件提供约束,保证AI的工作目标准确性;
  • 非简单场景:基于/workflow + Figma MCP(当前基于framelink,后续改成Figma官方的MCP)

    • 阶段化任务执行过程方案:(此处省略图片)

常见误区:

-直接让 AI编程工具实现一个很复杂的功能,结果它写出来的内容和你预期差距很大,或者成果根本不具备可用性;

-没有上下文,直接让AI开始“冥想”,它写出来的东西要么天马行空,要么啥也写不出来,跟人一样,不看代码,只坐着想,是没用的。反之先让 AI 把一些相关文件读一下,然后让它开始头脑风暴,列思路,再让它开始写代码,AI表现就会特别好;

持续集成:

1、组织不定期的模板更新评审会和使用体验复盘;

2、建议增加和扩展的好用的各种插件、工具、自定义MCP服务等;

3、其他想增加的内容...;

关于如何做一个合格的提示词攻城狮和如何写好.md文档

# 角色 # 背景 # 描述 # 目标 # 技能 # 步骤 # 限制 示例等等

关于如何修改感知习惯的解决办法

场景描述:使用了/workflow工作流以后,在同一个对话面板中的后续沟通,大概率会沿用当前工作流对话风格(经常暂停任务),有同学期望再灵活一点,针对此场景有两种场景及解决方案

  • 新建对话面板,实测此时对话风格不会受到其他对话面板中使用/workflow工作流影响,但是会受规则或memories约束;
  • 在同一个对话面板中完成多个任务(不推荐)或者进行多次撤销(Revert)操作,此时在当前对话面板中如果有使用过/worklow工作流,则大概率在后续的对话中都会受到影响 或多或少,如果一定要延用本次对话,可以通话对话窗口

扩展

  • 定制场景模板
  • Function Calling 工具
  • Agent
  • MCP (社区资源和企业级私有化MCP服务)
  • 好用的辅助开发插件
  • 评测系统:评价标准量化,有助于纠偏和持续提升AI编程能力;

使用说明

测试过程记录

windsurf 忽略

.gitignore中写入的规则和文件,会禁止AI就无法直接对这些目录下的文件进行读写操作(包括创建、修改); windsurf初始化时,会避开node_modules、gitignore、.xxx文件/夹 解释一个典型疑惑:在加入将.windsurf加入 .gitignore之前windsurf已经通过项目中的.windsurf配置初始化了Rules、workflows(memories未初始化 分析可能是因为没匹配到的原因),并且记录下来了;

重置windsurf(Bate版本叫windsurf-next)

windsurf IDE引入framelink Figma MCP (现在官方MCP市场的Figma已经即可用,工具更丰富 推荐)

  • TIPS:

    • 实际测试下来,Figma的UI如果是拿图片堆出来的,元素渲染指令是识别不到的,可以在微调阶段通过截图补充解决;
  • 前置背景:

    • 建议将Nodejs升级到最新版本;

    • figma官方也有一个Figma mcp,据说稳定性和准确性都比较高,工具也比较丰富,但是那个还在bate阶段,同时也需要较高版本的Nodejs,而且目前安装基本上都是报错的,待后续稳定了再升级,大概率是付费使用的;

    • 当前先采用社区的平替方案(www.framelink.ai/docs/quicks…

      • 优点:免费、社区口碑还阔以;
      • 缺点:工具较少,能力不够丰富和准确性还有待商榷;
  • 使用步骤:

    • 安装

    •   {
          "mcpServers": {
            "Framelink Figma MCP": {
              "command": "npx",
              "args": [
                "-y",
                "figma-developer-mcp",
                "--figma-api-key=换成自己的Token,其他不变",
                "--stdio"
              ]
            }
          }
        }
      

image.png

尚存在未解决问题

  • /workflow 工作流的控制能力好像未实现百分百的精准约束;

    • 分析:好像跟用户的操作行为有关,受windsurf的感知系统影响,记录了一些无法观察的上下文;

    • 解决:

      • 深入研究感知系统实现原理,找到记录感知结果的文件;
      • 结合memories,先拆解工作流上下文,分阶段插入工作流,始终让工作流的上下文保持在每次AI思考的头部;
  • 规则和meomries不够完善和精准;

Credit 计费规则(docs.windsurf.com/windsurf/ac…

新增窗口关联上下文方法:

  • 新开窗口可以通过指令关联之前对话概要,提升当前对话效率

windsurf 接入Figma 官方MCP

  • 本地先安装Figma App;

  • 这里先把服务跑起来(不刷新一下windsurf 运行一直会报错跑不起来)