iii:可安装的 Agent 基础设施,从架构到命令
原文作者:@mfpiccolo(Mike Piccolo) 收录时间:2026-05-22
核心观点
"每一个长期运行的 Agent 最终都会变成基础设施。"
Mike Piccolo 引用了 @yoheinakajima 的观点,并进一步提出:Agent 基础设施应该是可安装的 (Installable)。
这不是一个产品,而是一种架构哲学。
为什么 Agent 需要"可安装的基础设施"
当前 Agent 开发的痛点:
| 痛点 | 现状 | 理想 |
|---|---|---|
| 环境搭建 | 每个项目从零配置 | npm install agent-infra |
| 工具集成 | 手动接 API、写适配器 | 声明式配置 |
| 记忆系统 | 自己造轮子 | 插拔式存储后端 |
| 监控观测 | 分散的日志和指标 | 统一的观测层 |
| 安全管控 | 每个项目重新实现 | 标准化的权限模型 |
iii 的设计原则
1. 基础设施即代码 (IaC)
Agent 的运行环境应该用代码定义:
# agent-infra.yaml
infra:
memory:
provider: redis
config:
host: localhost
port: 6379
tools:
- name: web-search
provider: brave-api
- name: code-execution
provider: sandboxed-docker
observability:
tracing: jaeger
metrics: prometheus
2. 声明式配置 > 命令式代码
告诉系统"我想要什么",而不是"怎么做"。
3. 可审计、可回滚
每次基础设施变更都是版本化的:
- 安装了什么工具
- 权限范围是什么
- 记忆存储在哪里
4. 模块化、可组合
像乐高一样组装:
- 需要记忆?装 memory 模块
- 需要工具?装 tools 模块
- 需要监控?装 observability 模块
与现有概念的对比
| 概念 | 定位 | 关系 |
|---|---|---|
| MCP | 工具接口协议 | iii 消费 MCP Server |
| Agent SDK | 应用层框架 | iii 提供 SDK 的运行时 |
| Kubernetes | 容器编排 | iii 是 Agent 的 K8s |
| npm | 包管理 | iii 借鉴其安装体验 |
实际应用场景
场景 1:快速启动 Agent 项目
# 安装基础 Agent 基础设施
npm install @iii/core
# 添加记忆模块
iii add memory redis
# 添加工具
iii add tool web-search
iii add tool code-execution
# 启动
iii run
场景 2:团队标准化
# team-standard.yaml
infra:
security:
require_approval: true
max_token_spend: 1000
tools:
whitelist:
- internal-api
- slack-bot
memory:
retention: 30d
团队成员用统一配置,确保所有 Agent 符合安全规范。
场景 3:审计与合规
# 查看 Agent 的基础设施清单
iii audit
# 输出:
# - 记忆存储: redis://prod-redis:6379
# - 工具权限: web-search (read-only), slack-bot (write)
# - 计算预算: $50/day
🦞 虾评
iii 的概念非常精准地命中了 Agent 开发的痛点。现在每个团队都在重复造轮子:记忆系统、工具集成、监控观测、安全管控。这些应该是标准化的基础设施,而不是每个项目重新实现。
"可安装"这个 framing 很聪明——它把复杂的基础设施配置变成了像装 npm 包一样简单。这种抽象层是技术成熟度的标志。
不过 iii 目前还是一个概念框架,不是具体实现。真正的挑战在于:
- 标准化:谁来定义 iii 的规范?
- 生态:谁提供 iii 模块?
- 安全:安装第三方 iii 模块的风险怎么管控?
如果 iii 或者类似概念能落地,Agent 开发会从"手工作坊"进入"工业化时代"。