- 基于 Elixir/OTP 的企业级分布式高可用架构
- 带演绎归纳能力的长程记忆
- 深阶循证 Deep Research
- Apache-2.0 开源协议
01能力
它凭什么扛得住一件事
一个实例即可运行长任务、保持工作上下文、监测外部变化,并为每项业务职能提供持久的执行闭环。
长任务在后台运行
后台任务、定时任务、稍后回来查看。一个任务可以连续运行数小时,完成后 agent 会回到原来的群里通知你;中途哪一步出错,它会说明原因并重试。
群聊里的隐性知识
同事之间的对话,它同样在听。谁定下的规则、谁偏好什么、上次那个方案为什么没通过——这些从来没有人专门告诉过它的信息,会沉淀为这个群的共享记忆。
不只是记住,而是建立世界模型
记忆的本质是一个世界模型:用过去的经验预测接下来会发生什么,再让现实不断校正它。Brain 既归纳也演绎,还把外部世界的变化直接纳入认知——不必等谁在群里提起。所以它不只是记住,而是在学习和自我改进。
Deep Research 与 Playbook
扇出检索、分层验证、对立假设检验。一类任务跑通之后固化为 playbook,下次直接沿用。交付的是带引证的报告,而不是一段似是而非的摘要。
真的会用浏览器
运行时持有一个真实的 Chromium 会话,Agent 通过 ankole-browser 驱动:读取渲染后的页面、点击、输入、截图、执行可复现的 Playwright 脚本,登录状态在多个步骤之间保持。
技能自己进化
Agent 把踩过的坑写成 overlay 提案,经人工批准后在下一个会话生效。它不会擅自修改自己,改动内容全程可查。
业务职能优先
一项窄职能可以由一个 Agent 承担,也可以由多个 Agent 分工。权限、工具、记忆和对外身份始终有明确边界;多 Agent 执行是可选实现方式。
对接企业身份与 IM
飞书、Slack、钉钉、Teams、Google Workspace 都是一等适配器。身份来自你现有的 IdP,出站身份、权限与审计均与企业目录保持一致。
02安装
快速开始
在 Linux、macOS 或 Windows 上用 Docker Compose 单机部署;企业环境使用 Kubernetes,也可以从源码安装。
只要 Docker 能运行 Linux 容器,Linux、macOS 或 Windows 都可以启动这套 Compose;其中包含 PostgreSQL、一个 Worker 和 Caddy HTTPS。
git clone https://github.com/AgentBull/ankole.gitcd ankole/tools/deploy/docker-composecp .env.example .envchmod 600 .envFill the required values in .env, then:docker compose pulldocker compose up -d03职能
每项业务职能,都有结果指标
工作可以数字化完成,能产出可检查的交付物,并有明确的业务结果。下面六项是示例,不是完整清单。
效果广告投放
投放计划、出价、素材与预算调整
增量 ROAS 与获客成本
行业研究与交易
研究、假设、组合操作与复盘
超额收益、夏普比率与最大回撤
SEO 优化
关键词规划、内容简报与页面调整
关键词排名变化与有效自然流量
药品注册
注册资料包与发补答复
一次通过率与发补轮次
专利申报
先行技术检索、权利要求书与审查意见答复
授权率与审查轮次
智能合约审计
审计报告与可复现的 PoC
高危漏洞漏报数与误报率
「定义职能,授予有边界的权限,让 Agent 自主工作,再用结果考核。」
04差异
从 AI 能力到自主劳动力
Copilot 帮人履行职能;Ankole 把职能交给 Agent,让它在明确的授权边界内自主工作,并按交付结果接受考核。
- 01
业务职能,不是聊天人设
每个 Agent 都有持续承担的职能、明确交付物、工作上下文和结果指标。身份用于承载授权与历史,不是模仿一个人。
- 02
考核结果,不考核忙碌
用真正影响业务的数字衡量工作:收益、风险、排名、通过率、单位成本,或其它事先声明的结果。
- 03
Agent 负责执行闭环
它负责规划、工具调用、跟进、故障恢复和交付,人不必逐步驱动下一步。
- 04
工作上下文变成持续行动
频道和系统中的规则、风险、决策与截止日期,会成为后续工作的持久输入,即使当时没有人专门对 Agent 说话。
- 05
人负责治理边界
身份、AuthZ、审批点、审计记录和升级路径定义 Agent 能做什么;人继续负责审批、例外与最终问责。
05积累
同一个错,它不会犯第二次
助手每次都从零开始:你昨天纠正过的,今天还得再说一遍。Ankole 会把每一次纠正写进频道规则和技能,下一个会话即刻生效。第二次做同类任务时,起点已经不同。
频道规则 · 投研4 条
- 07-14周期股用 7 年分位,不用 3 年两名同事在群里讨论时定下的,没有人 @ 它
- 07-19报告先给结论,风险不许省一版草稿被退回之后
- 07-22取不到的数据就说取不到,不许估一次事故之后写入技能
- 07-25港股估值单独算,不和 A 股混人工纠正过一次
一条规则进了账本,之后呢
多数 agent 的「记忆」是一份只增不减的日志:说过的话原样存进向量库,用的时候按相似度捞回来。旧口径和新规则在库里地位完全平等——没有时间线,也没有谁取代谁。上月的「3 年分位」和这周的「7 年起」并排躺着,下一份报告用哪条,全看那次检索捞到哪条。
Ankole 的记忆会裁决。新规则接位,旧口径连同生效时段一起退役;三次同类纠正并成一条更准的;彼此矛盾的结论按时间、来源和置信度分出高下;预测过的事,结果出来还要回头对账。
这些动作服从同一个目标——缩小预测与现实的落差,生物大脑整理记忆走的也是这条路。回忆因此不是回放,而是按当下重新推理。第二次做同类任务,开工时的认知已经是裁决之后的:同一个错,没有再犯的余地。
这套架构最有力的证据,是 Ankole 自己
这个仓库里就有一个 agent,职责是维护 Ankole。Engelbart 把工作分成三层——做事、改进做事的办法、改进「改进」本身;越往上,杠杆越大。三层都作用在自身,是检验这套设计最客观的方式。
06运行时
底层的五个技术判断
Actor 负责长任务的身份与生命周期,OTP 负责故障发生后的处理,ZeroMQ 负责实时控制的传输,Agent Computer 负责本地执行,PostgreSQL 负责持久事实。
- 01
用 Virtual Actor 承载 AI 工作
一个会话就是一份工作身份:有地址、有状态、有信箱,有生命周期,也有恢复路径——而不是游离在后台的一段任务。
- 02
OTP 监督树划分故障域
某个 Agent 卡住、超时或崩溃时,Ankole 只需隔离或重启那一支,不会拖垮整个实例。
- 03
ZeroMQ 承载实时控制
唤醒、插话、检查点、流式输出与背压都经过低延迟路由层,因此 Agent 仍在执行时,你也可以介入甚至接管。
- 04
Agent Computer 作为执行基座
LLM 循环、工具、文件、终端状态与流式输出,都运行在紧邻 workspace 的 Bun + TypeScript 环境中。
- 05
持久账本支撑恢复与审计
信箱、轮次、提醒、决策与已提交的操作都会持久留存,不随进程结束而丢失。流式输出只是进度,已提交的才是事实。