ハイライト 2023-04-19
Articles
LangChain x Supabase
- LangChainとSupabaseは、GPT-3のようなモデルとPrivateなデータをつなげたり、ドキュメントのembeddingをvector storeに格納したりと、複数の方法で一緒に使うことができる
- LangChainとSupabaseを併用することで、フルスタックのAIアプリケーションが作れる
- LangChain and Supabase Starter Templateは、React + Next.js + Tailwindのフロントエンドと、セットアップとデプロイの手順、LangChainを使ってGPT-3.5のAPIを呼び出すSupabase Edge Functionを提供。
- LangChainは最近Deno上での実行をサポートするようになり、Supabase Edge Functionsと一緒に使うことができる
他人の10倍仕事ができる人に10倍の給与を支払うべきなのか問題
- プログラマーの能力に基づく給与の議論についての記事
- 優秀なプログラマーは他の人より10倍も仕事ができるが、その分だけ給料をもらうべきかについての問題
- 最終的に、給与を決定する際には、相互に合意できる評価基準を見つけることが必要
後で楽できるTerraformの書き方(※ただし書くときは辛い)
- Terraformのコードを簡素化し、読みやすくするためのコーディングガイドラインを紹介しています。
An example of LLM prompting for programming
- Generated Knowledgeと呼ばれるプロンプト技法を使ってインタラクションを別のステップに分割
- Generated Knowledgeは、2つのスタイルのプロンプトを組み合わせる
- Instruction prompting
- Chain of Thought prompting
- LLMとパートナーのように、設計のガイドラインから始めて、その根拠を示してもらい、アウトプットに手を加えながら活用するのが有用
Private SaaS Is Coming: Are You Ready?
- Public Cloudは、過去20年以上にわたってソフトウェア展開を変革してきましたが、完全に制御できるPrivateな環境を必要とするニーズは依然として一定存在する
- セキュリティ、管理、監査、コンプライアンスなど、さまざまな業界の企業がプライベートSaaSでのサービスを求めるようになっている
- プライベートSaaSは、SaaSの利点を享受しながらも、複雑なセキュリティ要件を満たし、それを超えることができるようにする
Videos
Connect OpenAI To +5,000 Tools (LangChain + Zapier)
- LangChainとZapierを使ってOpenAIを+5,000のツールに接続
- Zapierの自然言語APIを使ってOpenAIと対話す
- ツイートの作成、メールの下書き、Slack、Giphy、Gmailなどへのメッセージの送信。
- メールの要約、ツイートの作成、Gmailでの下書きの実行例
Structured Output From OpenAI (Clean Dirty Data)
- OpenAIモデルは、非構造化の入力を受け取り、構造化された出力を生成するために使用できる
Tweets
I read all 154 pages of Microsoft Research's "Sparks of AGI".
— Alex Banks (@thealexbanks) 2023年4月16日
Most people don't realise the shocking reality AI is going to bring.
Here's what I found:
ハイライト 2023-04-12
Books
The Staff Engineer's Path: Chapter 1. What Would You Say You Do Here?
- スタッフエンジニアの役割は曖昧で、自分で役割を見つけ、決める必要がある
- 役割の範囲を明確にし、価値あるものと実用的なものを理解する
- すでにシニアが多いプロジェクトを選ぶときには注意する
- シニアじゃないエンジニアの機会を奪ってしまっていないか
- 会社にとって重要なことに時間を費やすことを意識的に行う
- 自分の時間は自分で守る
- 品質、効率、秩序を維持し、ソフトウェアが機能するようにシニアが必要
- シニアエンジニアは、マネージャーまたはスタッフエンジニアに昇格するスキルを身につける選択ができる
Videos
The LangChain Cookbook - Beginner Guide To 7 Essential Concepts
- LangChain Cookbookは以下7つの言語モデル開発のための基本概念を紹介する初心者向けガイド
Tweets
These graphics summarize some of life's hardest lessons.
— Nicolas Cole 🚢🏴☠️ (@Nicolascole77) 2023年4月10日
1/ Distractions fill the space we give them. pic.twitter.com/MIZvysCkSo
- Distractions fill the space we give them.
- Empathy lifts you and the other person up; judgment pulls you and the other person down.
- Repetition is the father of learning.
- Proficiency is just pattern recognition.
- The goal is to grow forever, not to grow fast.
- Action is the only thing between you and your future self.
- Set your own priority list to avoid being dictated by others.
- Create and play your own game rather than competing in someone else's.
- Focus on doing something you are intrinsically interested in, rather than something that is popular but you hate.
- Fundamentals are the doorway to mastery.
If you’re an “AI builder” and not personally spending at least $100 a month exploring latent space, you may not be trying hard enough.
— swyx 🌉 (@swyx) 2023年4月11日
(this is a note to self, and a wake up call. I spent $2 on @OpenAI last month and I genuinely think that is a problem)
自分もAI関連のものに投資していかないとなー
I asked ChatGPT to buy my groceries today using @Instacart’s plug-in and it worked so well!
— Ammaar Reshi (@ammaar) 2023年4月11日
- Stayed within my budget
- Provided ingredients and recipes for 7 meals (including some favorites!)
- Accounted for my schedule and diet
Here’s the convo and delivered groceries 🤩 pic.twitter.com/omRylk13LS
料理考えてもらうのとか、買い物するものの提案とか、実用性めちゃ高そう
ハイライト 2023-04-05
Articles
Staff archetypes
- スタッフエンジニアには4つのタイプがある
- Tech Lead
- チームをリードする責任がある
- Architect
- 企業内の特定の技術領域の成功に責任を持つ
- Solver
- 組織の信頼されていて複雑な問題に深く関わる
- Right Hand
- 直接の管理責任を持たない上級組織リーダーに似ていて、リーダーのスタッフミーティングに出席してリーダーたちの影響力を拡大させる
- Tech Lead
先日 Wantedly さんのエンジニアリングマネージャー座談会に出…
- 開発生産性に関しては、ディスカバリーとデリバリーの2軸で考える
- デリバリーの強さがディスカバリーの強さを引っ張り上げる
- 開発チームを改善するためには、高速にアウトプットしリリースを繰り返せるチームを目指す
- そのためには、各軸(デリバリー、ディスカバリー)それぞれ80点を取ることを目指す
- チームを改善するためには、イテレーションを回してコミュニケーションのトラブルを解決し、改善された実感を得るのが重要
- 良い企画が当たったときには爆速でリリースする
You Are Not Too Old (To Pivot Into AI)
- 挑戦する姿勢を忘れずに改善あるのみ!
Learn In Public
- 学びは公にする習慣をつける
- 正しいことをすることを心がけるが、間違った時には悩まずに自分が初心者であることを表明する
- 教えることが学ぶための最良の方法であり、コードを書きながら話をすることも重要
Pick Up What They Put Down
- 「pick up what they put down」という方法で、自分が尊敬する人が公開した新しいライブラリ、デモ、動画、ポッドキャスト、書籍、ブログ記事、またはコースを見つける。
- 見つけたものに基づいてコンテンツを作成し、それに本当に興味を持ち、熱中して取り組むことが重要。
- ソーシャルメディアで自分が作成したコンテンツのクリエイターにタグ付けし、フィードバックやエンドースメントを受け取る準備をする。
- 習慣を形成するために、トリガー、アクション、可変報酬、投資のフックドモデルに従う。
- 興味を持つものを3つ選び、そのうちの1つについてフィードバックを受ける。これを12回繰り返すことで、多くのことを学び、多くの新しい友達を作ることができる。
Growth of AI Through a Cloud Lens
- 最近のAIの動きが、クラウドが出てきた頃と似ている
- クラウドの主な利点は、既存のソフトウェアを移行できる能力であり、AIにも同じ利点がある
- AIのバズり方はクラウドよりも広い社会的影響力があり、成熟期間がクラウドのときよりも短くなることが予想される
GPT-4時代のエンジニアの生存戦略
- これにつきます→『エンジニアとして、「顧客/ユーザーがほしいと言っているもの」を定義済みの要件からコードを書いて作るのではなく「ビジネスサイドがそれにより実現したいこと」を探り当て、コーディングを手段として扱うことができれば、科学的、批判的思考スキルを必要とする職業となり、GPTは仕事を奪う敵では無く有能な味方として扱えるようになります。』
Tweets
ChatGPT is free education.
— Alex Brogan (@_alexbrogan) 2023年3月30日
But 99% don’t know the best prompts on its virtual campus.
Here are the top prompts to accelerate your learning:
テンプレにして何かを学ぶときに使える
Not having a ChatGPT plugin will be like not having a mobile app or website.
— Mckay Wrigley (@mckaywrigley) 2023年3月26日
Every business will need one.
There is a *massive* opportunity to help onboard businesses to AI.
Take advantage.
ChatGPT Pluginが気になる
ハイライト 2023-03-29
Books
Software Architecture: The Hard Parts - 10. Distributed Data Access
- Column Schema Replication Pattern
- 列がテーブル間で複製され、データが他のBounded Contextで利用可能になる
- データ同期とデータの整合性が問題になる
- データのOwnershipも難しい
- Replicated Cache Pattern
- 複製されたインメモリキャッシュを利用し、他のサービスで必要なデータを各サービスで利用可能にする
- データは各サービス内のメモリに保持され、常に同期されるため、すべてのサービスで正確なデータを持つ
- データ同期と整合性が最大の問題
- 障害耐性、パフォーマンス、外部キャッシュ依存のないところが利点
- Data Domain Pattern
- 別サービスのデータを同じSchemaで管理しちゃう
- 構造が変更された場合、データドメインのテーブルのいずれかの構造が変更された場合、複数のサービスが変更する必要がある
Tweets
Not having a ChatGPT plugin will be like not having a mobile app or website.
— Mckay Wrigley (@mckaywrigley) 2023年3月26日
Every business will need one.
There is a *massive* opportunity to help onboard businesses to AI.
Take advantage.
ChatGPT Plugin試してみたいなー
ハイライト 2023-03-22
Articles
ChatGPT: 5 Prompt Engineering Secrets For Beginners
- 文脈的関連性を加えることが重要で、より多くの文脈的関連性を加えることで、一貫性のある正確な回答を生成できる
- タスク定義を明確にし、曖昧さを避け、整合性を保つことが重要
- デザイン、テスト、評価のサイクルを通じてプロンプトを改良し、反復的なアプローチを取り、生成コンテンツの改善と最適化を進めることが重要
Cascading vs. aligning OKRs
- カスケード型のOKRは、戦略が完璧であることを前提としていて、アジャイルとの相性が微妙
- カスケード型のOKRは、コストかかり、スピード感を出しにくい
このあたりは確かにそうだなと。経験的にも。
Tweets
The "Will GPT automate all the jobs?" paper is out
— JB Rubinovitz (@rubinovitz) 2023年3月20日
With participation from @OpenAI, OpenResearch and @penn
🧵 1/9 pic.twitter.com/2XeBENKEQS
ChatGPTを体験してみて、「働き方は確実に変わるな」と確信したので、今後の自分の方向性やキャリアについてはもう少し解像度をあげないとまずいなと思った。
ハイライト 2023-03-15
Articles
Measure What Matters Summary
改めてMeasure What Mattersを読むにあたって要約記事を見てみた。
Additionally, team members should create half of their own OKRs to promote engagement. Tracking progress is also important, and feedback and recognition are needed to help everyone reach their goals
自分ごとにどうするかという点と、どのようなインパクトが組織にあるのかがうまい具合に噛み合わさると良いんだろうけど、それがふわっとしたまま進むと悶々とした存在になってしまう傾向がある気がする。
How to Implement Cursor Pagination Like a Pro
In conclusion, please, please for the love of God, do not concatenate your cursors, especially if you are dealing with large sets of data.
複雑なフィルタリングとソートが必要なエンドポイントの場合どうするんだ?って思ったけど、そもそもカーソルページネーションをやめるという選択肢もあるんだということは納得できた。カーソルで行きたいがためにconcatしちゃうのは、やっちゃいそうな予感。。。
Tweets
A Philosophy of Software Designの言ってる「複雑さ」は全て、Out of the Tar PitでいうところのAccidental Complexityだな。なので、あとは減らすことのできないEssential Complexityにどう立ち向かうか、を解明していきたいですね。WEB+DB PRESS 130に書いたのは、その入り口のところになるのかな…
— kawasima (@kawasima) 2023年3月8日
A Philosophy of Software Designまだちゃんと読めてないので読みたい。
Want a scalable architecture?
— 𝙆𝙃𝘼𝙇𝙄𝙇 𝙎𝙏𝙀𝙈𝙈𝙇𝙀𝙍 (@khalilstemmler) 2023年3月9日
There are 14+ Laws of Scalable Architecture that repeat throughout history over and over, and likely will continue to in the future.
I'll teach you a 🔑 one right now.
"Use the Stereotypical Levels of Design"
responsibility-first なアプローチ。すべては:
- a role
- with responsibilities
- that collaborate
Applications are just neighborhoods of abstractions playing roles, filling in responsibilities and collaborating with each other
ハイライト 2023-03-08
Articles
Title: Testing-Library でユーザの気持ちになって書くフロントエンドのテスト
data-testid
で一昔前までフロントエンド側はテストやりまくっていたので、accessibilityも考えて、あるべき姿にDOMを構成していくことが大事だと改めて認識。
Semanticがキーですね。
Ditching useState and useReducer: Why useImmer is the better option
useImmer
を使って useState
と useReducer
から開放されてみようっていう話。使ってみたいけど、依存を増やすこととのトレードオフですね。
Product Pulse #4: New directory and authorizer, evaluator, and more!
AsertoのTopazによるOPA+Zanzibarな権限ソリューションは気になっているのですよね。
Engineering growth: framework overview
Mediumが提唱しているエンジニアのキャリアパス。役職はなんだかんだで意味がある、ということ。
CSS Style Queries
Container size queriesはパラダイムシフトだなぁ。Media Queryよりだいぶいい感じに使えるような気がする。
Books
The Staff Engineer's Path - 2. Three Maps
組織内で何が重要なのかを理解することの重要性について、3つのMapを描くと良さそう。
- A Locator Map: You are Here
- 自分の位置づけを把握する
- A Topographical Map: Learning the Terrain
- 組織内の地形を把握する(政治的な部分やトラブルが多そうな箇所など)
- A Treasure Map: X Marks the Spot
- 宝地図のXにめがけて近づいているのかどうかを把握
Videos
Team Topologies, Cognitive Load & Complex Systems | Matthew Skelton In The Engineering Room Ep. 12
全部をコントロール下に置くことを目指すのではなく、コアな部分で意思決定をすることにフォーカスすべきと。また、意思決定するにあたっての指針を提示しておくと良さそう。ある程度の制約も設けることで、より意思決定はしやすくなる可能性もある。
Tweets
#アーキ部 今日の資料、録画アーカイブの公開はありませんが、ここに今日の話のポイントは書いたつもりです。
— kawasima (@kawasima) 2023年3月6日
今日話した内容も今後加筆しますので、案内メールに後から気付いてしまった…な方はそちらを見てください。https://t.co/MxdV8ULqKN
素晴らしいイベントでした。そして以下の内容も要ブックマーク。
unsatisfied と dissatisfied。どちらも satisfied《満足する》の前に否定がついていますが、違いは? 一つ言えるのは unsatisfied は抽象的な概念にも使えるということ。例えば Customers are unsatisfied. (顧客は不満) とも Demand is unsatisfied. (需要が満たされていない) とも表現可能。1/3
— Mystery Parrot (ミスパロ)🦜 (@ParrotMystery) 2023年3月6日
unsatisfied
は抽象的な概念にも使える。 dissatisfied
を同じように使うと不自然になる。