Claude 与 Discourse 相关的开发。效果如何?

我查看了 https://github.com/discourse/discourse/blob/main/AI-AGENTS.md。

我有一些问题!

  • 永远不要存储 find() 的结果 - 在重新渲染后会导致元素引用过时

  • 始终对您所做的任何更改进行代码检查

AI 能理解全大写的强调吗?如果写成“Never”和“Always”而不是全大写,它的行为会有所不同吗?

像“architect mode”(架构师模式)或其他“xxx mode”(xxx 模式)提示是否正在成为 AI 开发中的软性标准?它们对模型的行为有实际影响吗?它们是纯粹的约定吗?

  • 不要编写显而易见的测试

我能看出什么是显而易见的测试,但 AI 明白什么是显而易见的测试(或任何显而易见的事情)吗?

我花了两天时间在 VSCode 中试用 Claude。看到所有事情都能自动运行,真是令人印象深刻。阅读、创建、修改文件、运行 bash 命令等…… :exploding_head:

关于 Claude 在插件创建方面的工作,我观察到以下几点:

  • 在迭代同一段代码和解决问题时,它倾向于使用过于具体的变量名。例如,它会将一个变量命名为 original_url 而不是非常精细和简单的 url,就好像是为了指出所做的更改一样,但实际上没有必要。

  • 迭代通常会导致代码变得复杂,有时还会导致查询不必要地复杂。时不时地要求 AI 审查并指出可以重构的代码部分被证明是有用的 :slight_smile:

  • 当被要求为给定问题寻找解决方案时,我对答案感到满意。
    这些建议似乎是准确的。当它提出多个选项时,它可以准确地权衡每个选项的利弊。

  • 在 SCSS 中,它(很少)会在不建议使用的地方使用硬编码的颜色,而不是使用 Discourse 的颜色变量。

  • 它似乎没有意识到 Designing for Different Devices (Viewport Size, Touch/Hover, etc.)

  • 在执行了几项任务之后,我喜欢要求 AI 审查代码,看看是否可以在不影响可维护性的情况下优化某些部分。我对结果没有遇到太多问题。有时,它会过度修改并破坏代码。

  • 偶尔,它似乎会为了安全性和健壮性而创建不必要的条件,但这些情况我不太确定在现实世界中是否存在。
    例如,在我关于搜索的插件中,它会检查一个帖子是否关联了任何主题。但我认为在 Discourse 中,没有关联主题的帖子是不应该存在的。如果你有一个,那是不是意味着你的实例在某个时候出了大问题,对吧?我觉得在我的插件中进行这种检查没有意义。:thinking:

  • 它似乎擅长搭建测试脚手架!

总而言之,到目前为止体验不错,即使没有使用高级 AI 配置。
我花了一周的配额,只用了四天就用完了,这很棒,因为它迫使我休息三天 :raising_hands:

很好奇,当 Discourse 的技能添加进来后,它会如何变化。

3 个赞