实习双周报 (第 5-6 周)

刘晓枫 |

工作总览

本部分提供了过去两周主要工作的概览和精力分布情况。通过交互式图表,您可以快速了解各项任务的核心贡献和投入。这为深入探索后续每个具体项目部分提供了宏观视角。

主要工作内容分布 (示意图)

一、本地Chroma代码知识库修改

核心优化:改进代码分块策略,提升语义完整性

优化前:按字符数分块

def process_data(data): # Step 1: validate if not data: return None
CUT

单词被截断,破坏语义

优化后:按行+Token数分块

def process_data(data):
# Step 1: validate if not data: return None

保持代码完整性,语义清晰

二、代码理解与注释LangGraph Workflow

功能增强与优化

  • 代码溯源: 返回文件名和行号。
  • 异步执行: 提升响应速度。
  • 标准化日志: 替换print为log。

架构重构与封装

  • 模块化拆分: 分为三部分,提升可维护性。
  • MCP工具化: 将Workflow及内部tool封装为MCP工具。
  • Dify平台集成: 构建完整自动化调用链路。

工作总结与思考

此项目虽未直接落地,但为后续ReAct Agent研发奠定了坚实的技术基础和宝贵经验。

三、MCP服务梳理与部署

服务拆分与整合

与国昊协作,对现有MCP Tools按领域重新划分,完成代码拆分、配置修改并提交至GitLab,使服务架构更清晰、易于管理。

部署测试与Nacos切换

辅助黄老师进行MCP Server部署后测试,确保服务稳定。同时,根据架构升级,将服务注册中心切换为Nacos MCP,并完成相关内容的整理与提交。

四、基于LangGraph的ReAct Agent实现

核心构建与能力集成

  • 构建ReAct Agent: 实现 `推理 -> 调用工具 -> 观察` 决策循环。
  • 集成MCP工具调用: Agent能动态调用平台任意MCP工具。
  • Agent的再封装: 将整个Workflow也封装成更高阶的MCP工具。

服务化接入与验证

  • 服务化封装: 使用Flask封装为标准HTTP接口。
  • Dify平台接入: 支持Agent节点和HTTP请求两种方式。
  • 功能验证: 成功替代原有Agent节点,准确解决算法问题。

ReAct Agent 工作循环

推理 (Reason)

思考下一步做什么

调用工具 (Act)

执行具体操作

观察 (Observe)

分析工具返回结果

重复此循环,直至得出最终答案

五、CodeReview知识库构建

背景: 为了提升代码审查(CodeReview)的效率和质量,需要一个包含高质量、带注释的基准代码库作为参考。

实践: 在RAGflow平台中新建了专门用于CodeReview的知识库,导入了由智玲精心增加过注释的高质量代码作为初始数据。

目的: 为后续的自动化CodeReview工具提供优质的RAG数据源,同时也方便团队成员在此基础上学习和扩展。

六、未来工作展望

  1. ReAct Agent功能拓展: 将当前为特定工作流定制的Agent,拓展为通用Agent,实现类似Dify的任意参数输入及参数描述功能。
  2. 具体业务应用: 参与“料箱分车”项目的CodeReview工作,应用已有知识和工具。
  3. 持续学习与探索: ……