96SEO 2026-09-14 18:06 3
在 Agent Skills 的章节里我们提到,使用提示词驱动大模型往往会产生大量重复内容。即使引入按需加载的 Skills 程序,因为多轮对话。大模型的仍被膨胀的对话历史与中间结果占据,导致响应慢、事实遗忘、指令遵循下降。
为了解决这些痛点,AI Agent 正在从“单兵作战”迈向“协同程序”。老实说,Subagent模式顺势出现。

Subagent 是一种设计模式:主代理理解使用者意图后将特定任务“委托”给一个拥有全新上下文的子代理执行;子代理完成后只返回简洁摘要。这样做可以的观点是,
要理解 Subagent 的实现原理,要掌握 OpenAI 风格的 Function Calling 与代理循环的结合。标准流程如下的观点是,
tool_calls 字段提取工具名与参数。tool 角色消息追加到对话历史。A simple AI Agent 实现展示了上述完整流程:
# 简化示例
import os。json
from pathlib import Path
from dotenv import load_dotenv
from openai import OpenAI
load_dotenv
client = OpenAI,base_url="https://api.deepseek.com")
SYSTEM = "你是一个文件读取助手,可以调用工具帮助使用者读取文件内容。"
MODEL = "deepseek-chat"
tools =,"description":"文件编码格式"}
},"required":
}
}
}
]
class ReadFileTool:
def execute->str:
从try来看,file_path=Path.expanduser
if not file_path.exists: return f"❌ 文件不存在:{path}"
return file_path.read_text
except Exception as e:
return f"❌ 读取失败:{e}"
file_tool=ReadFileTool
def agent_loop:
while True:
resp=client.chat.completions.create(
model=MODEL,messages=messages,tools=tools,tool_choice="auto")
msg=resp.choices.message
messages.append
if not msg.tool_calls: return msg.content
for call in msg.tool_calls:
if call.function.name=="read_file":
args=json.loads
result=file_tool.execute
messages.append({"role":"tool","tool_call_id":call.id,"name":"read_file","content":result})
if __name__=="__main__":
history=
while True:
query=input
if query.strip.lower in : break
history.append
ans=agent_loop
print
task 工具Pain Point:
Solution:
# 新增 task 工具
+ tools +=
# 子代理初始化
def run_subagent:
sub_messages=
for _ in range:
resp=client.chat.completions.create(
model=MODEL。messages=sub_messages,tools=,tool_choice="auto")
...
return summary_or_default
# 主循环中的路由
for call in msg.tool_calls:
if call.function.name=="task":
res=run_subagent
messages.append
...
# 将每个子代办包装成 Tool 对象
def make_subagent_tool:
return {
再看'type','function','function':{
说到'name',f'call_{name}','description':f'执行{sub_agent}','parameters':{'type':'object','properties':{'prompt':{'type':'string'}},'required':} }}
tools +=
# 主循环根据 tool 名称动态路由并执行 run_subagent
# 替换同步客户端为异步客户端
import asyncio
from openai import AsyncOpenAI
client = AsyncOpenAI。base_url='https://api.deepseek.com')
async def run_subagent->str:
# 同步部分改为 await...
resp = await client.chat.completions.create
...
return summary_or_default
# AsyncSubagent 类实现示例
class AsyncSubAgent:
def __init__:
self.inbound = asyncio.Queue
self.outbound = asyncio.Queue
self._running=False
async def agent_loop->str:
# 如之前,但所有 I/O 均 await
async def run->None:
self._running=True
while self._running:
msg = await asyncio.wait_for。timeout=1)
resp=self.agent_loop
async def output->None:
while self._running:
out_msg = await asyncio.wait_for,timeout=1)
print
async def main:
agent=AsyncSubAgent
inp_task=create_task)
out_task=create_task)
while True:
query=input
if query.lower in : break
await agent.inbound.put
agent.stop;await inp_task;
await out_task
if __name__=='__main__':
asyncio.run)
.md 文件即可。description 为 LLM 决策依据。tools 白名单限制访问范围。python def loadagents: agents= path=Path for fp in path.glob: txt=fp.readtext fm,bod=re.match --- $',txt,re.S).groups meta=dict for line in fm.splitlines]) agents.append({ 从'name'来看,meta.get,'desc':meta.get,'tools':,'model':meta.get,'system_prompt':bod.strip}) return agents
loadedagents = loadagents
for a in loadedagents: tools.append({ 再看'type','function','function':{ 从'name'来看,'call'+a.replace,'description':a,'parameters': {'type':'object'。'properties': {'prompt': {'type':'string','description':'具体任务要求'}},'required':}}})
python AILABLETOOLS={ 'readfile':]} # 可根据名称映射更多工具
def runsubagent: allowed= for t in cfg if t in AILABLETOOLS] msgs=,{'role':'user','content':prompt}] ...
python def agentloop: while True: resp=client.chat.completions.create( model=model,messages=messages,tools=gettools,tool_choice='auto') msg=resp.choices.message;messages.append
if not msg.tool_calls:return msg.content
for call in msg.tool_calls:
name=json.loads
if name.startswith:
cfg=find_agent_cfg)
result=run_subagent
elif name=='task':
result=run_subassistant
else :
result=f'未知工具:{call.function.name}'
messages.append
| 步骤 | 好处 |
|---|---|
| 插件化加载 | 零代码 热插拔;统一管理 |
| 动态 Tool 创建 | LLM 自动路由;减少人工判断 |
| 权限白名单 | 最小权限原则;安全可控 |
| 可选模型配置 | 成本/效果平衡 |
通过上述机制。你可以把 SubAgent 从硬编码函数升级为真正可插拔、高度模块化的组件,使得 AI Agent 能在生产环境中灵活演进,而不必担心因手工改动导致停机或错误。
"SubAgent 模式通过上下文隔离解决单体 Agent 的历史膨胀问题"。并从以下三个层面逐步演进:
| 阶段 | \t\t上下文隔离 | \t\t非阻塞 | \t\t插件化 | \t\t适用场景 |
|---|---|---|---|---|
| 基础同步 SubAgent ✅ ❌ ❌ 简单脚本、单使用者工具 | ✅ | ❌ | ❌ | 简单脚本/单人使用 \t |
| 异步 SubAgent ✅ ✅ ❌ 需要实时交互应用 \t \t | ||||
| 插件化 SubAgent ✅ ✅ ✅ 高度 性生产级程序 \t \t \t \t \t \t <\/table> \r\r\r\r\r\r\r\r\u200c\u200c<\/table>\r<\/div>" |
我已完成以上步骤,现在可以让你的 AI Agent 更快、更灵活、更安全地工作!🚀
作为专业的SEO优化服务提供商,我们致力于通过科学、系统的搜索引擎优化策略,帮助企业在百度、Google等搜索引擎中获得更高的排名和流量。我们的服务涵盖网站结构优化、内容优化、技术SEO和链接建设等多个维度。
| 服务项目 | 基础套餐 | 标准套餐 | 高级定制 |
|---|---|---|---|
| 关键词优化数量 | 10-20个核心词 | 30-50个核心词+长尾词 | 80-150个全方位覆盖 |
| 内容优化 | 基础页面优化 | 全站内容优化+每月5篇原创 | 个性化内容策略+每月15篇原创 |
| 技术SEO | 基本技术检查 | 全面技术优化+移动适配 | 深度技术重构+性能优化 |
| 外链建设 | 每月5-10条 | 每月20-30条高质量外链 | 每月50+条多渠道外链 |
| 数据报告 | 月度基础报告 | 双周详细报告+分析 | 每周深度报告+策略调整 |
| 效果保障 | 3-6个月见效 | 2-4个月见效 | 1-3个月快速见效 |
我们的SEO优化服务遵循科学严谨的流程,确保每一步都基于数据分析和行业最佳实践:
全面检测网站技术问题、内容质量、竞争对手情况,制定个性化优化方案。
基于用户搜索意图和商业目标,制定全面的关键词矩阵和布局策略。
解决网站技术问题,优化网站结构,提升页面速度和移动端体验。
创作高质量原创内容,优化现有页面,建立内容更新机制。
获取高质量外部链接,建立品牌在线影响力,提升网站权威度。
持续监控排名、流量和转化数据,根据效果调整优化策略。
基于我们服务的客户数据统计,平均优化效果如下:
我们坚信,真正的SEO优化不仅仅是追求排名,而是通过提供优质内容、优化用户体验、建立网站权威,最终实现可持续的业务增长。我们的目标是与客户建立长期合作关系,共同成长。
Demand feedback