パッケージの土台を作り、コア一式を一日で立ち上げました。メッセージとRunnable、OpenAI・Anthropic・Ollama・Google Gemini のプロバイダーアダプター、続いてプロンプト、出力パーサー、ドキュメントローダー、テキストスプリッター、ベクトルストア、リトリーバー、インクリメンタルなインデックス更新、メモリ、ツール呼び出し型のエージェントループ、そして循環的なワークフローのための StateGraph です。
一度の作業にしては多く見えますし、実際に多かったのですが、その大部分は LangChain の形をSwiftに忠実に移植したものです。なので設計の仕事は、ゼロから考えることよりも、何を残すかを決めることでした。
一番欲しかった部分は最初のコミットから入っていました。ストリーミング、ツール呼び出し、そして自己修復ラッパー付きのストリーミングJSONパーサーです。どれも、これまでのプロジェクトで毎回手書きで再実装していたものでした。