夜雨聆风学习资料网

ARTICLE · 977487

受托管软件的黄金时代是否会到来?--分析AI时代的软件功能范畴

受托管软件的黄金时代是否会到来?--分析AI时代的软件功能范畴

一、导论

当前开发者已经深度接纳了微服务架构的合理性。
从本质上来讲,微服务优势在于解耦,而且逻辑(如对应于部门组织的权责)解耦的意义甚至大于技术解耦。多数软件完全可以设计成逻辑架构清晰的独立应用。
软件就绪后需要运行,从部署角度,可以分为:
  1. 客户端。多数具有主观的可交互界面,如桌面系统的浏览器,办公软件,即时聊天等。
  2. 服务器。长时间后台运行,实现业务逻辑。
我们将服务器进一步细分为非托管和受托管的运行环境。
受托管的技术含义是,只需要开发并部署业务相关的代码,如Serverless,Servlet,Managed Agents等。
而非托管是指,通过开发框架,应用被构建为一个完整的程序,作为进程或容器实例运行。当然,进程也必然会被操作系统和容器运行环境所“管理”。
12要素方法论中,微服务被推荐作为无状态的进程。
然而,在AI时代,上下文窗口和Agent具有记忆,状态无处不在,受托管环境再次体现出其重要性。
本文暂不展开探讨受托管服务器环境技术特点,从高层次对AI时代的软件功能范畴进行分类:

二、非托管运行环境

各种主流语言开发框架

  • Java: Spring Boot, Quarkus
  • Python: Flask, Fastapi
  • Javascript: Node.js, Express.js
  • Rust: Tokio+Axum
  • Go: Gin

编排环境

1. 容器,非K8s
  • Docker Compose
  • .NET Aspire (可部署到K8s)

2. 容器,K8s

  • 企业发行版如 OpenShift, Rancher
  • 云容器服务如 Google GKE, AWS EKS
  • 后端服务如 Railway, Render
  • 沙箱服务如 Daytona, Northflank

3. 微虚拟机,MicroVM 等

AWS Firecracker项目,若干沙箱都基于此技术,如E2B,Vercel Sandbox等。连Docker Sandbox也采用了MicroVM

各Agent SDK

  1. LLM厂商,如Claude Agent, OpenAI Agents
  2. 大型公有云,如Google ADK, Microsoft Agent Framework, AWS Strands
  3. 三方框架,各种主流语言:
  • Python: LangChain, Agno, CrewAI
  • JavaScript: Vercel AI, pi-mono
  • Java: Spring AI, LangChain4j, Embabel

三、受托管运行环境

过去和现在受托管的3个层次

1. Application Server

  • Java服务器

2. Serverless

  • AWS lambda
  • Cloudflare Worker

3. Managed Agent

  • Anthropic Managed Agents
  • LangChain Managed deepAgents

LLM驱动能力

  1. Prompt:调用LLM API,类似访问数据库。通过自然语言描述,各种数据类型无缝转换
  2. Tools:多次访问,异步处理,类似函数式异步调用。多轮调用API获取信息,利用Skills/MCP
  3. Agent:代理框架执行任务,类似工作流。可自主选择运行路径

四、下一代重点产品形态

Claude Managed Agents

四个核心概念:
  • Agent,模型、系统提示、工具、MCP 服务器和技能
  • Environment,会话运行位置的配置,由 Anthropic 托管的云沙箱,或在自己的基础设施上自托管的沙箱
  • Session,在环境中运行的代理实例,执行特定任务并生成输出
  • Events,应用程序与代理之间交换的消息(用户轮次、工具结果、状态更新)

LangChain Managed Deep Agents

核心能力组成:
  • 代理定义:选择受管代理的模型和核心能力。
  • 指令:指令定义代理的行为。
  • 技能:技能将特定任务的流程和上下文打包到可重用的目录中。
  • 工具:工具为代理添加自定义能力。
  • MCP 连接器:MCP 连接器将来自远程模型上下文协议(MCP)服务器的工具添加到受管深度代理中。
  • 中间件:监控工具调用、添加防护措施、对数据进行脱敏处理、重试临时性故障,或自定义模型调用。
  • 内存:持久化内存是可选的知识,代理可在不同线程和会话之间保留这些知识。
  • 沙箱:沙箱为受管深度代理提供一个隔离的文件系统和 shell,用于处理文件、运行代码和执行命令。
  • 身份:身份控制谁可以调用您的受管深度代理部署。
  • 通道:通道将受管深度代理连接到外部消息服务。
  • 计划任务:受管深度代理可按 cron 计划运行代理。
  • 评估:受管代理的评估。

五、Agent Harness

如今的明星类别:生产力工具

关注点集中,完成任务和创造性工作,本地优先原则
  1. Cli命令行,如Claude Code, OpenCode
  2. 文本编辑、代码开发,如Cursor, Zed
  3. 多会话富文本,如OpenAI Codex, Claude CoWorker
  4. 网关通道,如OpenClew

连接Agent方式

  • Cli工具
  • MCP规范

六、GenAI

研发管理

  • 基于SDD框架方法论,OpenSpec,Superpowers,SpecKit等
  • 研发生命期管理, AI-native SDLC
SDD 分为三个递进层级:
  1. Spec-First:先写规范再写代码,完成后规范可丢弃。
  2. Spec-Anchored:规范保留用于后续维护和演进。
  3. Spec-as-Source:规范即源文件,只有人编辑规范。
规范作为源文件,目前看还是太过激进。当前规范作为锚点是比较合理的
Anthropic 最近发表了AI原生的研发生命期管理文章,对这个领域进行定义。我们非常认可。

AI-native SDLC

几大阶段:计划、设计、构建、测试、部署、维护。
进行的转变
  • 计划。传统SDLC需求由委员会收集,通过工作坊和提炼,手动编写。转变为 Agent harness 直接从源头综合痛点,捕获在 intent.md 中,人类可读、机器可执行。
  • 设计。原规格由分析师编写,并由设计师解析。转变为需求和设计压缩为一次与 Agent 的工作会话,受 Skills 的标准约束,并由版本控制。
  • 构建。AI这个阶段的时间被大大精简。原来业务和测试的代码开发者手动编写,文档在主要开发完成后编写。转变为测试和代码由 AI 生成,编码知识以AGENT.md 文件和 Skills 维护。
  • 测试。转变为持续评估,并加入到AI实现过程
  • 部署。传统过程中开发者需逐行审查代码,治理在评审周期中发生。转变为由多层 Agentic 评审,人类评审保留给受监管和关键代码。治理通过 Hooks 作为审批点。
  • 维护。原开发者需监控生产环境中的 Bug。转变成 Agent 监控实时部署。
以上软件类别,每个条目都可以展开为软件应用和系列技术文章。
后续我们重点关注受托管服务器软件大类,敬请关注及欢迎交流!

相关学习资料

返回首页浏览学习资料