完整、结构化的复杂 Agent 系统模板
这个模板模拟了现代 LLM Agent 架构包含Planner任务规划Memory短期 长期Tool 使用Executor执行Reflection自我反思Multi-step loop多轮推理Agent 状态管理整体结构接近很多 GitHub 项目例如LangChainAutoGPTMetaGPTMicrosoft AutoGen复杂 Agent 系统模板约200行 Complex Agent System Template Architecture: User - Planner - Executor - Tools - Memory - Reflection - Loop fromdataclassesimportdataclass,fieldfromtypingimportList,Dict,Any,Callableimportjsonimporttimeimportrandom# # Data Structures# dataclassclassTask:description:strstatus:strpendingdataclassclassAgentState:goal:strtasks:List[Task]field(default_factorylist)history:List[str]field(default_factorylist)reflections:List[str]field(default_factorylist)step:int0# # Memory System# classMemory:def__init__(self):self.short_term[]self.long_term[]defadd_short(self,message):self.short_term.append(message)defadd_long(self,memory):self.long_term.append(memory)defretrieve(self,query):results[]forminself.long_term:ifquery.lower()inm.lower():results.append(m)returnresults# # Tool System# classToolBox:def__init__(self):self.tools:Dict[str,Callable]{}defregister(self,name,func):self.tools[name]funcdefrun(self,name,*args,**kwargs):ifnamenotinself.tools:raiseException(fTool{name}not found)returnself.tools[name](*args,**kwargs)# Example Toolsdefweb_search(query):returnfFake search results about{query}defcalculator(expr):try:returneval(expr)except:returnerrordefsave_file(text):filenamefresult_{int(time.time())}.txtwithopen(filename,w)asf:f.write(text)returnfilename# # Planner# classPlanner:defcreate_plan(self,goal)-List[Task]:# fake planning logicsteps[fResearch about{goal},fAnalyze information about{goal},fGenerate final report about{goal}]return[Task(s)forsinsteps]# # Executor# classExecutor:def__init__(self,toolbox:ToolBox,memory:Memory):self.toolboxtoolbox self.memorymemorydefexecute(self,task:Task):resultifResearchintask.description:resultself.toolbox.run(search,task.description)elifAnalyzeintask.description:resultfAnalysis:{random.randint(1,100)}insights discoveredelifGenerateintask.description:resultFinal report generatedelse:resultUnknown taskself.memory.add_short(result)returnresult# # Reflection System# classReflection:defreflect(self,state:AgentState):iflen(state.history)0:returnNonelaststate.history[-1]iferrorinlast.lower():reflectionNeed to adjust strategyelse:reflectionTask executed successfullystate.reflections.append(reflection)returnreflection# # Agent Core# classAgent:def__init__(self):self.memoryMemory()self.toolboxToolBox()self.toolbox.register(search,web_search)self.toolbox.register(calc,calculator)self.toolbox.register(save,save_file)self.plannerPlanner()self.executorExecutor(self.toolbox,self.memory)self.reflectionReflection()defrun(self,goal):stateAgentState(goalgoal)# Planningstate.tasksself.planner.create_plan(goal)print(Plan created:)fortinstate.tasks:print(-,t.description)# Execution Loopwhilestate.steplen(state.tasks):taskstate.tasks[state.step]print(f\nStep{state.step1}:{task.description})resultself.executor.execute(task)print(Result:,result)state.history.append(result)task.statusdonereflectionself.reflection.reflect(state)ifreflection:print(Reflection:,reflection)state.step1print(\nAgent finished goal)returnstate# # Example Run# if__name____main__:agentAgent()goalAI Agent architecturesstateagent.run(goal)print(\nFinal reflections:)forrinstate.reflections:print(-,r)这个 Agent 架构包含的关键设计1 Planner负责任务分解Goal ↓ Task1 Task2 Task3类似BabyAGIAutoGPT2 Memory两个层级Short-term Long-term真实系统一般用Vector DBRAG常见组件FAISSChroma3 Tool UseAgent核心能力Agent - Tool例子search() calculator() file save()类似LangChain Tool system4 ReflectionAgent自我改进result - critique - improve类似论文Reflexion AgentsSelf-Refine5 Agent Loop经典 Agent 执行循环while not done: plan act observe reflect类似架构Microsoft AutoGenCrewAI如果把这个模板升级到真实 LLM Agent需要替换3个地方Planner → LLMplanllm(break goal into steps)Executor → LLM Tool Callactionllm(choose tool)Reflection → LLM Critiquereflectionllm(analyze failure)完整真实 Agent 架构USER │ ▼ Planner (LLM) │ ▼ Task Queue │ ▼ Executor Agent / | \ Tools Memory Web │ │ ▼ ▼ Result - Reflection │ ▼ Loop

相关新闻

机房技术人员必备:不同规模机房的UPS不间断电源选型全攻略

机房技术人员必备:不同规模机房的UPS不间断电源选型全攻略

机房技术人员在选择UPS时,面临的核心问题不是“买哪个品牌”,而是“我的机房需要什么样的保护等级”。不同规模的机房,其负载特性、空间条件和预算限制天差地别,选型逻辑也应随之变化。以下按机房规模分级,给出具体的选…

2026/7/6 3:37:21 阅读更多 →
为什么MES企业要跟第三方机构合作设备数据采集?

为什么MES企业要跟第三方机构合作设备数据采集?

众所周知,设备数据是MES系统的源头,是支撑其功能落地的基础。可以说,没有精准、实时的设备数据,MES的生产调度、效率分析、质量追溯都将无以为继。然而,现实中,多数MES企业并未选择搭建自己的设备数据采集体…

2026/7/6 3:36:32 阅读更多 →
Datawhale之春晚机器人跳舞复刻

Datawhale之春晚机器人跳舞复刻

Datawhale之春晚机器人跳舞复刻任务目标主要流程租用服务器,开始部署环境新机器复刻GMR环境PromptHMR环境(4090场景)下载模型权重更新模型下载文件写入失败时处理方法Web UI启动 (稳定版)多人轨迹可视化生成多轨机器人动作robot-viser 显示所有轨迹视频导出单机器人多机器人git…

2026/7/5 10:04:22 阅读更多 →

最新新闻

从信息检索到语义推荐:GEO的技术演进逻辑与越华云图陪跑方案

从信息检索到语义推荐:GEO的技术演进逻辑与越华云图陪跑方案

一、技术背景:搜索范式的迁移 信息获取方式正在经历第三次范式转移:阶段核心机制用户行为品牌优化目标Web 1.0(门户时代)编辑推荐被动浏览出现在门户网站Web 2.0(搜索时代)关键词检索主动搜索点击SEO排名优…

2026/7/6 3:36:07 阅读更多 →
LangChain Agent 开发第一天:先把最小 Demo 跑起来

LangChain Agent 开发第一天:先把最小 Demo 跑起来

今天先不讲复杂概念,也不急着做完整项目。 第一天的目标很简单:创建一个 LangChain Agent 项目,配置好模型接口,并跑通一个最基础的 Agent 示例。 只要这一步能跑通,后面再加工具、记忆、工作流、前端页面&#xff0…

2026/7/6 3:32:06 阅读更多 →
用《白鲸记》测试生产力应用:处理长文能力是关键?

用《白鲸记》测试生产力应用:处理长文能力是关键?

《白鲸记》:生产力应用的测试利器 待办事项列表应处理多少项内容虽非紧迫问题,但作者常思考生产力应用处理“用户生成”内容的能力。作者选择用《白鲸记》测试应用,因其篇幅长、用词复杂,若应用处理《白鲸记》表现良好&#xff0c…

2026/7/6 3:30:05 阅读更多 →
AI应用落地四板斧:场景闭环、数据可得、人机协同、交付确定

AI应用落地四板斧:场景闭环、数据可得、人机协同、交付确定

1. 项目概述:这不是发布会PPT,而是一份AI应用落地的实操路线图“腾讯智能体全景图亮相,汤道生解密打造AI应用四板斧”——这个标题乍看是科技媒体通稿的典型句式,但如果你在2023—2024年深度参与过至少两个中型以上AI项目落地&…

2026/7/6 3:30:05 阅读更多 →
Linux 源码安装 Redis 6.0.10 超详细教程(含编译报错、SCL源失效解决方案)

Linux 源码安装 Redis 6.0.10 超详细教程(含编译报错、SCL源失效解决方案)

一、前期准备 1.1 环境依赖 Redis 基于 C 语言开发,源码编译安装必须依赖 GCC 编译环境,未安装需提前执行命令安装基础编译依赖: yum install gcc-c1.2 安装包下载 官方下载地址:https://redis.io/download 选择 Stable 稳定…

2026/7/6 3:28:05 阅读更多 →
如何在Windows上安装APK文件:APK安装器终极指南

如何在Windows上安装APK文件:APK安装器终极指南

如何在Windows上安装APK文件:APK安装器终极指南 【免费下载链接】APK-Installer An Android Application Installer for Windows 项目地址: https://gitcode.com/GitHub_Trending/ap/APK-Installer 你是否曾经想在Windows电脑上直接运行安卓应用,…

2026/7/6 3:28:05 阅读更多 →

日新闻

H2 与 MySQL 单元测试兼容性:5 个关键 SQL 语句差异与规避方案

H2 与 MySQL 单元测试兼容性:5 个关键 SQL 语句差异与规避方案

H2与MySQL单元测试兼容性:5个关键SQL语句差异与规避方案1. 单元测试中的数据库兼容性挑战在Java开发领域,单元测试是保证代码质量的重要环节。当应用涉及数据库操作时,测试环境的搭建往往成为开发者的痛点。H2数据库因其轻量级、内存模式和快…

2026/7/6 0:01:17 阅读更多 →
Windows任务栏终极清理指南:用RBTray一键隐藏窗口到系统托盘

Windows任务栏终极清理指南:用RBTray一键隐藏窗口到系统托盘

Windows任务栏终极清理指南:用RBTray一键隐藏窗口到系统托盘 【免费下载链接】rbtray A fork of RBTray from http://sourceforge.net/p/rbtray/code/. 项目地址: https://gitcode.com/gh_mirrors/rb/rbtray 你是否厌倦了Windows任务栏上密密麻麻的图标&…

2026/7/6 0:01:17 阅读更多 →
Visual C++ 运行时库一键安装终极指南:告别DLL缺失烦恼

Visual C++ 运行时库一键安装终极指南:告别DLL缺失烦恼

Visual C 运行时库一键安装终极指南:告别DLL缺失烦恼 【免费下载链接】vcredist AIO Repack for latest Microsoft Visual C Redistributable Runtimes 项目地址: https://gitcode.com/gh_mirrors/vc/vcredist 你是否曾经遇到过这样的情况:下载了…

2026/7/6 0:05:19 阅读更多 →

周新闻

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容 【免费下载链接】BiliTools A cross-platform bilibili toolbox. 跨平台哔哩哔哩工具箱,支持下载视频、番剧等等各类资源 项目地址: https://gitcode.com/GitHub_Trending/bilit/BiliTools …

2026/7/5 0:03:34 阅读更多 →
威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型的陌生现状在忙碌疲惫的一天里,参与了关于混合后量子密码学的讨论,应付端点攻击找茬的人,还参与留言板讨论后,发现“威胁模型”对多数人仍是陌生概念,且多被当作时髦用语。有趣的相关画作有一幅由 Embyr 创作的…

2026/7/5 0:03:34 阅读更多 →
渗透测试入门指南:从零基础到实战环境搭建

渗透测试入门指南:从零基础到实战环境搭建

1. 从“看热闹”到“入门”:我理解的渗透测试到底是什么?每次看到新闻里说某个大公司的数据被“黑”了,或者某个网站被攻击导致服务瘫痪,你是不是和我一样,心里会冒出两个念头:一是“这黑客真厉害”&#x…

2026/7/5 0:07:38 阅读更多 →

月新闻