SAIVerseのリファクタリング貢献しました
先日、余暇を使ってオープンソースのAIチャットツール SAIVerse のリファクタリングにコントリビュートしました。ここでは、以下をまとめておきます。SAIVerseがどんなプロダクトか自分が...
https://www.wantedly.com/users/150508795/post_articles/1046715
前回、余暇で触っていた OSS の AI チャットツール **SAIVerse** について、
ランタイムや記憶まわりのリファクタを書きました👇
今回はその続きで、**LLMクライアント層(OpenAI / Anthropic 周り)** を少し整理したので簡単にメモしておきます。
---
### やったこと
* Anthropic クライアントの中身を 「リクエスト組み立て」「レスポンス解析」「リトライ方針」に分解
* OpenAI クライアントの共通処理をヘルパーに寄せて、`generate` や streaming の経路を見通しよく整理
* 上記を壊さないように、ユニットテストとコントラクトテストを追加(Bad Request は無駄にリトライしない、などの挙動もテストで固定)
ざっくり言うと、**「マルチモデル対応の心臓部」をバラして、テスト付きで組み直した** 感じです。
---
### 感想メモ
LLMクライアント層は、
「インフラ寄りだけど、ユーザー体験にも直結するところ」なので、行数が膨れ上がらない今のうちにスッと読めるようにしておくと、将来の機能追加の心理的ハードルがかなり下がるなぁという実感がありました。
なので、今のうちにPRが打ててよかったです。