Coder & Anthropic 访谈摘要
深入探讨 Claude Code、远程开发环境及 AI Agent 在现代软件工程中的应用
Ben @ Coder
Kyle @ Coder
Jaclyn @ Anthropic
Cat @ Anthropic
核心产品介绍:Claude Code & Coder
- Claude Code: 一个存在于终端中的 AI 编码 Agent 工具。
- 设计哲学: 核心是可扩展、可定制、可破解 (extensible, customizable, hackable),允许开发者深度集成到自己的独特环境中。
- 核心优势: 兼容性极强(VS Code, IntelliJ 等),能无缝融入开发者现有的工作流,因为“几乎每个开发者都使用终端”。
- Coder: 一个企业级的远程开发者环境平台。
- 协同工作: Coder 为 Claude Code 提供了理想的运行环境,允许在云端隔离、异步地运行多个 Agent 实例,实现“Multi-Claude”工作流。
软件工程方法与开发工作流深度讨论
Anthropic 内部开发文化与工作流
- 工具栈: 普遍使用 VS Code, IntelliJ, 并深度集成 Claude Code 和 GitHub Copilot。
- AI 使用文化: 鼓励工程师“激进地”使用 AI (use AI as aggressively as possible),通过分配高难度任务来探索和拓展 AI Agent 的能力边界。
- 代码审查 (Code Review): 对于 AI 生成的代码,责任完全在PR 提交者,而非审查者。提交者必须理解并验证代码的正确性。
- 质量保证策略:
- 测试驱动开发 (TDD): 在编写功能代码前先编写测试,以确保 AI 生成代码的质量和可信度。
- 视觉验证: 对于前端更改,会让 Claude Code 生成应用截图,以便进行快速直观的验证。
- 内部推广模式: Claude Code 最初是一个个人项目,通过“同心圆”模式自然传播,从个人到团队,再到整个公司,最终成为大多数技术人员的核心工具。
软件开发生命周期 (SDLC) 集成
- CI/CD 集成:
- 通过 GitHub App 和
/slash
命令让 Claude 辅助代码审查。
- 利用 Claude 判断 PR 在被批准后新增的 commits 是否需要重新的人工审批。
- 让 Claude 自动分析并尝试修复失败的 CI 测试。
- 生产运维 (On-Call & Debugging):
- 自动化故障排查: 将 On-Call Playbook 转化为 Claude 的自定义命令,输入堆栈跟踪 (stack trace) 后,Agent 能自动分析日志、检查云资源 (GCP/AWS),并定位根本原因。
- 从文档到原型 (Docs to Demos): 内部文化转变,倾向于让 Claude 快速构建一个可交互的工作原型,而非花费大量时间编写设计文档,这提供了更直观的反馈。
- 避免 Agent 噪音: Anthropic 内部大多数 Agent 工作流由人工触发,而非完全自动化,以避免产生大量无用的“垃圾”PR。
安全性设计与企业级实践
- 权限系统: 默认只读。任何文件修改或命令执行都需要开发者明确批准 (approve once / always)。
- 文件系统沙箱: Agent 只能访问和修改其被初始化的目录内的文件,无法“逃逸”到其他文件系统路径。
- 提示注入防护: 对来自 Web 搜索等外部不可信源的内容,会先通过一个分类器模型进行恶意指令检测。
- 缓解“批准疲劳” (Prompt Fatigue): 允许用户将常用且安全的命令(如
npm install
)加入白名单,减少不必要的交互。
- 企业安全黄金法则 - “致命三角”: 绝不允许一个 Agent 环境同时拥有以下三项权限:
- 访问私有/专有数据。
- 无限制的互联网访问。
- 处理不可信的外部数据。
- 最佳实践: 在 Agent 运行环境中移除永久凭证,转而使用有时效、权限受限的 Agent 身份标识 (Agent Identities),并从基础设施层面(如网络策略)进行硬隔离。
模型能力边界与未来展望
- 挑战:如何达到 100% AI 编码: 瓶颈不仅在于模型智能,更在于“产品悬置” (product overhang)。
- 核心缺失: Agent 需要更强的自我验证 (self-verify) 循环。未来的产品需要提供让 Agent 能自行测试其代码更改的机制。
- 模型待提升: 需要更好的“代码品味” (code taste),即在正确的抽象层次上进行修改,而不仅仅是功能实现。
- 当前局限性: 对于大型重构、跨多个文件的复杂任务,或充满历史遗留“坑” (gotchas) 的代码库,Agent 表现会下降,需要开发者提供更精细、迭代式的指令。
- Claude Code 路线图:
- 多平台覆盖 (More Surfaces): 从终端扩展到更多开发者工作的场景。
- 更丰富的上下文 (More Context): 集成 Slack, Jira, 设计文档等,让 Agent 获得与人类开发者同等的信息。
- 强化 SDK: 达到与 CLI 的功能对等 (feature parity),并支持开发者构建任意领域的通用 Agent。
高级技巧与 Q&A 精华
- Multi-Claude 工作流: 同时运行多个 Claude Code 实例处理不同任务。最佳实践是使用
git worktree
或克隆多个仓库副本,确保每个 Agent 在独立的、非重叠的文件空间中工作,避免冲突。
- SDK 的三大用途:
- 封装成更友好的 GUI。
- 定制化为特定角色的 Agent (如 SRE Agent, 安全 Agent)。
- 用于构建非编码领域的通用 Agent (如法律、金融)。
- 子 Agent vs. Multi-Claude: 子 Agent 用于加速单个任务内部的并行步骤;Multi-Claude 用于同时处理多个独立的任务。
- 可靠的 Undo 功能: 正在开发一个不依赖 LLM 的、更稳健的撤销功能,这是社区呼声最高的功能之一。
- LSP (Language Server Protocol): 鼓励用户为自己的项目配置 LSP 服务器,这能为 Claude Code 提供更精确的代码上下文和导航能力。