乐于分享
好东西不私藏

人工智能应用四阶段:软件开发工作流演进与工程师角色转型

人工智能应用四阶段:软件开发工作流演进与工程师角色转型

Boris Cherny 在16日发布了一个Google网盘上的文档。Steps of AI Adoption。翻译是 人工智能应用的步骤 。

原文:https://docs.google.com/document/d/1R91ayvj7uvlxgNi–__2-Bf3w8x5r1nF-xIBN7ds8Ns/edit?tab=t.0

这份笔记旨在帮助您理解组织如何逐步采纳 AI 智能体(Agents)到其软件开发工作流中。整个过程被划分为四个主要阶段,每个阶段都代表了 AI 集成程度的加深,并伴随着不同的挑战和解决方案。

Boris Cherny 写的也更像是告诉其他企业,如何在企业内部应用人工智能。

核心理念

人工智能应用是一个渐进的过程,从最初的谨慎使用到最终实现 AI 原生(AI-native)的工作模式。每个阶段都涉及工程师角色的转变、智能体数量的增加以及对 AI 信任度的提升。

人工智能应用的四个阶段

阶段 0: 门禁阶段 (Gated)

  • 特点:
    • AI 使用受限: 组织内部对 AI 工具的访问被严格限制或流程繁琐。
    • 模型老旧/简易: 只能使用旧的、轻量级或速度较快的 AI 模型。
    • 无基础设施: 没有支持 AI 创建的代码或工件的 IT 基础设施,AI 的产出只能在本地使用。
  • 工程师角色: 几乎不接触 AI 智能体。
  • 所需工具与知识:
    • 了解遗留的安全和审批流程,并推动变革。
    • 关注 AI 使用的成本,但更要关注其带来的业务价值。
    • 在决策中引入真正的技术声音。
    • 本地 LLM 运行与聊天界面: Ollama (运行本地模型) + Open WebUI / Chatbot UI (聊天界面)。
    • 核心工具 (Claude 生态): Claude.ai 聊天。
    • 开源平替:
    • 知识/重点:
  • 主要瓶颈:
    • 遗留的安全与审批流程: 过于保守,阻碍了新技术采纳。
    • 过度关注成本: 只看 AI 使用的成本,忽视了其带来的潜在价值。
    • 缺乏技术声音: 决策层缺乏真正懂技术的人。
  • 如何过渡到阶段 1:
    • 获得高层和采购方的支持,解决阻碍。
    • 建立安全、可控地引入 AI 工具的框架。

阶段 1: 辅助阶段 (Assisted)

  • 特点:
    • 智能体作为副驾驶: 一名工程师与一个 AI 智能体协同工作,智能体扮演快速结对程序员的角色。
    • 人工监督: 智能体产出的几乎所有代码都需要人工审查才能合并。
    • 初步提效: 以前需要一下午才能完成的任务,现在可以在会议间隙完成。
  • 工程师角色: 监督 AI 智能体,审查其代码。
  • 所需工具与知识:
    • 培养对 AI 输出的信任,并学习如何高效审查。
    • 建立可信赖的自我验证循环(测试、构建、Lint、端到端测试)。
    • 掌握自动化模式。
    • IDE 编程助手: Continue (VS Code/JetBrains), Tabby (自托管), CodeGPT (VS Code)。
    • 驱动模型: CodeLlama, DeepSeek Coder 等。
    • 核心工具 (Claude 生态): Claude Code (Desktop, CLI, IDE), Claude Cowork, Claude Design, Anthropic API, Bedrock, Vertex, Microsoft Foundry, Claude Code Analytics Dashboard。
    • 开源平替:
    • 知识/重点:
  • 主要瓶颈:
    • 低信任度: 对 AI 模型的输出和自我验证能力缺乏信任,需要逐行审查。
    • 同步工作: 工程师必须坐在旁边观看 AI 工作,无法同时处理其他任务。
    • 注意力消耗: 审查 AI 产出耗费大量精力。
  • 如何过渡到阶段 2:
    • 尝试同时运行多个智能体。
    • 建立可信赖的自我验证循环(例如,AI 自动跑测试、构建、Lint 检查、端到端测试)。
    • 开启自动模式,减少手动审批的阻碍。
    • 自动化代码审查。

阶段 2: 并行阶段 (Parallel)

  • 特点:
    • 智能体编排: 一名工程师同时编排 5-10 个智能体,每个智能体都在独立的工作区工作。
    • 智能体自检: AI 智能体在提交代码前会自行运行测试、构建、Lint 检查和安全扫描。
    • 自动模式常开: 默认开启自动代码审查和安全审查。
    • 产出倍增: 工程师审查的是最终的差异(diff),而不是每一次按键操作。
  • 工程师角色: 从编写代码转向编排和引导多个 AI 智能体,审查最终结果。
  • 所需工具与知识:
    • 学习如何同时编排多个智能体,并有效管理它们的工作。
    • 信任并有效利用智能体的自我检查能力。
    • 掌握提示工程,有效引导模型。
    • 提升智能体的自主性和代码审查速度。
    • 多智能体编排: LangChain / LangGraph, CrewAI, AutoGen (微软)。
    • 代码审查: PR-Agent (CodiumAI), 自定义脚本结合本地 LLM。
    • 追踪与监控: LangSmith (from LangChain), Langfuse。
    • 核心工具 (Claude 生态): 自动模式 (Auto mode), 智能体视图 (Agent view), Claude Code Review。
    • 开源平替:
    • 知识/重点:
  • 主要瓶颈:
    • 审查输出的负担: 虽然代码编写减少,但需要审查六个甚至更多代码流,占用更多时间。
    • 会话管理: 同时处理多个智能体工作会话,需要有效提示和引导模型。
  • 如何过渡到阶段 3:
    • 让 AI 智能体能够获取更多上下文信息(读取代码库、Wiki、讨论等)。
    • 提升智能体的自主性,让它们可以修改其他团队的代码(在安全护栏下)。
    • 将工作分解为可重复的循环和例程。
    • 实现 AI 智能体之间相互启动和协作。

阶段 3: 有监督的自主阶段 (Supervised Autonomy)

  • 特点:
    • AI 主导代码编写: AI 智能体编写了全部或几乎全部代码。
    • 维护和清理自动化: 以前需要等待人工处理的维护和清理工作,现在持续在后台运行。
    • 问题关注点转移: 从“你读代码了吗?”变为“模型缺少什么上下文?下次如何解决?”
  • 工程师角色: 专注于提供 AI 智能体所需的上下文,管理和优化智能体系统。
  • 所需工具与知识:
    • 建立并维护对智能体系统(自动化循环)的信任。
    • 有效管理和优化 token 使用效率。
    • 构建强大的监控体系 (例如使用 OTel 或分析工具)。
    • 培养鼓励实验同时控制成本的组织文化。
    • 理解如何识别和解决模型缺失上下文的问题。
    • 高级智能体框架: LangGraph, AutoGen, CrewAI (支持复杂的循环和自主工作流)。
    • 自主验证: Aider (通过运行测试验证 AI 修改)。
    • 工作流编排: Prefect, Dagster, Argo Workflows (用于调度和管理复杂智能体工作流)。
    • 核心工具 (Claude 生态): 带工作树隔离的子智能体 (Subagents with worktree isolation), Routines, /loop, /batch, /goal (用于分发重复工作), 动态工作流 (Dynamic workflows)。
    • 开源平替:
    • 知识/重点:
  • 主要瓶颈:
    • 对自动化循环的信任: 在循环得到广泛信任之前,不宜盲目扩展智能体数量。
    • Token 效率: 随着使用量增加,确保 token 的高效利用。
    • 监控与文化: 需要强大的监控体系和鼓励实验但控制成本的文化。
  • 如何过渡到阶段 4:
    • 实现领域特定用例的规模化自动化(例如,代码迁移、模糊测试、功能构建、反馈修复)。

阶段 4: AI 原生阶段 (AI-native)

  • 特点:
    • 闭环自动化: AI 智能体系统完全闭环,大多数智能体由其他 AI 智能体启动。
    • 大规模智能体: 运行数百到数千个智能体。
    • 意图驱动: 工程师通过设定意图来引导系统,只在出现异常时才介入监控。
    • 季度级任务自动化: 以前需要一个季度才能完成的迁移工作,现在可以作为自动化工作流启动和检查。
  • 工程师角色: 从具体执行者转变为意图的制定者和异常的监控者。
  • 所需工具与知识:
    • 掌握大规模工作自动化和护栏的实施。
    • 通过意图引导系统,并有效监控异常。
    • 深入理解智能体系统架构和闭环自动化。
    • Agent SDK/框架: LangChain, LangGraph, AutoGen, CrewAI (用于构建、调度和管理智能体)。
    • 调度与触发: Kubernetes CronJobs, Prefect, Dagster (用于工作流调度); Slack/Discord Bot SDK (例如 Bolt for Slack, discord.py) 结合后端 Agent 框架 (实现类似 Claude Tag 的功能)。
    • 核心工具 (Claude 生态): Claude Agent SDK (编程方式构建和调度智能体), Claude Tag (集成到聊天工具)。
    • 开源平替:
    • 知识/重点:
  • 主要瓶颈:
    • 大规模工作的识别与自动化: 找出并实现大规模的自动化工作。
    • 强制执行正确的护栏: 确保各种工作都有恰当的防护措施。

总结

人工智能应用的旅程是一个不断释放工程师双手,让 AI 承担更多重复性、低级任务的过程。随着阶段的深入,工程师的角色从“执行者”转变为“监督者”、“编排者”,最终成为“意图设定者”和“异常管理者”。无论是选择商业解决方案还是开源平替方案,关键都在于逐步建立对 AI 的信任,并通过自动化测试、审查和监控来确保其产出的质量和安全性。开源方案虽然可能需要组合多个工具,但提供了更高的灵活性、可定制性和数据隐私性。