作者

InterSystems中国
文章 Claire Zheng · 13 小时 前 3m read

使用 InterSystems 进行 AI 辅助开发(Claude Code)

使用 Claude Code 实现基于 InterSystems 的 AI 辅助开发

Claude Code 是一款非常实用的工具。它能帮助解释方法、追踪 SQL 查询(获取结果甚至设置新值),或为代码提供修复/更新建议。
但要充分发挥其最佳效能并实现成本效益,仅靠让它解决问题是不够的。为了让 AI 更高效(且更安全),你还需要决定允许它修改哪些内容(就我而言,在我亲自审查其建议的修改并检查受影响的文件之前,不允许它进行任何修改), 它所需的上下文大小(主要由所用模型决定),以及该任务应投入多少推理精力(这会影响推理的深度,以及令牌的生成/消耗,从而影响成本)。

上下文压缩

随着对话规模的扩大,Claude Code 最终需要压缩其上下文(大多数模型的限制约为 100 万个令牌)。它会总结之前的对话内容,为后续对话腾出空间。 问题在于,摘要可能会遗漏你仍认为重要的内容,例如已被否决的方案,或是“不要触碰特定组件”之类的指令。

虽然 MEMORY.md 文件有所帮助,但它并不能保证每条指令在整个会话中都可用或被遵循,因为 Claude Code 只会自动加载其内存索引中的一小部分。
因此,你需要将最重要的指令放置在项目根目录下的 CLAUDE.md 文件中,因为该文件会在压缩后重新加载,而一些嵌套指令仅在需要时才会被重新加载。

将关键的项目规则放置在能被可靠加载的位置,并保持其简洁明了,有助于防止上下文压缩后出现问题,同时也能在一定程度上降低计算开销。
对于真正重要的限制,您还需要使用权限和访问控制(例如,隔离 MCP,以确保单个代理无法同时访问不同的环境),因为仅靠书面指令无法强制执行边界。

根据任务选择合适的模型和推理强度

并非每项任务都需要运行功能最强大的模型并将其推理水平调至最高。

例如,解释一个简短的方法或进行一个明确定义的小幅编辑,使用成本较低的模型和较低的推理强度设置可能效果很好。
但涉及 ObjectScript、SQL、JavaScript 和应用程序配置的问题则情况不同。

难点往往在于理解这些部分如何相互作用。功能更强大、推理强度更高的模型可以通过减少失败尝试和重复更正来节省时间。推理强度设置允许您调整模型的推理深度。建议从适合该任务的较低级别开始,如果结果表明需要更深入的分析,再将其提高。

无论您选择哪种设置,都请审查更改并测试由此产生的行为。

注意暂停后的情况

如果提示缓存已过期,在暂停后返回一段较长的对话可能会增加处理成本。当后续请求必须处理原本可从缓存中复用的内容时,就会产生额外成本。

在 Claude Code v2.1.242 或更高版本中,<code>promptCacheTtl</code> 支持 <code>"5m"</code> 或 <code>"1h"</code>。如果您经常离开会话并在五分钟后返回,则“1h”选项会有所帮助。

.claude/settings.json

结论

在 InterSystems 开发过程中,Claude Code 可以节省时间,但仍需明确界限并进行仔细审查。选择合适的模型和设置有助于控制成本,而可靠的指令和受限的访问权限则可减少不必要的更改。开发者仍需负责决定需要更改的内容,并检查结果是否符合预期。