手搓 AI Agent + RAG 智能检索 自动化执行任务工具
本文介绍了CognosAI项目的开发过程,这是一个融合AIAgent与RAG技术的自动化任务工具。项目旨在通过智能体协作实现端到端任务执行,覆盖从需求分析到部署的完整开发生命周期。系统采用模块化架构,包含知识管理、RAG增强、多智能体协作等核心功能,支持任务可视化与用户干预。开发过程中解决了维度匹配、执行效率、任务规划等关键技术挑战,最终实现了具备自主规划、上下文感知、自我修正等能力的智能系统。文
创作背景
在当今这个技术浪潮奔涌、创新周期急剧缩短的时代,AI Agent(人工智能代理)正以其前所未有的热度席卷全球,成为推动产业变革的核心引擎。各类基础模型与应用生态呈现“井喷式”爆发——从能理解、生成多模态内容的大模型,到具备自主规划、工具调用能力的智能体;从颠覆传统工作流的AI助手,到重塑商业模式的行业解决方案,技术突破正以“天”为单位刷新着我们的认知边界。这不仅是单一技术的跃进,更是一场由算法革命、算力普及、数据洪流共同驱动的生态级演进,预示着我们正站在迈向通用人工智能(AGI)的临界点,一个由智能代理协同构建的新纪元已拉开序幕。
我开发了Cognos AI,一个融合AI Agent与RAG技术的自动化任务工具。
项目的初衷有两个:
一丶是亲身体验新技术的效率增益。通过结合能自主规划任务的AI Agent和精准检索信息的RAG技术,我构建了一个能理解复杂指令、自动完成从检索到输出全流程的智能助手。它切实提升了工作效率,将人从重复劳动中解放出来。
二丶是探索新技术带来的深层启发。Cognos AI不仅是一个工具,也是一次对人机协作未来的思考实验。它促使我们反思:当AI能深度理解意图并调用知识时,工作方式、团队结构乃至认知模式将如何演进?它指向一个AI增强人类能力的世界——人类可更专注于创造与决策。
总之,Cognos AI是一次对技术潜力的实践验证,也是对未来的主动探问。
以下来介绍 Cognos AI
架构图如下

系统目标
Project Cognos 致力于实现以下核心目标:
-
实现端到端的自主任务执行:
-
将一个高层次、模糊的自然语言目标,转化为可执行的、结构化的有向无环图 (DAG) 任务计划。
-
支持多智能体蜂群协作,每个智能体扮演特定角色,分工明确,通过智能体间通信和产出物交接,共同推进项目。
-
覆盖完整的软件开发生命周期:从需求分析、架构设计、前后端编码、测试、文档撰写到最终的部署。
-
-
构建强大的、可扩展的认知核心 (Extensible Cognitive Core):
-
统一的知识管理:集成向量数据库 (Milvus) 和知识图谱 (Neo4j),提供双模态、多层次的知识存储和检索能力。
-
智能检索增强生成 (RAG):智能体能够自动地从内部知识库获取信息,并在必要时从外部通用大模型获取新知识。
-
持续学习与记忆: 从外部获取的新知识,能够自动地学习并持久化到内部知识库中,使系统随着使用而不断成长。
-
上下文感知: 智能体在执行任务时,能够感知到项目总目标、当前子任务、计划进度、以及所有历史操作和产出物。
-
-
提供灵活、可靠的智能体执行架构 (Flexible & Robust Agent Execution):
-
模块化工具箱: 提供一个可插拔、可扩展的工具集(代码读写、文件管理、图片生成、知识搜索等),使智能体能够与“世界”进行多样化交互。
-
自主迭代与自我修正: 智能体能够在发现错误或不足时,自我评估、自我反思、自我修正,以追求更高质量的产出。
-
事务安全与异步执行: 确保所有操作在复杂的并发、多线程环境下,数据都能保持一致性、完整性。
-
-
打造专业级的用户体验与人机协同 :
-
直观的任务可视化: 提供 DAG 任务树视图,并能够层级化、可折叠地展示所有子任务。
-
实时可观测性: 通过 WebSocket 实现任务执行的实时直播,用户可以清晰地看到智能体的每一步“思考、行动、观察”。
-
强大的用户干预能力: 允许用户修改任务目标、重试失败的步骤、甚至重置整个流程,实现对自动化工作流的精准掌控。
-
商业级平台特性: 提供用户认证、模型配置、用量统计和支付入口,增加产品的商业化运营基础。
-
代码编写过程

Project Cognos 的核心目标是构建一个企业级的多智能体协作平台
-
接收高层次的项目目标。
-
将目标分解为可执行的子任务。
-
调度一个由不同专业角色(PM, UI, BE, QA, DevOps 等)组成的智能体蜂群。
-
智能体通过与 LLM 交互,使用各种工具(读写文件、生成图片、查询知识)来自动完成任务。
-
系统提供全面的可观测性(实时直播、历史记录)、可干预性(修改、重试)、以及商业化(用量统计、支付)。
在编码过程中遇到了许多问题,在Agent 开发中我觉得比较重要:
1.赋予智能体“思考”与“记忆” - MCP 与认知核心
在LLM,RAG 知识检索,多模态能力 上遇到的问题
(1)EmbeddingService 模型维度不匹配: Milvus 集合维度与 Embedding 模型实际输出维度不符。向量数据库需要统一的维度来确认信息的相似度,所以需要相同的维度以生成向量。
(2) LLM 推理时间过长,这里有些取舍,是否使用思考模型来执行Agent 任务,因为用户在使用这个智能平台是想自动化的完成,主要目标任务,对于Agent 的思考和执行任务的步骤解构,这块考虑到执行一个步骤的时间过长,可以让用户自主选择使用哪个模型来执行任务。
2.实现“大脑” - 任务编排与智能体执行
(1)智能体陷入循环 (重复搜索): 缺乏高层次的项目状态,LLM 不知何时进入下一阶段。
这里是满足上下文的一个问题,编写过程中 将整体系统交由模型调用,同时模型也需要知道任务到哪一步了,上一步是什么,这里目前大部分模型都有上下文接口,但是这里还是自己写了一套全局上下文持久化。
(2) 智能体对于任务"小题大做" ,一个简单的任务,生成8-9个步骤来完成,有点小题大做,简化了智能体的提示词,让模型自己判断,任务是否是一个简易任务还是一个复杂的需要标准程序化的任务。
系统运行

登陆界面马马虎虎

一个简易项目测试很多次 (─.─|||

完成的项目
因为添加了向量数据库有些问过的问题或者说已经在向量数据库中有的答案,就会直接给模型效率很高


模型设置
运行结果
我拿出一个示例

主要任务是 “帮我生成一张图片”
规划了四个步骤
每个步骤在执行失败或者出现偏差的时候可以人为修改并覆盖当前流程 重新执行

1 ['使用knowledge_search工具搜索当前流行的图片主题和艺术风格,获取创作灵感'] 开始执行。
去搜索当前流行的主题和风格

去搜索了 相似度为0 是一个新知识 如果是一个 已经在数据库中的知识会立马给出答案 会有相似度
相似度 高于一个值 则会确定为答案 使用
第二步

第三步

第三步和第四步

生成的结果
将会有步骤来 生成 提示词交给 选好的 图像AI模型 来生成 图像

提示词生成了一段英文

好在结果生成出来了 不过这一片蘑菇田是什么
按照生成的结果 来说 还可以 步骤都挺完整,完成了全自动化的任务目标
思考结论
它能像一个真正的人类团队一样,面对模糊目标,通过迭代、试错、学习和协作,最终产出有价值的成果。
-
实现了核心 AI 智能:
-
分层规划: 将宏观目标分解为 DAG。
-
ReAct 执行: 经典的“思考-行动-观察”循环。
-
动态工具集: 赋予 AI 与外部世界交互的“手脚”。
-
上下文感知: 确保 AI 始终拥有完整的“战情简报”和“记忆”。
-
自我修正: 能够从错误中学习并调整行为。
-
混合知识库 (RAG): 融合内部专有知识 (Milvus) 和外部通用知识 (LLM),并具备学习能力。
-
多模态支持: 能够生成图片。
-
-
实现了强大的系统特性:
-
多租户安全: 严格的数据隔离。
-
持久化与状态恢复: 任务状态、微观计划、LLM 交互、文件资产全部持久化,支持断点续传。
-
事件驱动架构: 高度解耦、异步非阻塞、事务安全。
-
精细化计量: Token 和图片用量精确统计。
-
人机协同: 提供了强大的干预、修正和重试机制。
-
专业级 UI/UX: 直观、美观、响应式的产品界面,实时任务直播。
-
目前完成了以上的功能
对于优点是:
AI 智能与能力
-
自主规划与执行: 能将高阶目标转化为详细计划并执行。
-
上下文感知: AI 始终处于“知情”状态,决策质量高。
-
记忆能力: 拥有短期(workingMemory)和长期(LlmInteractionLog, ProjectContextVariable)记忆,能进行多轮对话和迭代。
-
自我纠错与迭代: 能识别并修正自己的错误,并通过 code_validator 追求更高质量。
-
多模态创作: 支持文本和图片生成。
-
混合 RAG: 结合内部私有知识和外部通用知识。
潜在的改进点与挑战
LLM 的非确定性
对于模型目前只测试了几种 对于其他模型 是否可以动态的变换提示词,这是一个挑战,或者说按照模型的智能等级来区分提示词,这样用户介入修改提示词的概率就会大大减少
资源消耗
这应该是智能的一个通病
LM 调用是昂贵的,尤其是复杂的规划和代码生成任务。多次调用 LLM 进行自我修正或迭代,会显著增加成本和延迟。
目前引入向量数据库也是为了减少这一问题
知识图谱的深度
目前的 Neo4j 集成还停留在“存储知识节点”的阶段,真正的“实体-关系抽取”和“图谱推理”尚未完全实现。
以上就是手搓AI Agent 的全部过程,欢迎大家批评指正!
更多推荐

所有评论(0)