
“非工程师也想开发应用!”带着这样的想法,笔者尝试利用生成式AI进行自制应用开发(称为“Vibe Coding”),但很快就遇到了“发布难关”。
为此,笔者向日本国家GMO互联网集团的现役工程师石丸智辉先生请教。在Google AI Studio中打造前端,确定应用名称为“AiLA”,随后将开发环境转移至Claude Code。经过多次排除故障,从使用Git备份源码、引入Firebase模拟器,到实现登录功能、数据库和图片存储,开发工作一气呵成。
这是一段业余与专业携手合作,充满泥泞却真实的开发纪录。
本次实现了“管理员审批用户后方可使用”的“审批制登录”功能。同时学习了Claude Code的“Plan Mode”、聊天版Claude的项目功能以及CLAUDE.md的更新维护等技巧,以提升开发的安全性和效率。
启动失败的原因是模拟器,教Claude记住启动步骤
本次工作从启动应用开始。当指令“请启动应用”发出后,Claude Code在后台启动了开发服务器,但浏览器登录时出现网络错误。通过聊天栏询问,发现虽然服务器启动了,但Firebase模拟器未启动。

每次开启新聊天,Claude Code都会部分忘记之前的上下文。之前启动时同时启动了模拟器和服务器,这次只启动了服务器。为避免重复问题,笔者让Claude Code将启动步骤写入CLAUDE.md文档,方便后续查阅。

石丸先生解释:“CLAUDE.md相当于给Claude Code传达项目前提和规则的备忘录,记录启动方法和开发注意事项。这样新聊天时能自动参考,减少重复说明。每次开发阶段结束后维护文档,是与AI长期合作的关键。”
这有效解决了Vibe Coding中“每次都要重复说明”的难题。
复杂指令先用聊天版Claude打磨,项目功能助力需求确认
本次主要任务是将当前“注册即可使用”的机制改为“管理员审批后才能使用”。
起初笔者输入“只有许可名单上的用户能登录”,但结果与预期不符。实际需求是用户提交访问申请,管理员逐一审批的工作流程,需要重新调整。
石丸先生建议,复杂需求不宜直接交给Claude Code实现,先用聊天版Claude反复对话梳理需求,最后生成专用提示语,能提高准确度。
“直接给Claude Code复杂指令,可能导致理解偏差,影响实现。先用聊天版对话整理需求,再生成提示语,结果更稳定。”
此外,本次还利用了Claude的项目功能。该功能允许在同一项目内共享前提信息和相关文件,避免每次重复传递信息,节省时间。
笔者在聊天版Claude中新建了“AiLA项目”,手动粘贴更新后的CLAUDE.md内容,并请其确认应用规格。Claude理解现状后反问想要修改的内容,随后以对话形式逐条确认需求,如新用户注册后状态为“待审批”,管理员可通过管理界面单独批准或拒绝,申请只能提交一次,未获批准用户无法进入应用界面,并准备了测试用虚拟数据。
最后请求Claude生成给Claude Code的提示语,得到整理后的指令文本。因最初提示语偏专业,笔者又请求用非工程师也能理解的表达重新编写。

石丸先生还建议提前告知Claude未来计划采用Google登录,以避免后续返工。Claude确认当前规格基本无问题。

利用“Plan Mode”预先规划,避免意外实现
将完善的提示语复制回Visual Studio Code,交由Claude Code实现。Claude Code会生成待办事项列表,逐项自动执行。审批对话框出现时确认内容并选择“是”,几分钟内完成了全部实现。
测试时,提交申请的账户状态变为“待审批”,管理员点击“允许”后该账户可登录。但申请提交后用户被自动登出,体验略显突兀。
笔者指示“申请完成后,页面跳转由用户操作控制”,但实现仍与预期不符。
石丸先生介绍了“Plan Mode”功能:
点击Claude Code聊天界面左下的“Ask before edits”,切换到“Plan Mode”,该模式不会立即修改代码,而是先分析代码库,制定修改计划,并向用户确认。适合跨文件修改或认证相关等需谨慎处理的场景,能大幅降低误操作风险。
“虽然初用时稍显复杂,但熟悉后非常实用,尤其适合初学者。”
笔者请求“去掉登出按钮,改为返回主页,自动登出但无需通知”,Claude Code给出了详细的修正计划,确认后自动执行。

用户体验得以完善,随后验证管理员端功能。使用测试虚拟管理员账户登录,能看到待审批用户列表,点击“允许”后用户可用,“拒绝”则拒绝申请。重复申请被阻止,符合预设工作流程。

最后整理CLAUDE.md与Git操作规范
登录审批功能确定后,整理文档和Git操作流程。代码已更新,但CLAUDE.md不会自动同步。笔者指示Claude Code将新功能写入CLAUDE.md。
石丸先生指出:“CLAUDE.md适合记录重要规格和运维规则。代码更新快,细节难以完全同步,重要内容留文档,细节由Claude Code读取代码即可。”
接着是将变更提交到GitHub。此前需手动提交和推送,笔者常忘记。咨询后决定在CLAUDE.md中加入每阶段提醒提交的规则。
之后,Claude Code会在每阶段结束时生成日文提交信息,弹出确认对话框,经用户确认后自动推送。虽非完全自动,但确保用户掌控。
“团队开发通常分支修改、他人审核后合并,但个人开发阶段,阶段性提交并确认推送已足够,类似保存点,便于回退。”

本次开发中,笔者仅负责自然语言指令和聊天版Claude的提示语打磨。
借助Plan Mode和项目功能,复杂的审批工作流顺利实现。当前仍是本地环境使用Firebase模拟器的开发状态,服务器停止数据会丢失,且与生产环境存在差异。
下一回将实现更多功能,完成本地开发,并将AI不仅作为“开发工具”,还作为“代码审查者”,开始进行安全检查和搭建预发布环境的优化。
(第8回待续)
作者简介:柳谷智宣
IT与商业领域作家,拥有26年职业经验,涉猎数字设备、Web服务、消费品及企业产品。近年来专注AI、SaaS和数字化转型领域。日常撰写大量稿件,已离不开生成式AI辅助工作。



