程序员必看:基于上下文工程的Agent后端架构详解
文章介绍了一个基于上下文工程的Agent后端架构设计,围绕四大核心模块:工具模块和管理、上下文管理、LLM模块和Agent执行器。该架构将上下文管理作为核心,统一管理各类上下文,通过LLM模块处理用户请求,并结合工具模块扩展能力。作者提供了CLI脚手架工具,帮助开发者快速实践这一架构,使开发重心集中在上下文获取与整理上,同时保持LLM作为核心,便于后续升级。
文章介绍了一个基于上下文工程的Agent后端架构设计,围绕四大核心模块:工具模块和管理、上下文管理、LLM模块和Agent执行器。该架构将上下文管理作为核心,统一管理各类上下文,通过LLM模块处理用户请求,并结合工具模块扩展能力。作者提供了CLI脚手架工具,帮助开发者快速实践这一架构,使开发重心集中在上下文获取与整理上,同时保持LLM作为核心,便于后续升级。
前排提示,文末有大模型AGI-CSDN独家资料包哦!
从零到一:基于上下文工程的 Agent 后端设计
前言
从之前我整理的上下文工程实践指南出发,我大概梳理出来,在一个 Agent 中最核心的模块我分为四类:
-
- 工具模块和管理:定义一些 Agent 的工具,可以是 MCP,也可以是 Skill,除了定义之后,我们还需要管理:工具的输出裁剪,工具的执行审核流程等
-
- 上下文管理:这个是启动 Agent 的关键,整理好注入给 LLM 的上下文是完成任务的关键,其中重要的是:上下文的压缩、上下文的裁剪等,同时 Agent 上下文会遇到:上下文污染、上下文干扰、上下文冲突、上下文混淆的问题,这些问题需要开发者结合系统工程的方式来解决
-
- LLM 模块:这个是 Agent 真正的核心,就像钢铁侠的“方舟反应堆”一样
-
- Agent 形态(执行器):这个是 Agent 的执行形态,目前可以是工作流、可以是单智能体、可以是多智能体等各种形态
上下文工程实践指南
仓库名字:Practical-Guide-to-Context-Engineering
仓库链接:https://github.com/WakeUp-Jin/Practical-Guide-to-Context-Engineering

上下文工程核心架构

上下文组成
🪐 借助这四点核心的思路,我构建了一套 Agent 后端架构方案,为了方便大家理解,我还开发了一个 CLI 脚手架工具(比较简单),可以一键安装模板项目进行预览查看。
主要是让大家查看代码文件和文件之间的结构,以此对借助上下文工程的思路开发一个 Agent 有更清晰的感觉
cli 项目链接:https://github.com/WakeUp-Jin/context-cli-template
启动命令:
npm create context-template
cli-process
一、总设计

总设计
整个后端架构设计中,是按照上下文工程来做的设计,上下文管理是核心,它就是一个完整的大输入,以此输入作为前提,来解决用户的问题
-
- LLM 模块:是使用 openaiSDK 来实现的多种型号模型的使用,这里是提供模型的
-
- 工具模块和管理:工具是 LLM 关键的外部能力,是结合到上下文来让 LLM 使用的
-
- 上下文管理:这个是统一的上下文,其负责编排好上下文,在 执行器中将上下文输入给 LLM,以 LLM 的输出来解决问题
二、LLM模块

llm-module
关于 LLM 模块,整个模块的分为:
-
- LLM 创建工厂函数:根据传入的参数来判断实例化哪一个 LLM 服务类
-
- LLM 服务类:要编写一个相应的 LLM 服务类,里面有三种方法:complete 方法、simpleChat 方法、generate 方法,其中最重要的是 complete 方法,这个会作为上下文输入的核心方法
目录情况结构:
- llm - services - DeepSeekService.ts // 这个就是具体的LLM服务类 - DoubaoService.ts - utils - types - index.ts //这个是整个llm模块的类型约束 - factory.ts //LLM工厂函数 - index.ts
举一个例子:
//具体使用//1、使用工厂函数实例化相应的LLM类const service = await createLLMService({ provider: 'deepseek', model: 'deepseek-chat', apiKey: process.env.DEEPSEEK_API_KEY || 'your-api-key-here', maxIterations: 5,});//2、调用simpleChat方法const answer = await service.simpleChat( '用一句话解释什么是大语言模型?', '你是一个有帮助的 AI 助手');//3、调用complete方法let message=[//...]let tools=[//...]const response=await service.complete(message,tools)
参考文档在上下文工作实践指南中:
- • LLM模块-服务层的设计文档
三、工具模块和管理

tool-module
工具模块主要的三个点就是:
-
- 工具的定义:定义一个工具对象需要哪些属性
-
- 提供给 LLM 工具参数:可以是 tools 参数,也可以是提示词文本
-
- 工具的执行函数:工具的执行函数
目录结构:
- tool - FileReadTool - FileReadTool.ts //工具定义 - prompt.ts //工具描述 - GrepTool - GrepTool.ts - prompt.ts - index.ts - ToolManager.ts //工具管理函数 - types.ts //工具模块的类型
1、 工具定义
/** * 工具定义基础接口 */export interface InternalTool<TArgs = any, TResult = any> { /** 工具名称(唯一标识) */ name: string; /** 工具分类(如 filesystem、search、network) */ category: string; /** 是否为内部工具 */ internal: boolean; /** 工具描述(简短,详细描述在 prompt 中) */ description: string; /** 版本号 */ version: string; /** 参数定义(JSON Schema 格式) */ parameters: ToolParameterSchema; /** 工具处理函数 */ handler: (args: TArgs, context?: InternalToolContext) => Promise<TResult>; /** 可选:格式化结果给 AI */ renderResultForAssistant?: (result: TResult) => string; /** 可选:权限控制 */ needsPermissions?: (input?: TArgs) => boolean; // 是否需要权限 isEnabled?: () => Promise<boolean>; // 是否启用 isReadOnly?: () => boolean; // 是否只读 isConcurrencySafe?: () => boolean; // 是否并发安全}
例如:
//1、创建工具管理器const toolManager = new ToolManager();//2、获取工具定义const tools = toolManager.getTools();//3、创建LLM服务const llm = await createLLMService( { provider: 'deepseek', model: 'deepseek-chat', apiKey: config.apiKey || '', maxIterations: 5, }, tools);//4、调用工具执行函数const answer = await llm.generate( '请帮我读取 package.json 文件,并告诉我项目名称是什么');
四、上下文管理

context-module
在这种上下文管理设计中,将该 Agent 中所有种类的上下文管理统一起来,让 LLM 只需要直接和上下文输入联系
🌟🌟 在这种开发模式下,开发的重心在上下文的获取和整理,但是应用的关键核心是 LLM。
-
- 保证核心是 LLM,后续就可以根据模型能力的提升,Agent 的效果也变得越来越好。
-
- 开发重心是上下文,可以极大的发挥应用开发者的能力和创造力
目录结构:
- context - base - BaseContext.ts //基础上下文类 - modules - ConversationContext.ts //上下文 - 会话历史记录类 - MemoryContext.ts //上下文 - 用户记忆类 - StructuredOutputContext.ts //上下文 - 结构化输出类 - SystemPromptContext.ts //上下文 - 系统提示词类 - ToolContext.ts //上下文 - 工具管理类 - ContextManager.ts //上下文管理器 - index.ts - types.ts // 上下文管理模块的类型约束
如何学习AI大模型 ?
“最先掌握AI的人,将会晚掌握AI的人有竞争优势,晚掌握AI的人比完全不会AI的人竞争优势更大”。 在这个技术日新月异的时代,不会新技能或者说落后就要挨打。
老蓝我作为一名在一线互联网企业(保密不方便透露)工作十余年,指导过不少同行后辈。帮助很多人得到了学习和成长。
我是非常希望可以把知识和技术分享给大家,但苦于传播途径有限,很多互联网行业的朋友无法获得正确的籽料得到学习的提升,所以也是整理了一份AI大模型籽料包括:AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、落地项目实战等 免费分享出来。
- AI大模型学习路线图
- 100套AI大模型商业化落地方案
- 100集大模型视频教程
- 200本大模型PDF书籍
- LLM面试题合集
- AI产品经理资源合集

大模型学习路线
想要学习一门新技术,你最先应该开始看的就是学习路线图,而下方这张超详细的学习路线图,按照这个路线进行学习,学完成为一名大模型算法工程师,拿个20k、15薪那是轻轻松松!

视频教程
首先是建议零基础的小伙伴通过视频教程来学习,其中这里给大家分享一份与上面成长路线&学习计划相对应的视频教程。文末有整合包的领取方式

技术书籍籽料
当然,当你入门之后,仅仅是视频教程已经不能满足你的需求了,这里也分享一份我学习期间整理的大模型入门书籍籽料。文末有整合包的领取方式

大模型实际应用报告合集
这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。文末有整合包的领取方式

大模型落地应用案例PPT
光学理论是没用的,要学会跟着一起做,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。文末有整合包的领取方式

大模型面试题&答案
截至目前大模型已经超过200个,在大模型纵横的时代,不仅大模型技术越来越卷,就连大模型相关的岗位和面试也开始越来越卷了。为了让大家更容易上车大模型算法赛道,我总结了大模型常考的面试题。文末有整合包的领取方式

领取方式
这份完整版的 AI大模型学习籽料我已经上传CSDN,需要的同学可以微⭐扫描下方CSDN官方认证二维码免费领取!
更多推荐


所有评论(0)