feat(sdk): 并发面零机制——无背压无并发上限,同 session 并发 resume 未定义,洪峰行为(排队 vs 丢弃)未显式化
メンテナーはふだん 1 日以内に返信
まだ誰も着手していません。
評価
- 難易度
- 5/5
- 見積もり時間
- 1週間以上
- 初心者へのやさしさ
- 38/100
調査の方向性
Start with spec/protocol.md:317 and the SDK state and locking code in init.py:269 and :311-317; inspect the runner, hub, and CLI entry points for existing concurrency behavior. Clarify the per-session, global-limit, lock-generation, and surge-handling semantics before choosing an implementation. Done means the SDK exposes and tests those decisions without session history corruption or unbounded process fan-out.
索引モデルが issue の本文から書いたものです。
説明
场景 gap 单(okguitar 提报)· 优先级 P1 · 依赖:无
基线 HEAD = 840392d。
Summary
spec/protocol.md:317 把并发划出 scope("concurrent requests … out of scope by design"),SDK 全层也无任何原语:三语言 runner/hub/cli grep 无信号量/队列/并发上限;run() 可无限并发、每调用 spawn 一进程。具体缺口:
- 同 session 两条快消息 → 两个 CLI 进程并发
--resume同一 session——协议只字未提其行为(CLI 侧 transcript 分叉与否未定义); - 每会话状态仅
~/.agentproc/sessions/<id>.jsonl(__init__.py:269),append_history无文件锁(:311-317)——并发追加交错; - run lock 是 opt-in 且同 key 并发时
write_run_lock后写覆盖前写、先结束者clear_run_lock误清在跑者的锁; - IM 洪峰时既不排队也不丢弃——直接进程扇出直到 OOM,每进程数百 MB RSS。
影响
im-agentproc 类常驻桥接方必须各自从零实现串行化/限流;不同桥接方行为碎片化,同用户连击产生 session 分叉/历史交错。
建议
SDK 提供 per-session 串行化原语 + 全局并发闸(信号量/拒绝语义可配);run lock 写入加进程内互斥 + 世代号;把「洪峰时排队还是丢弃」的决策点显式暴露给桥方。
- 主要言語
- Python
- スター
- 2
- フォーク
- 0
- 平均マージ
- 3時間 32分
- マージ済み PR(30日)
- 13
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートなし
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
似ている issue
-
[BUG] Container scenario crashes without expected_recovery_time, kube DNS example uses retry_waitオープンneeds-triage
難易度 2/5 1〜3時間 初心者へのやさしさ 77/100
krkn-chaos/krkn#1627 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
NousResearch/hermes-agent#136483 ·
メンテナーはふだん 1 日以内に返信
-
難易度 1/5 1時間未満 初心者へのやさしさ 88/100
メンテナーはふだん 1 日以内に返信
-
[BUG] LazyStackedTensorDictStore zeroes the last byte of a new key set on the last element対応中かも @peterdsharpe が今日担当しました。 オープンbug
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
pytorch/tensordict#2307 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
メンテナーはふだん 1 日以内に返信