株式会社メンバーズ AIフォーオールカンパニーのフィード
https://zenn.dev/p/aiforall
すべての人に、AIと共に進未来を。「一人ひとりが自分らしく働きながら活躍できる社会を創る」をミッションとして、企業のAI活用をトータルに支援するサービスを展開しています。
フィード

Superpowersを試してみた:AI開発フレームワークを活用した設計から実装まで
株式会社メンバーズ AIフォーオールカンパニーのフィード
AIにアプリを作ってもらうとき、いきなりコード生成を依頼すると意図しないコードが生成されがちです。そうなることを防ぐために、作りたいアプリの要件を整理したり、設計をしてからコード生成をしてもらうことで、意図したコードを生成してくれるようになります。今回は、要件の整理から設計、実装、検証までをユーザーに質問しながら進めてくれる「Superpowers」をGitHub Copilot CLIで試してみました。 SuperpowersとはSuperpowers はAIコーディングエージェントに「規律ある開発プロセス」の振る舞いをさせるためのオープンソースのスキルフレームワークです。Cl...
6日前

文字数・バイト数からのトークン数推定は実際どれくらいズレるのか
株式会社メンバーズ AIフォーオールカンパニーのフィード
背景実務で、LLM への入力テキストがトークン数の上限を超えてエラーになる事象が発生し、対策を検討する場面がありました。対策案として、LLM に投げる前に文字数やバイト数、あるいは tiktoken のようなトークナイザーでトークン数を事前に見積もり、上限を超えそうであれば送信前にエラーを表示する「事前バリデーション」方式が候補に挙がりました。しかし議論の中で、「その見積もりが、実際に LLM に送ったときのトークン数とどこまで一致するかは怪しい」というエンジニアの感覚的な指摘がありました。最終的にはこの場では事前バリデーションを入れず、まず実際に LLM へリクエストを送り、上...
10日前

AIは錯覚をどう捉えるか
株式会社メンバーズ AIフォーオールカンパニーのフィード
はじめに人間は錯覚を起こす生き物です。脳が「見たままの情報」ではなく「補正した情報」を私たちに見せているからだと言われています。では、画像を扱えるようになったマルチモーダルAIは、こうした錯覚をどう捉えるのでしょうか。人間と同じように騙されるのか、それとも「そういう錯視ですね」とあっさり見抜いてしまうのか。気になったので、有名な錯覚画像をいくつか投げて反応を見てみました。 検証方法今回はWeb上の「Gemini 3.6 Flash」と「Gemini 3.1 Pro」の2つのモデルに画像を添付し、回答してもらいました。手順はシンプルで、以下のルールで進めています。1つの...
11日前

Amazon Bedrock AgentCoreにおけるマルチエージェント実装
株式会社メンバーズ AIフォーオールカンパニーのフィード
本記事では、AWSのBedrock AgentCoreを用いてマルチエージェントシステムの作り方を解説します。また、2つのAIエージェントが相互にコミュニケーションを取るための技術A2Aを導入し、Strands Agents で作成したエージェント同士を繋げるときの注意点も合わせて紹介します。 Amazon Bedrock AgentCore とはAmazon Bedrock AgentCore(以下 AgentCore)とは、AWS上でAIエージェントをサーバレスで配置するリソースのことです。AgentCore はAWSが開発したStrands Agents フレームワーク以...
17日前

表記ゆれで埋め込みベクトルの類似度はどれだけ変動するのか 【Amazon Titan Embeddings V2】
株式会社メンバーズ AIフォーオールカンパニーのフィード
はじめにRAG や類似検索を実装していると、「同じことを指しているはずなのに、表記が違うだけで検索に引っかからない」という現象によく遭遇します。server と サーバ、design と デザイン、user と ユーザー のように、人間から見れば同じ意味の語でも、埋め込みモデルはどこまでそれらを「近い」と判断してくれるのでしょうか。そこで本記事では、AWS Bedrock の amazon.titan-embed-text-v2:0 を使い、表記ゆれでベクトルに差が出るかを検証してみました。 前提条件 検証環境項目詳細内容埋め込みモデルIDamazo...
19日前

Hermes Agentを用いて、自己成長するコードレビューエージェントを作成してみた
株式会社メンバーズ AIフォーオールカンパニーのフィード
はじめにエージェントに「SKILL」を定義してタスクを任せる際、新たなルールや観点が発生するたびに人間が手動で SKILL.md を書き換えるのは大きな手間です。 そこで今回は、Nous Researchの Hermes Agent を活用し、LLM-as-a-Judgeによるレビューをもとに、エージェント自身が自律的に SKILL.md をアップデートして成長するコードレビューエージェントを作成してみました。 Hermes AgentとはHermes Agent は、Nous Researchが開発するLLMエージェントフレームワークです。最大の特徴は、経験から自律的にスキ...
20日前

CursorのSkillsを試してみた!
株式会社メンバーズ AIフォーオールカンパニーのフィード
CursorのSkillsを試してみた! はじめにCursorには有用な機能が多くあり、AI駆動開発を日常的に実践するエンジニアにとって、日々の業務効率化のための有力な選択肢となります。 本記事では、個人的に使用してみたかったCursorのSkillsを用いて、コードレビューのスキルを作ってみました。 そもそも、SkillsとはSkillsは一言で表すと、「AIエージェントに特定のタスクやワークフローを教えるための仕組み」です。 以下、使用例の一覧です。新機能の提案コードレビューによる品質チェック修正の変更範囲の影響、適切性をチェック Skillsのメリット...
21日前

メモリ16GBのMacBookでGemma 4 12Bを動かすためのllama-serverセットアップガイド
株式会社メンバーズ AIフォーオールカンパニーのフィード
はじめにllama.cppはOllamaのエンジンとして用いられており、Ollamaと比べて知名度は低いですが設定できるオプションが多く、CPUマシンやVRAMが小さいマシンで実行する際にOllamaよりも様々なモデルを動かすための最適化ができます。そこで、macOSでのllama.cppセットアップ方法、ユニファイドメモリ16GBのMacBookで安定してGemma 4 12Bを動かすためのllama-server起動方法を解説します。 llama.cppのインストール HomebrewからHomebrewで手軽にインストールできます。ターミナルを開き、以下のコマン...
24日前

firecrawl/anydoc でドキュメントを Markdown に変換する検証
株式会社メンバーズ AIフォーオールカンパニーのフィード
概要この検証では、firecrawl/anydoc を利用し、複数形式のドキュメントファイルを Markdown に変換します。 変換元の資料今回の検証では、Word、PDF、Excel、PowerPoint の4種類のファイルを入力資料として用意しました。ファイル形式内容dummy_docs.docxWordかぐや姫(竹取物語)の作品概要dummy_pdf.pdfPDFかぐや姫(竹取物語)の作品概要dummy_sheet.xlsxExcelエンジニアのスキル習得目標や行動計画dummy_slide.pptxPowerPo...
1ヶ月前

SkillをGitHub Copilotで"育てる" — 実証的プロンプト改善の実践レポート
株式会社メンバーズ AIフォーオールカンパニーのフィード
はじめにプロンプトの細かな差異(空白の有無、指示の構造など)は、LLM の回答の質を大きく左右します。「なんとなく書いたら動いた/動かなかった」を卒業するには、勘ではなくテスト駆動で Skill を育てていく発想が有効です。この記事では、mizchi 氏が提唱する「empirical-prompt-tuning」の手法を GitHub Copilot 環境で試し、意図的に品質を落とした regex-builder(正規表現生成) Skill を反復的に改善していった記録を紹介します。 検証環境項目詳細内容実行環境GitHub Copilot Chat...
2ヶ月前

入出力フォーマットで LLM トークンはどれだけ変わるのか
株式会社メンバーズ AIフォーオールカンパニーのフィード
はじめにLLM をアプリケーションに組み込むとき、入力や出力を JSON で扱う場面はよくあります。ただ、テキストで渡す・受け取る場合と比べて、トークン数やコストがどれくらい変わるのかが気になり調査してみました。そこで本記事では、入力と出力それぞれを text / JSON で組み合わせた 4 パターンを Bedrock Converse API + Claude Haiku 4.5 で実測し、どこにトークンコストが乗るのかを可視化してみました。題材は肉じゃがのレシピ要約に絞り、実際の数字とあわせて紹介していきます。 前提条件本検証は以下の条件で実施しています。 検証環...
2ヶ月前

LLM-jp-Moshi-v1 を AWS EC2 と SSM ポートフォワードで安全に検証してみる
株式会社メンバーズ AIフォーオールカンパニーのフィード
はじめに従来の音声対話システムでは、ユーザーの発話を受け取ってから応答を生成・読み上げる構成が多く、会話中の割り込みや相槌のような自然なやり取りが難しいという課題があります。そこで LLM-jp-Moshi-v1 を AWS の GPU EC2 上で起動し、手元のブラウザから full-duplex 音声対話 (送信と受信を同時に行える音声対話) を試してみました。本記事では、次の 2 点を中心に検証・整理しています。AWS のGPU EC2 上で LLM-jp-Moshi-v1 を動かし、ブラウザから音声対話できるかを確認する「技術的に正しく動くか」と「実業務で使える品...
2ヶ月前

誰でも「Cursor」で安全なWeb運用を。レガシーな現場でAI駆動開発の民主化を目指したPoCの記録(第3回/全3回)
株式会社メンバーズ AIフォーオールカンパニーのフィード
こんにちは。株式会社メンバーズ AIフォーオールカンパニーで生成AI活用PMOをしている、ラウタクです。前回に続き、「Cursor」を活用したPoCの記録の第3回(最終回)をお届けします。!第1回:AI駆動開発の民主化メリットと課題第2回:民主化に向けた課題を解決するためのPoC設計とは第3回:PoCの具体的な実装について ← 本記事!本記事で記載しているファイル構成や各種設定、Project Rules(ガードレール)は、仮想的なプロジェクトを想定した設定となっており、あくまで参考事例としての紹介です。実際に使う際は、現行のプロジェクトに合わせた設定とする必要があ...
2ヶ月前

誰でも「Cursor」で安全なWeb運用を。レガシーな現場でAI駆動開発の民主化を目指したPoCの記録(第2回/全3回)
株式会社メンバーズ AIフォーオールカンパニーのフィード
こんにちは。株式会社メンバーズ AIフォーオールカンパニーで生成AI活用PMOをしている、ラウタクです。前回に続き、「Cursor」を活用したPoCの記録の第2回をお届けします。!第1回:AI駆動開発の民主化メリットと課題第2回:民主化に向けた課題を解決するためのPoC設計とは ← 本記事第3回:PoCの具体的な実装について 民主化へ向けたPoCの設計本PoCの目的は、AIに規律を守らせ、AI駆動開発の民主化につなげることです。そのためには「AIが生成するコードの品質をエンジニアが都度レビューしなくとも、AI自身が自律的に品質担保をする」設計が必要となりました。...
2ヶ月前

GitHub LFSにベクトルストアを置いてチームで共有できるようにしてみた!でもそれって適切なの?
株式会社メンバーズ AIフォーオールカンパニーのフィード
はじめにRAGを使ったアプリケーションを開発していると、ドキュメントをEmbeddingして作成したベクトルストアを、チーム内でどう共有するかという問題が出てきます。毎回それぞれの開発者がローカルでEmbeddingを実行すれば、ベクトルストアは再作成できますが、Embeddingには外部APIの呼び出しが必要になることが多く、実行時間もコストもかかります。共有フォルダを使用する手もありますが、容量の問題が出てきます。検証用のデータであっても、開発メンバー全員が同じベクトルストアを使えるようにしておくと、環境構築や動作確認がかなり楽になるので、GitHub LFSにベクトルスト...
2ヶ月前

LLMのJSON出力が壊れてたので json-repair で解決した話
株式会社メンバーズ AIフォーオールカンパニーのフィード
LLMにJSON形式で出力させるアプリケーションを実装していたとき、出力が仕様通りにならないことが続き、バリデーションエラーが頻繁に起きていました。特にJSONの構造が大きくなるほど、末尾にカンマが残ったり、コードフェンスで囲まれて返ってきたりするケースが増えていきました。まずPydanticModel でスキーマを渡して出力を制御しようとしましたが、それでも崩れることがあり、根本的な解決にはなりませんでした。「結局リトライ処理で無理やり対策するしかないのか」と思っていたところ、json-repairというライブラリを見つけました。壊れたJSONを自動で修復してくれるもので、試してみた...
2ヶ月前

SurrealDBを活用して、過去の会話を取りこぼさないAIChatを作ってみた
株式会社メンバーズ AIフォーオールカンパニーのフィード
はじめにAIと会話していると、過去に話した内容を取りこぼされてしまい、話が通じなくなることはありませんか? 今回はSurrealDBを使って過去の会話履歴を構造化して管理し、自然にコンテキストを引き継いでくれる「やけに記憶力がいい友人」のようなAIチャットボットを開発してみました。 会話履歴がたまる仕組みこのアプリでは、SurrealDBのグラフ機能を利用して会話の文脈を管理しています。グラフは2種類のノードと1種類のリレーションで構成しました。ノード説明ConversationユーザーとAIの1往復の会話履歴。ユーザーの入力とAIの回答を保持します。...
3ヶ月前

copilot-instructions.mdとSkills併用におけるトークン量・生成物の品質変化を調査
株式会社メンバーズ AIフォーオールカンパニーのフィード
はじめに6月よりGitHub Copilotの料金体系において、トークン量に応じた従量課金制へ移行することが発表されました。これまでは、copilot-instructions.mdや Skillsを活用して生成コードの精度を高める手法にデメリットはほとんどありませんでしたが、今後はこれらを利用することによる「消費トークン量の増加(=開発コストの上昇)」にも気を配る必要があります。そこで、同一のプロンプトに対して copilot-instructions.md と Skills を使い分けた場合に、利用トークン量と生成物の品質(指示の遵守度や堅牢性)がどのように変化するのかを調査...
3ヶ月前

SurrealDBとEdgeDBを比較してみた
株式会社メンバーズ AIフォーオールカンパニーのフィード
はじめにグラフDBというとNeo4jを思い浮かべる人が多いですが、最近は「グラフ構造を扱える」だけでなく、アプリ実装で必要になる機能まで一体化したDBが増えてきました。今回はその中でも SurrealDB と EdgeDB を取り上げ、資料検索ユースケースで比較しました。 SurrealDBとEdgeDBの比較SurrealDBとEdgeDBは、どちらも「グラフ走査」と「ベクトル検索」を組み合わせられる点において同じですが、以下のような違いがあります。それぞれ別の強みを持っているようです。SurrealDBEdgeDB内部エンジンRocksDB, T...
3ヶ月前

表記が違っても意味は同じ?グラフDBとベクトル類似度で意味ベースの用語照合を試してみた
株式会社メンバーズ AIフォーオールカンパニーのフィード
はじめに「言っていることは同じなのに、言葉が違うから検索に引っかからない」という場面は意外と多くあります。たとえば社内ドキュメントやFAQでは、同じ機能でも部署や時期によって呼び名がバラバラになりがちです。この記事では、そんな「表記は違うが意味は同じ」用語を、意味の構成要素(Concept) に分解してグラフDB(Neo4j)に蓄積し、ベクトル類似度で照合するという検証をしてみます。 今回取り上げる課題世の中には「呼び方は違うが、指しているものは同じ」用語が数多く存在します。例えば、以下のように一般的な用語をそれぞれの会社では別の言い方をしているみたいなケースがあったとしま...
3ヶ月前