2024年GW中にX(Twitter)タイムラインで流れてきて読んだおすすめ記事の紹介

# これはなに？
今年のGWも残すところ数時間となりました。
このGW中は、数年以上ぶりに会社PCを一日も触らない日々を1週間ほど過ごしました。

会社PCがない状態だと普段手が回っていない生成AIやコーディングなどの技術関連が気になってしまい、空き時間にXでかなりのインプットできました。

（その分、失った家族の時間もあるかもしれない・・・と思ったが妻もベッドに横たわってひたすらInstagramと無料漫画読んでたｗ）

ということで、読んでみて参考になった記事とそれに対するコメント（というか解釈・理解）を備忘録として残します。


# 気になった記事
## Bedrock関連
### Amplify Gen2で生成AIをデプロイ
おそらく、GW中は常に@minorun365さんのポストを監視していたと言っても過言ではないですw
Amplifyはハンズオンくらいでしか触ったことがないのですが、生成AIのWebアプリ作成をサクッとやるならこれが簡単そうです。

https://qiita.com/minorun365/items/5cfb4ff874e90332f7ec


### 最新のAdvanced RAGハンズオン
AWS公式がKendraとBedrockを使ったAdvanced RAGのハンズオンを公開していました。
Advanced RAGはざっくりいえば、**検索前処理と検索後処理を追加することで回答制度を上げる**試みです。

https://aws.amazon.com/jp/blogs/news/verifying-the-accuracy-contribution-of-advanced-rag-methods-on-rag-systems-built-with-amazon-kendra-and-amazon-bedrock/


そして、これをベースにしたRAG超入門を@moritalousが公開しています。
@minorun365さんとBedrock本を共著されており、同じくらい生成AI関連のQiita記事を投稿されています。
（そんな方と先日ご挨拶できて光栄です！）

https://qiita.com/moritalous/items/61f91039c13aeb9a51eb


### Command R/R+による最新RAG
GW前半は、**Cohere社のCommand R/R+がBedrockで解禁になった**という話題で持ちきりでした（1週間経って、既に今は昔感あり・・・スピードがすごい）。
Command R/R+はRAGがすごいということですが、Invoke Modelの中身にdocumentを渡す項目がある点です。
こちらも@moritalousさんが解説記事を書かれています。

https://qiita.com/moritalous/items/16797ea9d82295f40b5e


### Fine Tuning VS RAG
「Fine Tuningってワード聞くけど、RAGとどっちがすごいの？」という疑問に対して右ストレートで紳士に答えてくれた記事です。
とりあえず、RAG検討から入ってFine Tuningに進めば良さそうです。

https://qiita.com/minorun365/items/4c5f69e120898179347d


### RAGをコンテナで構築する
RAG関連で漁っていたときに、RAGアーキテクチャでECRやLambdaを活用されている点が気になり拝読しました。
BedrockマネコンからRAGを作るハンズオンもありますが、OSSのベクターストアやアルゴリズムを選定して構築しているのが参考になりました。

https://qiita.com/Naoki_Ishihara/items/662d70a9bd0dc3a8c9ce


### Bedrockでエージェントを体験する
「RAGで盛り上がっているけど、エージェントって何ができるんだっけ？」とふと我に返った記事です。
記事自体は少し古い（と言っても半年前！）ですが、GW半ばの話題をさらった東京リージョンでのエージェント利用解禁にもなったので復習しておきたいです。

https://qiita.com/minorun365/items/86a3667290a8e5657f65


なた、エージェントはProvisioned Throughputで使えるようになったそうです。
要は時間固定になったので、飲み放題みたいな感じです。

https://dev.classmethod.jp/articles/bedrock-agent-provisioned-throughputs/


加えてエージェントの可能性について言及している記事です。
まだまだ「RAG 精度向上」が人気ですが、今年後半にはエージェントが盛り上がりそうです。

https://note.com/daichi_mu/n/neb1e7617c48a


### Bedrockによるチャット風アプリ
「5ch風に説明された方が、知識が頭にスッと入ってくる」という、以下ポストに頭を殴られた気分になりました。

https://twitter.com/nasuvit_z/status/1780409521778950176?ref_src=twsrc%5Etfw%7Ctwcamp%5Etweetembed%7Ctwterm%5E1780409521778950176%7Ctwgr%5Edce08e6769cdf05d27ab782d7622afe0cd67df2d%7Ctwcon%5Es1_c10&ref_url=https%3A%2F%2Fqiita.com%2Fmoritalous%2Fitems%2Ffe9bc221f45fb824e7db

これに端を発して、AWSのWhat's Newをチャット形式で解説するデモを紹介しています。
このスピード感と流れは個人的に感動しました…

https://qiita.com/moritalous/items/fe9bc221f45fb824e7db


### ナレッジベースをPineconeで作りたい
BedrockのナレッジベースはOpenSearch Serverlessで簡単に作成できますが、如何せんコストがネックです。
Aurora Serverlessもベクターストアとして利用できますが、ともに"Serverless"という名はつけど、きっちり利用状況に関わらず時間で課金されます。

そんなときにおすすめされたのが「使った分だけのServerless」である**Pinecone**です。
Pineconeはマーケットプレイスからも購入できるので、利用しやすいのがGoodです。

https://serverless.co.jp/blog/lv3ba3897qdt/


## コーディング関連（Python中心）
### SOLID原則を完全に理解する
Python事例でSOLID原則を最も分かりやすく解説していると思われる記事です。
ボブおじさんのクリーン・アーキテクチャを読んだ人もこれから読む人も、ぜひ一読して欲しいです。

https://zenn.dev/nakurei/books/solid-principle-kanzen-rikai


### テストコードの書き方
今のチームでバックエンドPythonのpytestを我流で書いていますが、ふと「大丈夫か？」と不安になっている時に目に入った記事です。
pytestでのファイル構成やfixtureやconfestなどの初めてのpytestでつまづきやすいポイントが抑えられており、改めて復習になりました。

本資料は新人向けの研修資料ということで、これからコードを触る人には読んで欲しい内容です。

https://buildersbox.corp-sansan.com/entry/2023/10/25/110000


### Python3エンジニア認定
Pythonで資格があるんだと、Xタイムラインで知ってググった記事です。
Python3エンジニア認定は、基礎試験・実践試験・データ分析試験と３つあり、こちらは合格体験を記載されています。

https://note.alhinc.jp/n/n6a35223b483f

記事中でも紹介されていますが、模擬試験アプリもあるようです。こちらで力試しをしてみてもいいですね。
普通にPythonの勉強にもなります。

https://python-basic.com


### Streamlit入門
超今更ですが、ハンズオンでお馴染みのStreamlitの入門記事も拝読しました。
PythonでWebアプリ系のモジュールが増えてきたという記事を読んで、「そういえばStreamlitについてよく分かっていない」と気づいてググりました。

元記事にもあったように、「フロントエンドもできるだけビルド作業を無くしたい」「フロントエンドもバックエンドも単一の言語で記述したい」という要望には心底同意です。

https://qiita.com/papasim824/items/1804bc1bd8d4c195d8a8


### 例外処理を考える
**「例外は原則キャッチしない」**という個人的に衝撃的なワードから始まる記事に惹かれました。
私はLoggingとユーザへの通知（特にプラットフォームだとHTTPコード対応など）のために例外処理を設計していますが、その目的を再認識させられる記事です。

https://zenn.dev/koduki/articles/e9373cb78fcfef


## チームビルディング関連
### スタートアップに学ぶモメンタムの死守
スタートアップに限らず、アジャイル開発などで新しいチームで開発をスタートするときに読み返したい内容です。
モメンタム＝勢いですが、勢いを維持してリズム（＝小さな勝利）をつかんでいく大切さを語っています。

スライドには、Y Combinator時代のサム・アルトマンの名言がいくつか出てきます。
改めてすごい人だと思いました。

https://speakerdeck.com/tumada/sutatoatupufalsehuokasutorizumu-momentamuwosi-shou-suru-1


### 暗黙知をチーム内で共有する方法（逆上がりから学ぶ）
子供の逆上がりができるようになる過程から、「他者とのインタラクションが学習を加速させる」という割と飛距離のある着地点にいく過程が面白かったです。
逆上がりの習得プロセスがまさに**ZPD（Zone of Proximal Development: 最近接発達領域）**だったということで、私たちの原体験として経験済みなのかも気付きました。

割と管理職の人と話すと面白がってくれそうな話かと思いました。

https://note.com/yuki_anzai/n/nae13ca51dc3e


### お刺身とラグビー
タイトルが気になって読んでみた記事です。
約35年前のスクラムの原典ともいうべき論文"The New New Product Development Game"を、解説してくれています。

かなり前の内容ですが、現代にも通づるところが多い内容だと思いました。
なお、お刺身は並べられた時に左右のサクが重なり合っているのが、プロジェクト開発やチームが一部重複しているようだという表現だそうです。

https://kobase16.hatenablog.com/entry/2020/01/12/145239


## その他
### 話題のローコードツール "Dify"
GW後半は**Dify**で話題が持ちきりでしたね。
Difyではワークフローを使って、ローコードで簡単なお生成AIアプリを作って公開できてしまうというのが衝撃でした。

最近のPostman v11で正式リリースされたフローなどのように、こうしたローコード/ノーコードでのアプリ開発がいよいよ本格化しそうと思いました（Kintoneとかでももうありそう）。
ちなみにAWSマーケットプレイスでもあるそうです。これは使わなくては・・・

https://qiita.com/minorun365/items/4c5dba1de7977c386249


フローの中でインターネット検索するなら、こちらの記事にToolがまとまっていました。

https://qiita.com/moritalous/items/99a7cdf1620e79d77290


### 最速で成果を出す方法
経験→ふり返りの重要さが分かる記事です。
今年はアウトプットの量を増やすことを目指していますが、振り返りも大事にしたいと気付かされました。

https://note.com/_go_kiritani/n/n294872c268c9


### GPTsでNotion APIを叩く
最近タスク管理などをNotionに移行したので、気になった記事です。
Notion自体にもAI機能が組み込まれていますが、GPTを経由するだけで抽出/要約を実施してくれるのは可能性を感じます。

https://zenn.dev/yutakobayashi/articles/gpts-notion-api


# まとめ
ということで、引用と小並感だけの記事でした。
と言いつつも、まとめ直すことで読み直し→理解が深まったというサイクルができたのでよかったです！