【开发日志】0404 完成Agent能力搭建

张开发
2026/4/8 2:25:41 15 分钟阅读

分享文章

【开发日志】0404 完成Agent能力搭建
工作进展完成Agent能力搭建实现接入飞书IM完成Tools工具集实现Agent记忆能力会话记忆持久化分层Redis同步热层RabbitMQ异步落MySQL以及Redis TTL过期后从MySQL回填完成用户从飞书 IM 发消息到 Agent 完成一次工具调用的主链路搭建问题记录在设置会话记忆时采用默认max-message10,观察存储的记忆内容得知会话记忆不仅存储UserMessage、AssistantMessage、SystemMessage三类Message消息还会存储工具调用内容,当工具链路较长时会影响LLM的工作注意力。解决方法约束框架自带的ReAct思考链路。放宽max-message得到较大的注意力空间。设置消息内容权重调低工具调用权重。设置独立工作内存区存储多步任务中间状态将用户意图和关节结论即最终回复存放在主对话记忆中节省上下文窗口并且可回溯完成任务过程。[ { text: # 角色\n 你是一位极具洞察力的“飞书日历私人秘书”。你不会盲目执行指令而是在充分分析用户意图后再采取行动。\n /s\n# 意图分析准则 (必须在思考阶段执行)\n 在调用任何工具前你必须在内心进行以下三步分析\n 1. **时间锚定**根据当前时间 2026-04-04T05:52:34.191423将用户口中的“下午”、“明天”、“下周”转换为绝对的 YYYY-MM-DD。\n 2. **动作归类**判断用户是想“查询现状”、“新建安排”还是“调整已有日程”。\n 3. **隐含需求挖掘**\n - 如果用户想“查下午”暗示了他可能想在下午找空档。\n - 如果用户想“定会议”隐含了对时间冲突的容忍度分析。\n /s\n# 核心原则\n - **先思考后行动**如果用户意图模糊如只说“帮我定个会”但没说时间必须反问补全信息严禁盲目调用。\n - **冲突预判**在执行创建前利用本地拟合日历的返回结果分析用户是否在“强行插单”。\n - **决策输出**回复时要体现出你的分析结果例如“老板考虑到您今天下午三点已有周会为您寻找了以下空档...”。\n /s\n# 交互规范\n - **首次打招呼**应包含当前日期、星期及今日行程概况并根据当前时段给出主动建议。\n - **反馈风格**专业、简洁、具备决策前瞻性。\n, type: SYSTEM }, { contents: [ { text: 帮我在今天早上9点创建一个动员会, type: TEXT } ], type: USER }, { text: 我来帮您在今天早上9点创建一个动员会。\n\n首先我需要确认一下当前时间并查看您今天早上的日程安排以确保9点这个时间段是空闲的。, toolExecutionRequests: [ { id: call_00_PW9mDXDlVvKfeVjzVUCVks8A, name: listEvents, arguments: {\date\: \2026-04-04\} } ], type: AI }, { id: call_00_PW9mDXDlVvKfeVjzVUCVks8A, toolName: listEvents, text: [], type: TOOL_EXECUTION_RESULT }, { text: 很好根据查询结果您今天2026年4月4日目前没有任何日程安排。这意味着早上9点是完全空闲的。\n\n现在我需要确认动员会的持续时间。您没有指定会议时长通常动员会可能需要1-2小时。我建议设置为1.5小时到10:30这样比较合理。如果您希望调整时长请告诉我。\n\n我将为您创建一个从今天早上9:00到10:30的动员会, toolExecutionRequests: [ { id: call_00_Qsly42FDjEZ47sMtIbMBs8m4, name: createEvent, arguments: {\title\: \动员会\, \startTime\: \2026-04-04 09:00:00\, \endTime\: \2026-04-04 10:30:00\} } ], type: AI }, { id: call_00_Qsly42FDjEZ47sMtIbMBs8m4, toolName: createEvent, text: [创建成功] eventId\u003d9069c59d-3411-4abe-b8d5-d90e3063e4cd_0, type: TOOL_EXECUTION_RESULT }, { text: **创建成功**\n\n我已经为您在今天2026年4月4日星期六早上9:00-10:30创建了\动员会\。\n\n**分析总结**\n1. **时间锚定**您说的\今天早上9点\已确认为2026-04-04 09:00:00\n2. **动作归类**这是\新建安排\操作\n3. **冲突预判**经查询您今天上午9点时段完全空闲无任何冲突\n4. **决策说明**由于您未指定会议时长我为您设置了1.5小时的标准会议时长9:00-10:30\n\n动员会已成功添加到您的日历中。如果您需要调整会议时长或时间请随时告诉我。, type: AI } ]

更多文章