Evaluate: Extract standalone LLM interaction crate (Pi layered architecture pattern)
まだ誰も着手していません。
評価
- 難易度
- 5/5
- 見積もり時間
- 1週間以上
- 初心者へのやさしさ
- 35/100
- issue の種類
- リファクタリング
- 明瞭さ
- おおむね明確
- 活発さ
- 停滞
- 技術スタック
- rust
- 領域
- ai, backend-api-design
調査の方向性
Start by mapping LLM interaction points across the 54-crate workspace, including terraphim_orchestrator, terraphim_multi_agent, terraphim_llm_proxy, and cto-executive-system/automation/. Read the referenced Pi pi-ai package and compare existing model routing and agent configurations. Done means a proposed crate boundary, overlap assessment, and a documented extract, refactor, or reject decision with rationale.
索引モデルが issue の本文から書いたものです。
説明
Parent Epic
#682 -- Evaluate Pi architectural patterns
Pattern
Pi uses a 3-layer architecture where each layer is independently usable:
pi-ai (unified LLM API, multi-provider streaming, token/cost tracking)
|
pi-agent-core (stateful agent loop, tool execution, events, state management)
|
pi-coding-agent (TUI, sessions, extensions, skills, themes)
Any consumer can use pi-ai alone for LLM streaming, pi-agent-core for an agent without UI, or the full stack.
Current State
LLM interaction code in terraphim-ai is scattered across:
terraphim_orchestrator-- spawns CLI agents (subprocess management)terraphim_multi_agent-- agent configurations and model routingterraphim_llm_proxy-- HTTP proxy with model routing- Ad-hoc scripts in
cto-executive-system/automation/
There is no standalone crate for "call an LLM, get a response, track tokens/cost" that other crates can depend on without pulling in the full orchestrator or multi-agent machinery.
Evaluation Questions
- What belongs in a standalone LLM crate? Candidates: provider abstraction, streaming response types, token counting, cost calculation, context serialisation, model registry.
- Does this overlap with existing crates? Check
terraphim_llm_proxy(already has model routing) andterraphim_multi_agent(has agent configs). - Would this simplify ADF? Currently
terraphim_orchestratorshells out toclaude -pandcodex exec. A Rust-native LLM crate could replace some subprocess calls. - What about the Claude Agent SDK? The Agent SDK (#682 context) provides a Python/TypeScript library for Claude. A Rust LLM crate would serve a different purpose (direct API calls, multi-provider, no agent loop).
Acceptance Criteria
- Map all LLM interaction points across the 54-crate workspace
- Define proposed crate boundary (what goes in, what stays out)
- Assess overlap with terraphim_llm_proxy and terraphim_multi_agent
- Decision: extract, refactor existing, or reject with rationale
References
- Pi pi-ai package: https://github.com/badlogic/pi-mono/tree/main/packages/ai
- terraphim_llm_proxy: terraphim-ai/crates/terraphim_llm_proxy
- terraphim_multi_agent: terraphim-ai/crates/terraphim_multi_agent
- ADF orchestrator: terraphim-ai/crates/terraphim_orchestrator
- 主要言語
- Rust
- スター
- 62
- フォーク
- 5
- 平均マージ
- 2時間 27分
- マージ済み PR(30日)
- 1
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
terraphim/terraphim-ai のほかの issue
-
難易度 5/5 1週間以上 初心者へのやさしさ 25/100
terraphim/terraphim-ai#885 ·
-
難易度 4/5 3〜5日 初心者へのやさしさ 55/100
terraphim/terraphim-ai#871 ·
-
enhancement
難易度 5/5 1週間以上 初心者へのやさしさ 25/100
terraphim/terraphim-ai#810 · コメント 2 件 ·
-
enhancement
難易度 5/5 1週間以上 初心者へのやさしさ 35/100
terraphim/terraphim-ai#729 ·
-
enhancement
難易度 5/5 1週間以上 初心者へのやさしさ 35/100
terraphim/terraphim-ai#728 ·
terraphim/terraphim-ai の issue をすべて見る
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 88/100
-
bug core
難易度 2/5 1〜3時間 初心者へのやさしさ 86/100
-
JIT-compiled number -> Decimal conversion silently overflows instead of raising DECIMAL_OVERFLOW オープンfuzz
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
ClickHouse/ClickHouse#122114 ·
-
難易度 1/5 1時間未満 初心者へのやさしさ 92/100
linebender/vello_svg#90 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 74/100