Drupal AI Playground实践:用AI搭建模块的经验与应对技能替代的思考

Drupal (AI) Playground: Training and practicing building a module using AI

文章介绍了作者在使用AI搭建Drupal插件报告模块过程中的实践与感悟。包括AI在编写代码中的优势,如何利用AI扬长避短,以及面对技能被替代的思考与应对策略。实践得出AI可大幅提高效率,开发者应积极与之协作并适应变化。

作者在Drupal (AI) 实验区探索时,不断经历着成功与失败。失败往往源于对AI期望过高,一次性要求过多任务;成功则在提出实用、简单且可实现的要求时更容易达成。

随着对Drupal新生态系统的了解和维护,作者习惯审查所有可用插件。为Webform模块创建多种报告,为ECA开发了Report模块,还为Meta Tag模块贡献补丁以生成插件报告。过去创建和维护报告耗时费力,如今AI让这类简单任务变得轻松。很多非技术人员也借助AI搭建网站或生成报告来展示信息。作者的目标是创建一个涵盖所有插件管理器、插件定义和插件详情的报告。

借助AI创建的Plugin Report模块并不复杂。Claude Code在编写PHP自省代码时,仅需克服满足PHPStan六级编码标准这一挑战。该模块也成为锻炼作者引导AI能力的实践。作者最大的收获是利用Claude解决了自己在Drupal中不擅长的JavaScript问题。

作者过往编写过大量JavaScript,但如今主要用于优化Drupal的界面与用户体验。在为插件报告开发带关键字搜索功能的客户端表格时,作者让Claude复制Drupal核心的插件管理表格筛选脚本,Claude轻松完成了命名空间、类和ID的修改。此外,Claude精准地修复了搜索输入框清空后表格显示不重置的问题,并做好注释。它还实现了将jQuery代码转换为原生JavaScript并去除jQuery依赖的操作。

在线资源已详细记录了将jQuery代码转换为原生JavaScript的方法。通过简单提示就能实现转换,专门的智能代理技能使其更加可靠。像去除Drupal模块中jQuery依赖这样可能耗时数小时的工作,AI仅需几分钟。这让作者意识到,曾经引以为豪的组织重复任务并按部就班完成工作的能力,在AI面前变得无足轻重。

作者对Kent Beck的观点深有感触,即自己多年积累和完善的技能,90%已变得毫无价值,而剩余10%技能的价值却提升了1000倍。作者深知要接受这一现实并不容易,且不知如何让这10%的技能发挥更大价值。

目前来看,作者期望的“技能价值提升1000倍”并不现实。使用强大工具需要经过训练和实践。创建Plugin Report模块主要是为了练习如何借助AI开发项目。作者不确定是否有系统的方法教授他人使用AI,就如同提升对话能力最好的方式是亲身实践并反思总结,写博客也是作者反思和适应AI的过程。作者认为分享所学能巩固知识。

同时,作者分享了一些使用AI编码代理的技巧:

  • 尝试同时使用两个AI编码代理,了解其特点并相互验证结果。作者正在试验Claude Code和Codex。
  • 加入相关Reddit群组,学习如Claude Code和Codex等工具的使用方法,避免常见错误。Anthropic也推出了Claude培训课程。
  • 配置额外工具辅助AI,如Agents.md、技能和MCP服务器。

在提出需求方面,作者给出以下建议:

  • 从简单可完成的任务入手,提供示例代码,有助于获得理想结果。
  • 启用计划模式,在AI执行操作前了解其具体步骤。
  • 若AI执行出现问题,重新开始并尝试更简单的方法或提示。

最新的AI模型对Drupal有很好的理解,Drupal.org和GitHub上的内容都已被大语言模型收录。不过,让AI在Drupal核心、第三方模块和网络中搜索代码示例仍有帮助。要充分利用Drupal的模块化特点,使用AI编写有测试覆盖的小块代码。

放弃90%的技能并非易事,作者还在探索如何发挥剩余10%技能的价值。这一过程充满挑战、挫折,但也令人振奋。

每个人的AI之旅都独一无二,但都在同一条船上。作者始终为能成为Drupal社区的一员而感到自豪。

最后,作者建议大家尝试使用AI并分享经验。上周,Drupal AI Learners Club举办了首次聚会,超过100名成员参加,大家分享了使用AI的经验、成果和挑战。每个人在这条道路上都不孤单。