Systems Engineering for Agentic Software
Ashpreet Bedi 的论点:coding agents 降低了写代码的门槛,但没有降低生产软件的要求。Agentic software 本质上是系统工程问题。
五层架构
1. Agent Engineering
Agent 或多 agent 逻辑与执行流。模型、系统指令、工具配置、交接、上下文管理、可观测性。
Agent 行为应在可能的地方确定性,在不可能的地方可观测。
2. Data Engineering
Agent 的上下文本质就是数据。应用数据工程原则管理:
- 设计良好的 schema
- 结构化查询
- 快速读写的数据库
- 长期存储的对象存储
- 保持知识和记忆更新的工作流
这些模式已有数十年历史。直接使用。
3. Security Engineering
Auth、RBAC、治理、数据隔离、审计追踪。
关键原则:
- Read-only access 不是 prompt instruction,是 tool configuration
- 行动审批层级:reads 自由运行 → writes 需用户批准 → sensitive operations 需 admin 签字
- 大多数行动应记录并可查询
- 隔离请求:一个用户的上下文 bleed 到另一个用户是数据泄露,不是"bug"
4. Interface Engineering
用户和其他 agent 如何到达你的 agent:REST API、Slack、MCP server、终端、Chat UI。
现在你有多个表面,每个有自己的身份系统:
- Slack 用户 ID ≠ 产品用户 ID
- MCP client 认证为另一个 agent ≠ 人类用户
Auth、policies、access controls 必须在每个表面保持一致。
5. Infrastructure Engineering
容器、云部署、水平扩展。95% 与运行任何其他服务相同。5% 不同:
- Agent 请求更长(增加 load balancer 超时)
- 响应流式(规划 SSE 或 WebSockets)
- 最佳 agent 是主动的(定时任务、后台执行)
Dash 开源数据 Agent 案例
Dash 演示全部五层:
Agent Engineering:Leader agent 路由到两个专家(Analyst 只读查询 / Engineer 可写构建资产)。相同工具接口,不同权限,由配置决定而非 prompt。
Interface Engineering:同一系统,四个表面(REST API、Slack bot、web UI、CLI)。添加新界面不需要重建 agent 逻辑。
Data Engineering:六层上下文(表元数据、人工注释、查询模式、机构知识、学习积累、运行时上下文)。Query 100 比 query 1 好,不是因为模型改进,而是因为数据层改进。
Security Engineering:RBAC + JWT。Analyst 的只读访问是 PostgreSQL 连接参数;Engineer 只能写到单一 schema。Eval suite 直接测试边界(提示 agent 泄露凭证、执行破坏性 SQL、跨 schema)。
Infrastructure Engineering:标准 Python 容器 + Docker Compose + 一键云部署 + SSE 流式。
核心洞察
Agentic software is just regular software, with the business logic replaced by agents, and interfaces going from request/response to streaming across multiple surfaces.
当你从系统视角设计时,正确的决策变得明显:
- 给 agent 良好范围的工具,而非无限制的 bash 访问
- 将 session、memory、knowledge 存入数据库而非文件,以利用多租户模式
当你在隔离中设计一层时,会继承级联到系统其余部分的约束。当你从系统视角设计时,每一层都强化其他层。
Counterpoints & Gaps
- Dash 是数据 agent 特化案例,对非数据密集型 agent 的适用性需验证
- 五层框架缺少"成本工程"层,agentic 系统的 token/推理成本是新的系统约束
- 安全层的 eval suite 测试是理想状态,实际构建和维护成本未量化
Related
- harness-engineering/overview
- harness-engineering/agentic-software-is-systems-engineering
- harness-engineering/what-is-agent-harness