我用 C# 构建了一个完全运行在本地 LLM 上的自主研究代理(Ollama + llama3.1:8b)
Reddit r/LocalLLaMA2026/02/10 17:39机翻/自动摘要/自动分类
3 阅读
摘要
一位开发者分享了他使用 C# 和本地 LLM(Ollama + llama3.1:8b)构建的自主研究代理。该代理能自动生成搜索查询、联网搜索、分析网页内容,并生成结构化报告,全程无需外部 API。作者还分享了在本地 CPU 环境下的性能表现、开发过程中的技术心得(如模型选择、上下文处理、内存管理和 C# 的优势),并提供了项目和入门套件的 GitHub 链接。该项目采用 MIT 许可。
正文
厌倦了手动将 URL 复制粘贴到 ChatGPT 进行研究?我构建了一个可以自主完成这项工作的代理。考虑到这个社区喜欢实用的本地 项目,我决定分享出来。
它的功能:
- 你给它一个主题(例如“AI 代理的持久化内存”)
- 它会生成 5-8 个搜索查询
- 通过 Brave Search API 在网上搜索
- 获取并阅读排名靠前的来源
- 分析每个页面以获取相关发现
- 将所有内容综合成一份结构化的 Markdown 报告
所有推理都通过 Ollama(llama3.1:8b)在本地运行。无需 OpenAI/Anthropic API。
我的配置下的性能(Ryzen 5 5500,仅 CPU,16GB RAM):
- 每次研究运行约 15 分钟
- 分析 8-12 个来源
- 提取 5-8 个关键发现
- 附带引用的结构化报告
我的学习心得:
- 3B 模型(llama3.2)在工具调用方面不可靠。至少需要 8B。
- 必须在综合信息前截断发现内容,否则模型会因上下文过长而崩溃。
- SQLite + 嵌入式技术在个人规模的内存管理方面效果很好,无需向量数据库。
- C# 实际上是构建 AI 代理的绝佳语言(速度快、类型安全、工具链完善)。
技术栈:C# / .NET 8, Ollama, SQLite, Brave Search API(免费套餐)
来源:https://github.com/DynamicCSharp/hex-dynamics
如果你想从头开始构建自己的代理,我还提供了一个包含 8 章指南的入门套件:https://github.com/DynamicCSharp/agentkit
我很乐意回答关于架构的问题或分享具体代码。整个项目采用 MIT 许可。
已知局限性:
- CPU 推理速度慢(约 15 分钟)。使用 GPU 会快得多。
- 8B 模型偶尔仍会产生格式错误的工具调用,我会用备用提示重试。
- 研究质量很大程度上取决于 Brave Search 为你的主题返回的结果。