130 行代码,带你实现 Agent Skills 的“丝滑”调度:DeepAgentForce 开源了!
是一个基于 Python 3.12 构建的下一代智能对话平台。它不只是一个简单的聊天窗口,而是深度融合了GraphRAG(图谱增强检索)认知能力与Agent Skills(技能系统)执行能力的“完全体”。极简调度、即插即用、深度记忆。DeepAgentForce 的初衷是让 Agent 开发回归简单。它证明了:通过合理的架构抽象,我们不需要写成千上万行代码,也能构建出一个具备复杂调度、深度检索和个
在 AI Agent 爆火的今天,开发者们似乎陷入了一个怪圈:想要实现一个具备“搜索”或“读 PDF”能力的 Agent,往往需要引入几百 MB 的重型框架,翻阅几千页的文档,最后还要写一堆复杂的路由逻辑。
“我只是想给 Agent 添个技能,为什么要动我的核心代码?”
如果你也有这种困扰,那么这个仅用 130 行核心调度代码 实现的开源项目 —— DeepAgentForce,或许能给你带来不一样的启发。
🚀 什么是 DeepAgentForce?
DeepAgentForce 是一个基于 Python 3.12 构建的下一代智能对话平台。它不只是一个简单的聊天窗口,而是深度融合了 GraphRAG(图谱增强检索) 认知能力与 Agent Skills(技能系统) 执行能力的“完全体”。
它最大的特色在于:极简调度、即插即用、深度记忆。
✨ 核心亮点:为什么它与众不同?
1. 🛠️ 130 行代码的调度艺术
DeepAgentForce 的核心调度器(ConversationalAgent)只有约 130 行代码。我们拒绝了臃肿的硬编码,采用了约定优于配置的设计。
-
零配置扩展:想加新功能?在
skills/目录下新建一个文件夹,扔进 Python 脚本和一份SKILL.md,Agent 瞬间就能学会新技能。 -
文档驱动:Agent 会直接阅读你的 Markdown 文档来理解技能的用途和调用方法,实现真正的“语义化发现”。
2. 🕸️ GraphRAG:突破传统 RAG 的局限
传统的向量检索(Vector RAG)在面对“总结这几份文档的主要冲突点”这类宏观问题时经常翻车。 DeepAgentForce 引入了 GraphRAG,通过知识图谱重构信息:
-
全局理解:自动提取实体与关系,生成社区摘要。
-
多模态索引:支持 PDF、MD、TXT 等多种格式的即时索引。
3. 👤 越聊越懂你的“用户画像”
Agent 应该有记忆。我们利用 LLM 语义分析 + NetworkX 图算法(PageRank),量化提取用户关注的核心实体。
无感更新:采用异步线程池机制,在对话结束时静默更新画像,不阻塞对话流程,让 Agent 真正实现“千人千面”。
🔍 核心技术揭秘:代码里藏了什么?
让我们看看这 130 行代码是如何处理复杂的工具调用的:
# 核心逻辑片段:利用 astream 实现思考过程可视化
async for event in agent_instance.astream(
{"messages": [HumanMessage(content=user_input)]},
config=config,
stream_mode="values"
):
last_msg = event["messages"][-1]
# 当 Agent 决定调用工具时,立即触发回调通知前端
if isinstance(last_msg, AIMessage) and last_msg.tool_calls:
for tool_call in last_msg.tool_calls:
await self.status_callback.on_tool_start({
"name": tool_call['name'],
"args": tool_call['args']
})
这段代码通过 LangGraph 的 astream 模式,将 Agent 的“内心戏”实时推送到前端:
-
🚀 开始思考
-
🛠️ 调用工具(如:Web Search)
-
✨ 执行完成
-
🎉 生成最终回答
这种思考过程可视化极大地提升了用户在使用时的信任感和交互体验。
🛠️ 快速上手
只需要简单的三步,你就能在本地跑起这个强大的 Agent 平台:
-
环境准备
git clone https://github.com/TW-NLP/DeepAgentForce conda create -n agent python=3.12 && conda activate agent pip install -r requirements.txt -
启动后端:
python run.py(默认端口 8000) -
启动前端:
cd static && python -m http.server 8080
打开浏览器访问 http://localhost:8080,在界面上动态配置你的 GPT-4o 或 Claude-3.5 密钥,即可开启探索!
💬 结语
DeepAgentForce 的初衷是让 Agent 开发回归简单。它证明了:通过合理的架构抽象,我们不需要写成千上万行代码,也能构建出一个具备复杂调度、深度检索和个性化记忆的顶级 Agent。
目前项目已在 GitHub 开源,欢迎各位开发者提交 Issue 和 PR,一起探索 Agent 的边界!
🔗 项目地址: https://github.com/TW-NLP/DeepAgentForce 📌 微信交流: 欢迎加入 NLP 技术交流群(二维码见 GitHub README)
如果这个项目对你有启发,别忘了点个 Star 🌟 支持一下!
更多推荐




所有评论(0)