返回黑客松案例

黑客先锋奖奖金:100 元#109
BillManager MultiAgent
基于 OpenAgents 框架构建的多智能体协作记账系统,通过自然语言对话实现收支记录的查询、新增、修改与删除。创新性地设计了"意图理解-数据库操作"的职责分离模式:Assistant Agent 专注对话交互与意图识别,MySQL Expert Agent 专注 SQL 生成与执行,两者通过事件驱动机制协作,实现专业分工与安全隔离。...
关于作者
陈明威,26岁,大模型与物联网的“连接者”。专注将前沿AI算法落地到真实物理世界,让模型在边缘设备上实时进化。活跃开源社区,喜欢把探索成果打造成可复用、高可玩的模块。期待和志同道合的开发者一起,攻克更接地气、更棘手的实际问题~
项目简介
基于 OpenAgents 框架构建的多智能体协作记账系统,通过自然语言对话实现收支记录的查询、新增、修改与删除。创新性地设计了"意图理解-数据库操作"的职责分离模式:Assistant Agent 专注对话交互与意图识别,MySQL Expert Agent 专注 SQL 生成与执行,两者通过事件驱动机制协作,实现专业分工与安全隔离。
技术方案
计划创建两个 Agent,通过 OpenAgents 的事件系统和 Mods 协作实现协同记账: Assistant Agent:作为面向用户的前端接口,负责理解自然语言请求(如"上周收支"、"昨天收入100")、识别操作意图(查询/新增/修改/删除)及日期范围,并将请求通过 db.operation 事件转发给 MySQL Expert。仅响应消息接收确认,不直接回复结果。 MySQL Expert Agent:作为数据库操作专家,仅响应来自 Assistant 的事件请求,负责生成安全的 SQL 语句、执行查询/新增/修改/删除操作,并将结果通过 db.result 事件返回给 Assistant,最终由 Assistant 呈现给用户。 核心特性: 事件驱动协作:通过 send_event() 与 event_name 实现异步、解耦的 agent 通信 workspace.messaging Mod:提供频道消息、线程回复等协作基础功能 自然语言日期解析:将口语化表达("上周"、"昨天"、"本月")转换为 SQL 日期条件 SQL 安全验证:在执行前检查 SQL 语句,防止注入
功能亮点
① Assistant Agent:负责与用户对话、理解记账意图(查询/新增/修改/删除)、提取自然语言日期范围,并通过事件委托给 MySQL Expert。 ② MySQL Expert Agent:负责接收数据库操作请求、生成安全的 SQL 语句、执行数据库查询/新增/修改/删除操作,并通过事件返回结果。 ③ 两个 Agent 通过 OpenAgents 事件系统协作,Assistant 发送事件,MySQL Expert 处理后返回事件,实现异步解耦的完整流程。 ④ 实现自定义工具 mysql_tools.py,封装数据库连接、SQL 执行、SQL 安全验证及日期范围解析功能。