2023/11 1週目
Rust
- https://crates.io/crates/cargo-edit
- Rustのクレートを更新するやつ
cargo update
するとCargo.toml
で指定した範囲のバージョンしか更新してくれないので、Cargo.toml
が更新されない
- https://oxc-project.github.io/javascript-parser-in-rust/
- RustでJavaScriptパーサーを書くガイド
- Rustでsqlxを使ってRDBMSに接続する
- https://github.com/rust-lang/rfcs/pull/3501
- 2024エディションが出るらしい
Go
- What's new in Go 1.21?
- Go1.21の機能について紹介されている
JavaScript
- https://github.com/tc39/test262
- ECMAScriptの公式テストスイート
React
- https://www.npmjs.com/package/use-local-storage-state
- local storage のカスタムフック
- GraphQLをServer Componentsで使いたい
Wasm
- A new way to bring garbage collected programming languages efficiently to WebAssembly
- WasmGCの実装の詳細について書かれているっぽい
- https://www.fermyon.com/blog/introducing-spin-v2
- spin v2が出た
- wasm component model と wasi preview 2 に対応
Vim
- https://github.com/norcalli/nvim-terminal.lua
- ファイルタイプが
terminal
のバッファのハイライトをいい感じにしてくれるやつ
- ファイルタイプが
コンテナ
AI
- https://github.com/owasp-ja/Top10-for-LLM/blob/main/1.0-ja/LLM00_2023_Introduction.md
- OWASPのLLMを使ったアプリケーション脆弱性ガイド
- https://github.com/coderabbitai/ai-pr-reviewer
- PRのレビューとサマリーをまとめてくれるActions
- OpenAIのトークンがあれば動くみたい
- https://x.com/javilopen/status/1719363262179938401?s=20
- アングリーバードをAIだけで作った話、リプに具体的なプロンプトが載っているみたい
- https://chat.openai.com/share/9278e867-ff81-4085-8dbb-cfee80ab9a58
- AIとペアプロする良い例
- https://x.com/ai_database/status/1719554041074819307?s=20
ChatGPT(GPT-4)の効果的なプロンプト手法における ”基本のキ"
以下は、現時点での主要なプロンプトエンジニアリングを整理したものです。 原則、ベーシックな手法、高度な手法を説明しています。@ Banghao Chen et al., "Unleashing the potential of prompt engineering in Large Language Models: a comprehensive review" プロンプト技術はLLMのパフォーマンスを最適化するために重要ですが、まだその方法論は体系的には理解されていません。 そこで研究者らは、論文レベルで報告されている原則とベーシックな手法から高度な手法までを改めて調査しました。 下記はその報告内容の抜粋です。 ■原則 ① モデルには詳細な説明を与える ② 明確かつ正確な指示を与える ③ 出力は毎回異なるため何度か繰り返す ■ベーシックな手法 ① ロールプロンプト(Role-prompting) ・モデルに特定の役割を与える ・役割に応じた回答の品質が向上する ② トリプルクオート('''または""")の活用 ・プロンプトを要素ごとに分離する ・複雑なプロンプト指示に有用 ③ ワンショット/フューショットプロンプト (One-shot / few-shot prompting) ・指示の前に1つまたは複数の例を与える ・タスクやモデルによって例の数を変える ・学習済みのタスクを思い出させることに有効 ■高度な手法 推論の精度を最大限向上させる際に使用します。 ① チェーン・オブ・ソート (Chain of Thought : CoT) ・推論に中間ステップを与えて段階的に行わせる ・「ステップバイステップで考えよう」等で実行 ・段階的な推論を正しく例示すると精度が向上する (Golden Chain of Thought) ② 自己整合(Self-consistency) ・CoTに対して複数の推論パスを与える ・すべての推論パスに対して一貫性を確認する ・最も効果的と考えられる解決策を選ぶ ③ 生成知識(Generated knowledge) ・常識の推論タスクで特に効果的 ・モデルに、関連データや主な要素の分析を指示 ・生成された情報を用いて、最終的な質問を行う ④ 最小最大プロンプト(Least-to-most prompting) ・複雑な問題を基本的なサブ問題に分解 ・順番に解決していく ・前サブ問題の解決策を次サブ問題に活用 ⑤ 思考の木(Tree of Thoughts : ToT) ・初めに問題を解決するためのステップを説明させる ・各ステップにさらに深く掘り下げる ・意図的な問題解決を可能にする ⑥ 思考のグラフ(Graph of Thoughts : GoT) ・基本的な問題を定義する ・解決のために必要な要素を列挙させる ・要素ごとの依存関係を説明させる ・具体的なアクションプランを生成させる ・体系的な情報から総合的な解決策を生成させる ■注意点 上記を超えたさらに発展的な内容も存在します。
Frontend
- 2023年にVisual Regression Testingを始めるならどんな選択肢があるか
- https://github.com/reg-viz/reg-actions
- visual regression test の Actions
- ブラウザでリロードしながらキャッシュの挙動を確認してる全ての開発者へ
その他
Books
- ChatGPT/LangChainによるチャットシステム構築[実践]入門
- https://gihyo.jp/magazine/SD/archive/2023/202312
- 実践LLMアプリケーション開発
- Cloudflare Workersへの招待