agentc——用 C 编写的极简代理:不到 1 MB,无运行时
摘要
agentc 是一个用 C 编写的极简可扩展编码代理:单个静态二进制文件不到 1 MB、无 libc,通过 MCP 处理外部工具,并提供带版本的 C ABI 以支持进程内扩展。项目支持在 macOS/Windows 上运行时动态加载扩展,作者希望与社区讨论 MCP 与进程内扩展之间的边界划分。
大家好,分享一个小项目:一个极简的可扩展编码代理,围绕一个问题构建——代理的扩展接口究竟应该是什么样的。
- 对于所有外部功能使用 MCP:通过 stdio 处理工具、提示词和资源,断线后采用带上限的指数退避进行重连
- 对于需要在进程内运行的一切,提供带版本的 C ABI(include/agentc_ext.h):同步或异步工具、provider、模型以及提示词/主题根目录
- 扩展可以直接链接进二进制文件,也可以在 macOS/Windows 上运行时加载;附带 C 和 Rust 的参考扩展实现
- 会话状态使用 JSONL 格式,配置使用 JSONC 格式,无需担心与其他代理之间的文件格式兼容性
- 单个静态二进制文件不到 1 MB,无 libc;启动时 RSS 约 0.7 MB,空闲时约 2–4 MB
MIT 许可证。
很想知道其他人是如何划分 MCP 和进程内扩展之间的边界的。欢迎 macOS 或 Windows 用户试用:Linux 已经过端到端测试,但 macOS 和 Windows 目前只在 CI 上运行过。
二进制文件已提供 Linux(x64、arm64、riscv64)、Windows(x64、arm64)和 macOS(arm64)版本。
相似文章
@vintcessun: 发现新思路:编码 agent 原来可以轻到这个程度。16MB 内存、0% 空闲 CPU、26MB 二进制——这数据在 agent 圈里有点离谱。 它用 Rust 硬怼,17k LoC 就把所有标准工具、权限系统、会话管理、MCP 都塞进去…
Zerostack 是一个用 Rust 编写的极简编码 agent,仅消耗 16MB 内存和 26MB 二进制,通过 feature gate 实现轻量化,支持多种提供商和工具。
@DanKornas:同时运行多个编程智能体,不该让你成为它们之间复制粘贴的中转站。Agent Room 是一个基于 MCP 的开源协作…
Agent Room 是一个基于 MCP 的开源协作层,帮助开发者在编辑器、供应商和机器之间协调多个编码代理,通过共享房间、结构化产物和证据门控任务板替代手动传递上下文。
我用C语言打造了一个支持热重载Lua插件的轻量级编程助手
作者介绍了Capstan,一个具有C核心和热重载Lua插件的轻量级编程代理,旨在提升开发工作流的效率和可扩展性。
使用 MCP 进行代码执行:构建更高效的智能体
本文来自 Anthropic,探讨了如何将代码执行与 Model Context Protocol (MCP) 相结合,以提升 AI 智能体的效率。文章分析了工具定义和中间结果导致的 token 过载等挑战,并提出代码执行作为降低延迟和成本的解决方案。
25 个 Agent、50 个 MCP 服务器、1 个应用:你会选什么技术栈?
一位从业者向社区征求建议:如何在 AWS 上构建一个生产级 Agent 平台,包含约 20 个 Agent 和 50 个 MCP 服务器,并在 Bedrock AgentCore、Claude Agent SDK、Strands、LangGraph、A2A、LiteLLM 和 Langfuse 等方案之间权衡取舍,同时要求完整保留 Claude 的全部功能和可用的提示词缓存。文章就框架选择、Agent 间通信、MCP 托管和代码仓库策略寻求推荐。