
大家好,我是地鼠哥。
上一篇文章发出后,收到了大家非常多的反馈和投票,非常感谢!果然,“企业级 RAG 知识库与业务办理 Agent”这个方向获得了最高的关注度。大家和我一样,都希望AI不止于“聊天”,更能“办事”,产生实际的业务价值。
这也坚定了我的想法:就从这个最硬核、最具商业潜力的方向入手,搞一次真正的实战。
所以,这篇续作不再停留在“构想”,我会把自己这几天的深入设计、技术选型思考以及踩到的第一个“坑”分享出来。目标是打造一个 “既能回答,又能办事” 的双模企业AI智能体。
上次我提到了“Read”和“Write”两种模式。经过细化,我认为一个完整的企业级智能体应该具备三层能力,就像一个有经验的员工:
用Go来实现,优势就在于:用高并发处理海量文档解析(知识层),用高效的内存和网络IO处理实时数据分析(洞察层),用健壮的错误处理和链路追踪来保障业务流程执行(执行层)的稳定。
我们的智能体将作为一个 MCP Server 来构建,通过标准协议与 Cursor/Claude Desktop 等客户端通信。架构核心如下:

go-mcp SDK 开发,省去协议层面的烦恼。挑战:企业文档格式杂乱(Word, PDF, PPT, Excel, 网页),Python的解析库虽多,但在处理十万级文档时,速度和内存是瓶颈。
Go的解法:
goroutine + channel,构建一个多阶段并发处理流水线。docconv, unipdf 等纯Go库)。strings, regexp 标准库足以,快)。weaviate-go 或 qdrant-go 客户端)。这是最大的挑战,也是价值所在。 让AI调用业务接口,我们必须解决:
confirmationRequired 标记,引导客户端弹出确认框。validate:"required")能让它非常清晰健壮。在原型开发阶段,我立刻遇到了一个棘手的问题。我们的业务工具(比如“请假申请”、“数据查询”)可能会经常变化,难道每次都要修改代码、重启Server吗?
解决方案:基于配置文件的动态加载。
YAML 配置文件,描述其名称、参数模式、对应的后端API端点以及权限要求。text/template 包和 reflect 机制,动态生成符合MCP规范的Tool Definition,并注册到Server中。这样一来,新增一个业务功能,只需要编写一个YAML配置文件和一个处理函数,无需触动核心框架。这为未来的“低代码”配置化打下了基础。
# tool_apply_leave.yaml
name:"apply_leave"
description:"提交请假申请"
parameters:
-name:"type"
type:"string"
enum:["annual","sick","personal"]
description:"请假类型"
-name:"days"
type:"number"
description:"请假天数"
backend:
endpoint:"http://hr-service/v1/leave/apply"
method:"POST"
auth_required:true
confirmation_prompt:"确认提交请假申请吗?"
这条路肯定不轻松,尤其是执行层的安全和可靠性设计,需要投入大量精力。但一想到能做出一个真正“能干活的AI同事”,就觉得格外有动力。
你对这个“业务办理Agent”的具体实现有什么想法吗?或者,如果你来设计,最希望它优先处理你们公司的哪个业务流程? 欢迎在评论区继续交流,你们的建议会直接影响到我的开发优先级!