2026.06.22
はじめに
こんにちは!福神漬けです。
今日は現行の開発プロジェクト向けに、いわゆるRAGと呼ばれるものを作ってみました。
チャット上でプロジェクトについての質問して、それをBotから生成AIを通して回答してもらえます。
この記事で紹介する内容は社内向け運用前提なので、
もし不特定多数に公開したいシステムを作っている方は、この記事だけでは足りないことに注意してください!
(後半の方にその辺りも少し書いています)
概要
・ユーザーはChatworkでBotに質問することで、RAGを使って回答を得ることができます。
・ドキュメントはBacklogという外部サービスのwiki機能を使い、一日一回最新データに更新します。
・このドキュメントやチャットの質問はAIの学習に使われないようにし、社員のみが使えるようにします。
使用した外部サービスは下記のものです。
・Chatwork
・Backlog
・AWS
→・Amazon Bedrock
→・S3 Vectors
→・Lambda(とその他イベント処理のための細かいもの)
という感じでサーバレスで主にLambda3つくらいで動くようにしています。
料金も一日100円もかかってなさそう?な程度です。
構成図はこんな感じです。(画像潰れちゃったので細かく見たい方はリンクのpdfから見てください)

かかった時間
実装にかかった時間は15時間くらいです。
初めて使うサービスが多かったのでつまづく部分が多かったですが、
今から同じものを作るなら5時間程度でできるんじゃないですかね。
自論ですが、細かいサービスを組み合わせる方がコード生成はうまくいくと思っていて、
実際今回はかなりスムーズでした。
この構成は様々なAPIを使用しているので、それを調べて書くのはAIの方が段違いに早いですし、
それをどう組み合わせるかはまだエンジニアの方が早いし安定しそうです。
良かった点
今回、ドキュメントにBacklog上のwikiを使うことにしたのはたまたまでしたが、
結果的にかなり満足のいく形になりました。
・ドキュメントごとにIDが振られているので、RAGのデータの更新が楽
・IDがページURLにもなっているので、回答に参考元のURLを貼って確認できる
また、RAG部分のコード、特に検索部分や回答プロンプトの部分はかなり簡素に作りましたが、
その割には高い質の回答をしてくれているなと感じています。
該当する資料の無い質問に対して、ちゃんと資料が無い、と言ってくれることが多いのも好印象です。
改善点
社内向けなので回答生成時のプロンプトがかなり簡素なのですが、
もし不特定多数に公開するならもう少し作り込む必要があります。
セキュリティ的にも、出力の安定のためにも。
RAGに限った話ではないですが今回みたいな構成にするときに、
無限ループにならないように気をつけなきゃいけないのは怖い部分だなと感じました。
特に、S3にJSONを置く → Lambdaが発火する、の部分は古典的ではありますが、
うっかり設定ミスで致命的なリスクなので、何か良い手はないか探したいです。
LambdaをTerraformで作るようにして、そのコードをAIにレビューさせるとか?
トリガーのバケットと置くバケットが一緒になってますよ、とか教えてくれるんですかね。
そういう風にレビューするように指示すればいいのかな?
なんとなく思ったこと
AI AgentがIT開発に浸透してきて時間が経ってきましたが、
現状エンジニアとしての経験や知識、センスがある人とそうじゃない人の差は顕著だと思います。
今回は、サービスを組み合わせる知識と経験が完成物の質や工数に大きく影響したかと。
また、今回初めてベクトルDBやコサイン類似度などの概要に触れましたが、
データ構造の一種だな、と割とすんなり理解できたのは、AtCoderなどの経験が活きたのかなと感じます。
(ちなみに自分のAtCoderのレーティングは万年茶色です)
もちろんこのAI時代、関わる全てのサービスや仕組みを理解する必要はないですし、
むしろそこに時間をかけ過ぎない方がいいです。
ただ、概念をすんなり理解できるようになった方が効率が良いことを多く感じているので、
そういう「理解するためのスキル」とかは意識して伸ばしてもいいのかもしれませんね。
終わりに
なんとなく今の自分の達成したいこととして、
「エンジニアじゃない人にAIを使ってすごいスピードで具体的なサービスを届ける」
というのがあります。
結局これが需要あるような気がしてて、このRAGもプロトタイプを1、2日くらいで出せるのが意味があるなって思ってます。
何かの参考になれば幸いです!
お疲れ様でした!