Skip to content

Latest commit

 

History

History
64 lines (38 loc) · 2.92 KB

File metadata and controls

64 lines (38 loc) · 2.92 KB

TODOs

P1: 分段式 Prompt Builder + 模式切换

What:build_prompt 拆成独立的 section builder(身份、工具、技能、记忆、安全、频道格式化、运行时提示等),支持 full/minimal/none 三种模式,加 prompt 总字符硬上限。

Why: 当前 prompt 构建是单一步骤,难以按场景裁剪。分段后可按模式选择装哪些段,也方便单独调优每个 section 的大小。

参考: elephant.ai 的 manager_prompt*.go,18 段组合 + 32K 字符上限 + 每技能体 1500 字符截断。

Effort: M Priority: P1


P1: 工具装饰器链(熔断 + 降级)

What: 给工具执行加装饰器链:至少包含熔断器(连续失败后自动熔断)和降级链(熔断后回退到备选工具)。可选:SLA 计时、参数校验、重试。

Why: 当前工具注册是扁平的,单个工具失败会直接暴露给 LLM。加熔断+降级后工具调用韧性大幅提升,LLM 不会卡在坏掉的工具上。

参考: elephant.ai 的 toolregistry/registry.go,5 层装饰器链 + DegradationExecutor + circuitBreakerStore

Note: Per-tool timeout is now handled separately in executor.rs (Tool::with_timeout() + tokio::time::timeout() wrapper). This TODO should focus on circuit breaker + degradation chain only.

Effort: S-M Priority: P1


P1: 网关快速分类路由

What: 在网关加一个快速分类步骤:用轻量 LLM 调用(或规则)把消息分成 direct(直接回复)、think(快确认+深度回复)、delegate(确认+后台 ReAct),简单消息不走完整 turn。

Why: 当前每条消息都跑完整 turn pipeline,简单问候或确认也要等全流程。分类路由后简单消息亚秒响应,体验质变。

参考: elephant.ai Lark 网关的「三模式大脑」,8s 快速 LLM 分类 → direct/think/delegate 三路由。

Effort: M Priority: P1


P3: Python/JS bindings for conduit (PyO3/napi-rs)

What: Publish conduit with FFI bindings so Python/JS developers can use the tape system and LLM toolkit.

Why: Expands addressable market from Rust-only to the entire agent ecosystem. Currently Eli only targets Rust developers building agents — a small intersection.

Pros:

  • 100x larger audience
  • Validates conduit as standalone value
  • Enables the "SQLite for agent memory" positioning

Cons:

  • Significant maintenance burden — two FFI surfaces to maintain
  • API must be stable before binding to it
  • Testing matrix explodes (Rust + Python + JS)

Context: The CEO review identified this as an "ocean" (too big to boil now) but high-value long-term. The Rust API needs to prove the decision layer thesis first. If persistent decisions don't matter to users, bindings don't help.

Effort: XL (human) → L with CC+gstack Priority: P3 Depends on: Conduit published as standalone crate, decision layer validated with real usage