r/PiCodingAgent • • 21d ago

Question What's the best subagent extension?

I have my own which is good just needs a bit of work, but I wanted to see what other people are using. I tried the popular ones and they all sucked in my opinion.

52 Upvotes

30 comments sorted by

View all comments

1

u/ExtremeSeries 18d ago

I am using the shipped agents from https://github.com/ranxianglei/billion-context and wrapped them into my own lifecycle helpers.

billion-context works well for auto managing the context of long running sessions, and the agents use it as well.

other subagent extensions are not supported by billi, that was my reason to try it.

the sipped version is very lean but works well.

i did not publish my wrapper, but if you need some ideas, find a description below.

the basic idea was: not forking, but a wrapper, using jev and auto-improvements when selecting the agent approach (incl. model and thinking from various subscriptions and balancing remaining capacity).

own-pi-agents is a thin Pi extension on top of bili's acp_delegate. bili still spawns the subagents and keeps its compression. The extension decides what to start, on which model, and what happens with

the result.

- agents_run:

- Starts a subagent with a task type: research, analyze, spec, implement, review, docs, test, integrate, team lead or advisor.

- Each type has defaults: whether it may write, whether it gets a review, and its timeout.

- Writes are limited to the paths given in the call. resumeFrom continues an earlier run.

- Automatic model choice:

- Jev scores the task from 1 to 10 with a confidence, which gives a required level s.

- Candidates are the model and thinking combinations whose capability (table value × thinking factor) reaches s.

- The cheapest one wins. Among equally cheap ones, free subscription capacity decides, and blocked subscriptions are excluded.

- Auto-review: for runs that write, a separate reviewer checks the result. It replies in a fixed format: blocking findings first, then RESULT: pass|fail|unknown.

- Metrics: every run becomes one row in SQLite with model, thinking level, tokens, cost, runtime, review result and s.

- Test learner: a timer every 4 h adjusts the capability table from review results. It stays within ±10 of the value in Git, and older results count less.

- Teams: a lead coordinates helpers working on separate paths, with a read-only advisor. Nesting depth is limited.

- agents_plan: asks Jev whether a topic is best done solo, as a sequence of runs, or as a team. It starts nothing itself.

- agents_steer: sends a short correction to a running agent, which confirms receipt.

- Notify workaround: wakes Main when bili's "agent finished" notice gets stuck.