

























AI 智能体(Agent)很有可能是未来AI软件设计的范式,所以对于大部分开发者、刚接触 vibe coding 的非技术人员,了解它的设计方式和背后的原理,就能在未来设计新时代的应用软件时更得心应手。
本文试图用通俗易懂的语言,让你理解什么是 AI Agent,它解决了什么问题,以它为基础设施,有哪些协议和工具将在未来派上用场。
本文目标读者:
大模型(LLM)会“猜”,不会“保证”。 所以你不能把它当确定性程序(同样输入一定同样输出)。
需要解决的问题:
真实任务往往是:
这意味着 Agent 的设计目标不仅局限在“一问一答”,而是一套“循环决策系统”。
在和AI交互过程中,用户通常希望:
所以系统必须天然支持实时交互,而不是一次性黑盒执行。
对话越长,输入越大,速度越慢,费用越高,甚至会超限。 必须有“压缩历史、保留关键信息”的机制。
同一个 Agent 要能跑在:
所以"智能内核"和"界面层"必须解耦(彼此独立,不绑死)。
一个可用 Agent 框架至少要满足:
以问题驱动需求,需求驱动设计的方式,我们就可以得出下面的流程图:
flowchart TD A[用户提出目标] --> B[Agent 理解当前任务] B --> C[是否需要工具?] C -- 否 --> D[直接给出答案] C -- 是 --> E[生成工具调用请求] E --> F[执行工具] F --> G[拿到工具结果] G --> H[结果是否足够?] H -- 否 --> B H -- 是 --> D D --> I[流式返回给用户] I --> J[用户可中断/追加要求] J --> B
这个图表达的是:
graph LR subgraph Interaction Layer[交互层] UI1[TUI/CLI] UI2[RPC/API] UI3[Web/App] end subgraph Runtime Layer[运行时层] SESSION[会话编排器] POLICY[策略中心: 重试/压缩/预算] end subgraph Core Layer[核心层] LOOP[Agent 决策循环] STATE[状态管理] EVENTS[事件总线] end subgraph Capability Layer[能力层] TOOLS[工具系统] MODEL[模型适配层] MEMORY[记忆与上下文管理] end UI1 --> SESSION UI2 --> SESSION UI3 --> SESSION SESSION --> LOOP SESSION --> POLICY LOOP <--> STATE LOOP --> EVENTS LOOP <--> TOOLS LOOP <--> MODEL POLICY <--> MEMORY MODEL --> LLM[外部模型服务]
flowchart LR USER[用户] ORCH[会话编排器] CORE[Agent Core] ADAPTER[模型适配器] TOOLRUN[工具执行器] OBS[观察与事件] USER <--> ORCH ORCH <--> CORE CORE <--> ADAPTER CORE <--> TOOLRUN CORE --> OBS OBS --> ORCH
职责拆分:
这一节是完成上面设计的“最小必需品”。需要从协议、设计模式角度考虑引入哪些工程实践。(好比盖摩天大楼,需要先定义好用什么材料、哪些通用的工程设计可以拿来就用、如何让建筑结构从力学上经得起时间验证)。
这些协议目前大部分由开发者按需设计实现,但是在不远的未来,很可能逐个出现标准规范。
对于没有编程经验的读者,下面的一些编程基础设计模式,需要你先从其他资料中理解。
前面是“通用 Agent 框架设计”。现在落到最近很火的极简框架 PI Agent 。
一起来看看这个框架是如何设计 Agent 的。
flowchart TD START[开始一次会话回合] --> TURN[开启 turn] TURN --> CALL[调用模型并流式接收输出] CALL --> CHECK{输出里有工具调用?} CHECK -- 否 --> STOPCHECK{是否停止?} CHECK -- 是 --> TOOL[执行工具批次] TOOL --> MERGE[把工具结果写回上下文] MERGE --> STOPCHECK STOPCHECK -- 停止 --> END[结束并发出结束事件] STOPCHECK -- 继续 --> NEXT[进入下一回合] NEXT --> TURN
graph TD CORE[Agent Core] S[State 状态存储] L[Loop 回合循环] E[Events 事件发射] T[Tool Executor 工具执行] M[Model Stream 模型流调用] Q[Queue 消息队列: steer/followUp] CORE --> S CORE --> L L --> M L --> T L --> E L --> Q T --> E M --> E E --> S
这个结构的价值是:
Agent 架构不是“让模型更聪明”,而是“让不确定的模型在可控系统里稳定工作”。
你可以把它记成这个公式:
$$ \text{可用 Agent} = \text{模型能力} \times \text{工程控制能力} $$
其中工程控制能力主要来自:
从目前的趋势看,这大概率将是下一代应用软件的基础范式。
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。