Repository navigation
v0.2.0
提案作成のもとになった会話(Slackスレッド)のリンクをドキュメント内に保持するようにし、エージェントが提案修正時に参照できるようにしました。
エージェントは、ファイル上部に会話のリンクを以下のように残すようになります(YAMLフロントマター形式)。
---
sources:
- https://app.slack.com/client/T01234567/C01234567/123456789.123456
---
# 本文が続きます今までは会話の履歴をPull Requestの本文に残すようにプロンプティングしていましたが、
- 挙動が安定せず履歴を残さないことがある
- 会話にアップデートがあっても参照できない
- PR本文が長くなって人間にとって読みにくい
といった課題がありました。
今回のリリースにより、提案修正時にはエージェントがリンクを使って元の会話を参照するようになり、これらの課題が解消します。
また、全体的なプロンプト調整や挙動修正により、今までよりも既存ファイルを参考にしながら作業することが多くなります。
全体的なコードリファクタリングも含まれています。
関連Issue
重要な変更
- ドメイン特有のデータ構造をまとめられるようにdomain層にdataパッケージを新設
- domain/dataにFile(ファイル)、Source(情報源)、URIを追加
機能追加・仕様変更
- ドキュメントファイルのYAMLフロントマターに情報源のリンクを記載できる機能を追加
- エージェントがドキュメントを更新するときに、情報源のリンクを辿って一次情報を確認できる機能を追加
- Slackスレッドの履歴をPR本文に貼り付けずにURLを貼るようにプロンプトを調整 9b3df77
- 既存ドキュメントや情報源の確認をしてからPRを作成・編集するようにエージェントのプロンプトを全体的に調整
- ragtool(CLIツール)にRAGコーパスにクエリするコマンドを追加 45e0cf1
修正
- RAGコーパスへのクエリ結果にドキュメントのファイルパスが含まれていなかった点を修正 abd7b78
- GitHubでIssueコメントの修正や削除にエージェントがいちいち反応しないよう修正 de60426
リファクタリング・実装改善
- application層にtooluseパッケージを新設して、ツールが呼び出された時の処理をまとめる
- domain/dataに定義したFileRepositoryを実装して、既存のFileChangeServiceと置き換える
- 不要コードの削除 082c765
- ConversationServiceから会話のURIを取得できるようにする
- SlackスレッドやGitHub Issueコメントへの参照を構造体として定義してURIに変換しやすくする