Engineer's Digest

忙しいエンジニアのための技術情報ダイジェスト。前日の話題をサクッと把握!

2024/11/18 #12 - 今日の技術情報ダイジェスト

AIトレーニングデータ利用に関するSNS各社の姿勢

イーロン・マスク氏が買収したX(旧Twitter)がユーザーの投稿をAIトレーニングに利用することを表明したのに対し、競合SNSのBlueskyは投稿データのAIトレーニングへの利用をしないことを明確に発表しました。Blueskyは、モデレーションやフィードアルゴリズムにAI技術を活用していますが、生成AIモデルの学習データとしては使用していません。これはXの利用規約と対照的であり、ユーザーのプライバシーやデータ利活用に関する懸念の高まりの中で注目を集めています。Blueskyはユーザー獲得で順調な伸びを見せていますが、月間アクティブユーザー数はXやThreadsと比較してまだ少ない状況です。

gigazine.net

日本のソフトウェア品質問題

日本のソフトウェア品質の低迷は、明治時代からの財閥の影響、1980年代の経済成長に伴うリスク回避と利益優先の市場構造、海外製品との競争不足による開発停滞、ソフトウェアエンジニアの軽視と評価基準の欠如、そしてイノベーションを阻害する「出る杭は打たれる」文化などが複雑に絡み合った結果であると分析しています。

gigazine.net

LLM競馬予想

個人開発者向けの生成AI展示会で、玉置絢氏が開発した「競馬予測AIエージェント」が、8つのAI人格による合議制で馬券を購入するシステム「LLM競馬予想」を展示し、最終レースで10万馬券を的中させ黒字化に成功しました。テスト版では的中しなかったものの、本番でAIが競馬情報を議論し、最終的な予測を決定することで高い精度を実現しました。

togetter.com

Windows 11 パフォーマンス向上

Windows 11 24H2において、特定のIntel CPU(特にRaptor Lake系)でドラッグ&ドロップ機能をレジストリ編集により無効化すると、3DMark TimeSpyなどのベンチマークテストにおいて最大30%近い性能向上を確認できる事例が報告されています。ただし、ドラッグ&ドロップ機能やタスクバーへのピン留め機能が使用できなくなるため、機能性の制限を伴います。性能低下に悩まされているIntel CPUユーザーは、レジストリ編集による無効化を試みることで改善効果が得られる可能性があります。

gazlog.jp

LLMの概念空間の構造解明に関する研究

MITの研究チームが、大規模言語モデル(LLM)の概念空間の構造が、脳の機能別領域のように構成されているという仮説を発表しました。 Meta社が政府機関向けにAI「Llama」を提供開始し、中国でもAI軍事利用への活用が検討されている一方、ゲームシステム「UNBOUNDED」ではLLMを用いた無限の物語生成、AIによる1秒での画像生成と独自のストーリー展開、従来困難だったバグ検出といった事例も紹介されています。

ledge.ai

Github認定資格取得方法

GitHubの認定資格「GitHub Foundations Certification」が、GitHub Student Developer Packを利用することで無料で受験できるようになりました。以前は厳格な試験でしたが、現在は手軽に受験可能で、受験手順はGitHub exam registrationからPSIで予約するだけです。試験中にエラーが発生する可能性があるため、その場合は時間を置いて結果を確認する必要があります。社会人の場合も、放送大学を活用することで学生割引を利用し、無料で受験できる可能性があります。

qiita.com

AIによるPC操作

Anthropicが開発したAI、Claudeに搭載された新しい機能「Computer use」は、テキストによる指示でパソコンを操作できる機能で、デモ環境ではImpress Watchの閲覧、PDFへの出力、ペイントソフトを使った絵画作成などが確認されています。マウス操作やキーボード入力の自動化が可能で、将来的には音声入力にも対応する予定ですが、現時点ではβ版のため動作が不安定で、トークン消費量が多いなど、実用化に向けては課題が残っています。トークン制限の緩和や、より効率的な操作方法の開発が期待されます。

www.watch.impress.co.jp

GraphQLクエリの最適化

GraphQLで発生する可能性のある過剰なデータ取得(over fetching)を抑制する手法として、fragment collocationに加え、TypeScript Language Service Pluginを用いた未使用フィールドの機械的検出を紹介しています。具体的には、GraphQLSPなどのプラグインを利用することで、警告や補完機能を通して未使用フィールドを検出し、GraphQLクエリの最適化とパフォーマンス向上を実現できることを解説しています。

zenn.dev

Ryzen 7 9800X3Dベンチマーク

Ryzen 7 9800X3Dのベンチマーク結果を、Ryzen 7 9700Xや7800X3Dなど他7製品との比較を通して詳細に解説した記事です。第2世代3D V-Cache搭載によるゲーム性能の向上、シングルスレッド性能とアイドル消費電力の優位性、マルチスレッド性能では同価格帯製品に劣る点などが検証されています。

chimolog.co

Pythonデバッグ効率化

Pythonのデバッグを効率化するIceCreamライブラリの使い方を解説した記事で、従来のprint()デバッグからIceCream()への置き換えによるメリット、関数名・引数・戻り値の自動表示、リストや辞書などのデータ構造の可視化、出力フォーマットや出力先のカスタマイズといった機能が紹介されています。

qiita.com

IT史に残るシステム障害

世界中の企業が過去数年間で経験した大規模な分散型サービス妨害(VDoS)攻撃の事例8つを紹介し、2016年のDyn攻撃、2017年のAmazon Web Services攻撃、2021年のFastly攻撃など、具体的な攻撃とその影響、企業が講じている対策(クラウドサービスの利用、堅牢なセキュリティ対策、ボットネット検出・遮断ツール実装など)を解説しています。

techtarget.itmedia.co.jp

SmartHRの権限基盤

SmartHRの権限基盤チームが、多様なプロダクトの権限を統合する上での課題を、おにぎりの具の多様性になぞらえて解説しています。プロダクトの成長に伴い複雑化する権限要求への対応、課題解読の難しさ、影響範囲の広さ、機能ごとの要求の多様性といった、権限基盤構築・運用における様々な困難について詳細に記述されています。

tech.smarthr.jp

DuckDB導入事例

この記事では、ログ解析や統計可視化においてDuckDBを採用した理由について解説しています。具体的には、go-duckdbを用いたHTTPリクエストごとのDuckDB利用による効率化、DuckDB-Wasmによるクライアント側での統計情報保持、DuckDB-WasmとObject Storageの連携によるコスト削減、そしてそれらによる運用コスト削減とサービス性能向上について説明しています。

zenn.dev

Geminiプロンプトエンジニアリング

GoogleのAI「Gemini」を効果的に活用するためのプロンプト作成テクニックを紹介しており、役割、タスク、コンテキスト、フォーマットの4点を意識することで、より精度が高く、望ましい回答を得られるようになる方法を解説しています。具体的には、Geminiに適切な役割を与えて口調や視点を制御したり、詳細な文脈や状況を提供することで回答精度を向上させたり、タスクを段階的に指示したり、回答の長さや形式を調整する方法などが説明されています。

note.com

開発生産性向上とビジネス成長

この記事では、売上を5ヶ月で30倍に増加させたWebスタートアップにおける、開発生産性向上とビジネス成長の両立事例を紹介しています。 ストリームアラインドチームによる開発体制、アイディア創出とデプロイ頻度増加の重要性、継続的改善による長期的な成功、疎結合アーキテクチャやコードメンテナビリティといった技術的側面、そしてチームの目的と仕事の設計による能力向上といった点が詳細に解説されています。

speakerdeck.com

AIの安全性に関する調査

AI開発企業Anthropicは、自社開発の大規模言語モデル「Claude」が兵器製造に利用されないよう、専門家と協力して安全性を調査しています。具体的には、エネルギー省の原子力専門家と協力し、核関連情報の共有に関するリスク調査を行い、兵器製造支援を防止するための対策を講じています。この取り組みは、国防総省がAIの軍事利用を検討しているという背景もあり、AI開発前に国家安全保障上のリスクをテストする契約に基づいて行われています。

gigazine.net

LangChainとLangGraphによるRAG・AIエージェント入門書評

Algomatic Tech Blogの記事「書評『LangChainとLangGraphによるRAG・AIエージェント入門』」では、近年注目されているRAG(Retrieval Augmented Generation)とAIエージェントの開発方法について、OpenAI APIやLangChainを用いた実践的な解説と、最新の動向や関連論文に基づいた背景知識、AIエージェントのデザインパターンなどを網羅的に紹介しています。LLMを活用した業務開発に興味のあるエンジニアにとって有益な情報が満載です。

tech.algomatic.jp

TypeScript + JSXによるテンプレート言語開発

TSKaigi Kansai で発表された「よくできたテンプレート言語として TypeScript + JSX を利用する試み」では、JSX をテンプレート言語として用いることで静的型付けによるメリットや、開発効率の向上、HTML以外の構造化データへの適用可能性などを解説しています。JSXランタイムのカスタマイズによる独自のテンプレート作成や、他の言語からのJSX呼び出しによるテンプレート生成、JS APIの活用方法についても触れられています。

speakerdeck.com

Web技術入門

「[改訂新版]プロになるためのWeb技術入門」では、Web技術の学習における困難さを指摘し、歴史的背景、関連技術、全体像の理解を重視した学習方法を提案しています。クライアントサイドとサーバサイド、そしてそれらを繋ぐネットワークというWebシステムの基本構成要素を解説し、HTTPプロトコルやSPA(シングルページアプリケーション)といった具体的な技術についても説明しています。

gihyo.jp

フロントエンドアプリ開発における改善策

フロントエンドアプリケーションの長期的な安定性向上のための改善策、S3ストレージのキー設計における注意点と具体的な失敗事例、App Router導入による実運用での知見、オープンソースプロジェクトへの貢献と協調の重要性、そしてジェネレーティブAIの活用事例と実践的な使用方法について解説しています。

speakerdeck.com