サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
プライムデーセール
techblog.technology-doctor.com
データサイエンス(DS)チームのマネジメントを担当している深見です。 この数ヶ月で、データサイエンティストの仕事のやり方が大きく変わり始めました。かつては「エンジニアが中心」と思っていたAIの普及による変化が、データサイエンティストを含む幅広い職種に及んでいると感じられます。 今回は、テックドクターの社内研究業務におけるAIツールの活用について、導入の経緯・業務の変化・課題と今後の展望をご紹介します。 DSチームでも、ChatGPTやGeminiの導入に始まり、最近ではClaudeを日常的に使うようになっています。つい先日まで「研究へのAI活用はまだ先の話」と思っていたのが嘘のように、今ではなくてはならない存在になっています。 Claudeの導入で何が変わったか 詳細は後述しますが、Claude導入後に起きた変化を先にお伝えします。 解析用のコードを自分で書かなくてもよくなった 「ちょっと
バックエンドエンジニアの伊藤です。 最近、AIコーディングエージェントを使った開発が当たり前になる中で、改めてチケットには何を書くのが最適なんだろう、そもそもチケットが生まれた経緯・役割はなんだったのだろう、AI時代にはチケットはどう変わるのだろう、ということを考えています。 ここ1、 2年で、AIによってコードを書く速度が格段に速くなってきました。簡単な修正であれば、実装そのものは数分で終わります。バグの再現条件を渡し、関連しそうなファイルを読ませ、修正案を出させ、テストまで書かせることもできます。 一方で、その作業をチケットに起こし、背景を書き、スコープを書き、受け入れ条件を書き、担当者を設定し、ステータスを動かす時間の方が重く感じることがありました。 ここで疑問が生まれます。 チケットは、AI時代のソフトウェア開発においても、最適なインターフェースといえるだろうか? 本稿では、チケッ
1. はじめに LLMアプリケーションを開発・運用していると、ぶつかりがちな壁があります。「なぜこの出力になったのか分からず改善が進まない」「プロンプトやモデルを変更したいけれど影響範囲が読めない」などです。 私たちテックドクターでは、こうした課題に対して、LLMアプリケーションのオブザーバビリティ・評価プラットフォームであるLangfuseを使うことで対処しています。 この記事では、弊社のヘルスケアアプリケーション開発の実例を交えながら、トレースによる挙動の可視化、プロンプトの一元管理、データセットの構築、そして簡易的なプロンプト評価(Prompt Experiments)の実行まで、Langfuse活用の一連の流れを解説していきます。 こんな人に読んでほしい LLMアプリケーションの開発・運用に携わるエンジニア Langfuseの導入を検討している方 2. 導入背景 弊社ではLLMを活
はじめまして。テックドクターでデータ解析を担当している藤野です。 私はテックドクターへ参画する前は、約10年間にわたり医薬品開発における治験の統計解析に従事してきました。現在はその経験を活かし、ウェアラブルデバイスのデータを用いて、医療現場で活用されるデジタルバイオマーカー(※1)の開発に取り組んでいます。 ウェアラブルデータは、従来の臨床試験のデータに比べてデータ量が膨大で、項目の種類も多岐にわたります。そのため、解析の自由度が非常に高く、データサイエンティストとして非常に面白い領域です。しかしその反面、解析者の意図によって「都合の良い結果」を導き出してしまうバイアス(P-hacking等)が入り込みやすいという危険性もあります。 このように都合の良い解析とならないために、治験における解析の「規律」であるSAP(統計解析計画書)の考え方をウェアラブルデータ解析においても実践しています。
こんにちは、テックドクターの佐藤です。 今回は、アプリ開発において Agentic Workflow(自律的なエージェントワークフロー)を組み込んだ際に直面した問題と、解決方法について書きます。 その問題とは「巨大プロンプトの限界」。それを解決に導いたのは、マルチエージェントアーキテクチャ化、そしてPydanticAIを用いた型安全な連携でした。 ヘルスケアアプリ「ポポラス」にAgentic Workflowを実装 昨年11月、「ポポラス」というスマートフォンアプリをリリースしました。 populus-app.com ポポラスは、ユーザーのHealthKitやFitbitのデータに基づき、健康に関するパーソナライズされた受け答えを提供するヘルスケアエージェントアプリです。ユーザーからの「昨日の活動量はどうだった?」といった質問に対し、実際の歩数や睡眠データを参照しながら、自然で適切なアドバ
モバイルアプリ開発では、開発・ステージング・本番など複数の環境を切り替えて運用することがあります。 Flutterでのアプリ開発において、その運用に役立つのがFlavorです。 Flavorは、アプリを複数の環境ごとに設定を切り替えるための仕組みです。 例えば「開発環境ではテスト用API、本番環境では本番APIを使いたい」といった場合に、Flavorを使うことでビルド時に環境を選択し、自動的に異なる設定を適用することができます。 この記事では、そんな便利なFlavorの設定方法をご紹介します。iOS/Androidの両方に対応しているので、マルチプラットフォーム向けアプリの開発に役立ててください。 この記事はこんな人向けです Flutterで複数環境のアプリビルドを構築したい方 iOS/Android両方のFlavor設定を網羅的に知りたい方 Firebase等の外部サービスを環境ごとに切
こんにちは、プロダクトデザイナーの庄司です。 今回は、社内で「プロダクト開発を皆に身近に思ってもらう」を目的として開催したワークショップについて紹介します。 弊社では毎月末にその月の成果等を発表する締め会(*1)を行っています。 その中に毎月テーマを変えた全社ワークショップの時間があり(*2)、先日は私がファシリテーターとなりプロダクトデザインに関するワークショップを開催しました。 *1 参考:文化は育てるもの。また“締め会”で会いましょう *2 参考:問いを囲んで、チームを耕す月イチワークショップ デザインとは設計である もともとは、毎月のワークショップを主催している組織開発のメンバーから打診を受けたのがきっかけです。 「新規プロダクトのリリース予定もあることだし、プロダクト開発を皆に身近に思ってもらえるように、デザインのワークショップを行いませんか?」というオファーでした。 新規アプリ
こんにちは、データサイエンスチームの瀬川です。 テックドクターでは、女性社員のみで構成された「Ladynamic」プロジェクトを通して、女性の視点に立った課題提起とデータ解析を目指しています。同プロジェクトでは女性の健康に関する様々なデータ分析を行っており、これまでのブログ記事でもいくつかの事例をご紹介しました。 techblog.technology-doctor.com techblog.technology-doctor.com そんなLadynamicプロジェクトから、今回は基礎体温についてのお話です。 基礎体温は排卵の前には低く、排卵の後には高くなるというように、2つの段階に分かれます(このような性質を「二相性」と呼びます)。また、この変化には月経周期と連動した周期性があります。この連動を利用して月経周期の把握ができるため、基礎体温を毎日記録されている方もいらっしゃるかと思います
はじめに こんにちは。テックドクターでバックエンドエンジニアをしている筧と申します。 新規プロダクトのバックエンドで、DDD (Domain-Driven Design) と CQRS (Command Query Responsibility Segregation) を組み合わせたアーキテクチャを採用しました。 DDDの本や記事は、Eric Evans著『Domain-Driven Design』や『実践ドメイン駆動設計』など様々あります。CQRSについてもMartin Fowler氏のCQRSの解説記事などがあります。しかし、DDDにCQRSをどう組み込んでいったかという話はあまり見かけません。 この点について以前より情報収集や試行錯誤を重ねていましたが、今回のプロダクトでようやく納得のいく形で実装ができました。この記事ではそのポイントをご紹介します。特にCQRSを具体的に実装してい
こんにちは。テックドクターでプロダクトマネージャーをしている田向です。 テックドクターでは各種AIツールを積極的に導入し、プロダクト開発のプロセス改善に取り組んでいます。 中でもUIデザイン生成ツールv0の導入は、単に個々のプロトタイプの実装を効率化するだけでなく、プロトタイプ開発全体を大きく加速させてくれました。 本記事では、v0の概要から具体的な導入効果までをご紹介します。 v0とは v0は、Vercelが開発したAIツールです。自然言語のプロンプトや画像、Figmaファイルなどをもとに、WebやモバイルアプリのUIを簡単に作成できます。 v0.app v0を選んだ理由 他にもUIを生成できるAIツールはありますが、今回は下記の理由からv0を選びました。 非エンジニアでも使える手軽さ v0の大きな魅力は、自然言語のプロンプトでUIを生成できる点です。 大まかな指示でも一定の品質のものが
はじめに こんにちは。エンジニアリングマネージャの星野です。今回はReactを用いたSPAの他言語化についての事例を紹介します。 テックドクターで開発している臨床研究支援システム「SelfBase」において、海外案件への対応をきっかけに管理画面の多言語化が必要となりました。 フロントエンドはReactを用いたSPA(Single Page Application)で構築されており、自前で実装する場合は react-i18next などを利用したi18n(国際化)対応を行うことになります。そのためには数ヶ月単位の少なくない開発工数が見込まれました。 そこで、「自前での実装」という選択肢だけでなく、「SaaS型の翻訳サービス」の導入を本格的に検討することにしました。 フロントエンド技術スタックと検討ポイント 多言語化を検討するにあたり、技術スタックとSaaS選定のポイントについて説明します。
こんにちは。株式会社 TechDoctor でソフトウェアエンジニアをしている大瀧です。 突然ですが、アプリケーション開発で、クライアントとサーバーの API の型やバリデーションルールが食い違い、予期せぬバグに繋がった経験はないでしょうか。 このような課題の解決策として、本記事では、OpenAPI スキーマをもとに、API の型とバリデーションルールを一元管理する方法を紹介します。 ここで紹介するアプローチは、 OpenAPI スキーマを作成できる限り特定の言語やフレームワークに依存しませんが、今回は具体例として FastAPI、Pydantic、Zod、openapi-zod-client を使った方法を解説します。 なお本記事のサンプルコードは、以下のリポジトリで確認できます。(Kiro と Claude Code が作ってくれました) GitHub - shutootaki/syn
こんにちは、テックドクターCTOの佐藤です。 最近、生成AIや大規模言語モデル(LLM)の発展により、複雑なタスクを自律的にこなすAIが注目されています。今回紹介するAgenticWorkflowは、こうしたAIの力を最大限に引き出すためのしくみです。 このエントリではAgenticWorkflow自体の紹介にくわえ、その実装のためのライブラリ3つを比較した結果をご紹介します。 AgenticWorkflowとは何か、なぜ注目されているのか AgenticWorkflowとは、AIやプログラムが「自分で考えて動く」ようにする仕組み、あるいはそのための考え方のことです。AIがある目的を達成するために、都度人間の指示を受けるのではなく、自分で手順を考えたり、必要な作業を順番に進めたりできるようにします。 これは単なる自動化とは異なります。これまで行われていた自動化では、あらかじめ決められた流れ
こんにちは、データサイエンスチームの藤本と申します。 この記事では、女性の月経周期にともなう不調に焦点を当てます。 この時期は調子が良い、この時期は調子が悪いなど、一般に言われる通説がありますが、実際のところはどうなのでしょう。 社内での取り組みを通して可視化できたデータについてご紹介していきます。 女性の月経周期についての通説 女性の正常な月経周期は、一般的に25~38日、そのうち月経期の期間は3~7日間とされています。ただしこれには、個人差があること、ホルモンバランスやストレスによって変化しがちであることが知られています。 月経周期のサイクルは、月経期→卵胞期→黄体期→月経期...という順番で繰り返されます。 このうち、黄体期は精神的・身体的に不調が生じやすい期間です。プロゲステロンというホルモンが増加する影響でむくみが起こったり、情緒不安定になったりします。 一方で卵胞期は、調子が良
はじめまして、テックドクターのプロダクトデザイナー、庄司です。テックドクター初のデザイナーとして今年1月に入社し、現在は主に新規プロダクトのUXデザインやUIデザインを行っています。 みなさんの組織では、新しいプロダクトやサービスを考えるとき、どうやってアイデアを出していますか?また、出たアイデアをより具体的にしたり、チーム内でそのイメージを共有するためにどうしていますか? 私はテックドクター入社以前も、大人の女性向けファッションメディア、従業員の心身のケアを行うHR系プロダクト、医療スタートアップにてビデオ診療モジュールのデザイン、医師の勤務のためのアプリ...などなど、さまざまな組織や新規事業において、一人目デザイナーとしてサービスのゼロ→イチの開発に携わってきました。 その経験を踏まえて、この記事ではプロダクトを考え、デザインするためのワークショップを紹介します。 これらはテックドク
はじめに はじめまして、テックドクターでバックエンドエンジニアをしている筧と申します。 最近、弊社では API の品質を担保するために「API シナリオテスト」をプロダクトに導入しました。今回は、この API シナリオテストのツールである Postman(+Newman)、Tavern そして runn を比較し、最終的に runn を選んだ理由をご紹介します。 API シナリオテストとは? API シナリオテストとはなんでしょうか? 開発におけるテストといえば、ユニットテストや結合テスト、API テストや E2E テストなどをよく耳にします。しかしAPI シナリオテストという言葉はあまり聞き馴染みがないという方も多いかもしれません。 API シナリオテストは API テストの一種で、複数の API を連鎖的に呼び出して実行するテストです。以下の特徴を持っています。 複数の API を順序
こんにちは。データサイエンスチームの坂本と申します。 使い慣れたRを使って、Google Colabのクラウド環境上でベイズ推定ができたら便利ですよね。しかしやってみると意外に環境設定手順が複雑で、悩むことになるかもしれません。 TechBlog第15回では、統計解析環境Rのユーザーが、Google Colab上でベイズ推定を行う際の手続きを紹介します。 ベイズ推定にはハミルトニアン・モンテカルロ法のNUTSアルゴリズムを使用してパラメータ推定を行うためのRパッケージ、cmdstanrを利用します。 また、せっかくですので、後半では構築した環境を使った分析例もご紹介します。ウェアラブル端末で測定した睡眠データで「睡眠リズムの安定性(不安定性)」を定量化してみましょう。睡眠リズムを定量化する方法の意外な難しさと、時刻データの解析に関するちょっと面白いお話も披露できたらと思います。 ※2025
こんにちは。テックドクターでプロダクトマネージャーをしている田向です。 テックドクターでは2023年からプロジェクト管理ツールとしてLinearを導入しています。 linear.app 一言で言えば、Linearは「プロジェクト管理の手間を最小化し、顧客に価値を提供するための開発に集中できるツール」です。 プロジェクト管理は大事ですが、管理することに時間を取られて、肝心の開発に手が回らなくなってしまっては本末転倒です。 本記事ではLinearの概要と、個人的にLinearを使用する最大のメリットと感じているGitHub連携やSlack連携の機能を中心にリアルな使用感を紹介していきます。 「もっと使いやすくてシンプルなプロジェクト管理ツールが欲しい」 「プロジェクト管理作業の時間を減らして開発に集中したい」 そんな方に、この記事が少しでも参考になれば嬉しいです。 Linearの概要 Line
こんにちは、データサイエンス部の深見です。 日々ウェアラブルデータ(※)と向き合う仕事をしていると、データに対する勘のようなものがついてきて、ふと「この値にはこんな傾向があるのでは?」とひらめいたりします。 今日はそんなひらめきの中から、心拍のタイプ分けに関するお話です。 また、後半ではタイプ分けに使用したDTW(Dynamic Time Warping:動的時間伸縮法)と呼ばれる手法についても解説します。 ※ウェアラブルデータ……スマートウォッチを代表とするウェアラブル端末で測定された生体情報等のデータ 心拍データに見る5つのタイプ 心拍のデータをじっくりと眺めていると、就寝や運動、または食事など、様々な動作・環境に影響を受けている様子を垣間見ることができます。また、ただじっとしている時でも、その日の体調や天候などによって挙動が変わって興味深いものです。 私はテックドクターに入社して以来
はじめに はじめまして、テックドクターでエンジニアリングマネージャをしている星野です。 弊社ではPythonを活用することが多く、型ヒントを積極的に導入し、型安全なコードの実現に努めています。 Pythonの型ヒントはPython 3.5(2015年9月リリース)から導入されましたが、その後も継続的に機能追加が行われ、使いやすく進化しています。 本記事では、型ヒントの基本的な説明に加え、最新バージョンでの改善点を紹介します。 型ヒントとは Pythonは動的型付け言語のため、変数の型を指定する必要がありません。 そのためコードの記述が簡潔になりますが、一方で実行するまで型エラーが検出できず、予期しないバグの原因となることがあります。 大規模開発では、実行するまで動作が保証されないことが大きなリスクとなるため、Python 3.5 から型ヒントが導入されました。型ヒントを活用することで、実行
今回は、テックドクターで開催した社内イベント「ウェルリンピック」(Well-lympics)をご紹介します。 ウェルリンピックは、参加者が種目ごとに分かれて競い合ったり協力したりしながら、生活改善をするイベントです。 参加メンバーは「睡眠」「リラックス」「消費カロリー」の3つの種目からひとつを選び、それぞれスマートウォッチのFitbitを着用してウェアラブルデータ(※)を記録。競技ごとの基準に沿ってデータの分析を行いながら、開催期間の2週間の間に生活改善ナンバーワンを目指します。 ※ウェアラブルデータ……スマートウォッチを代表とするウェアラブル端末で測定された生体情報等のデータ 開催の目的 使用したスライド資料よりウェルリンピックの目的はいくつかありますが、ここでは2つを紹介します。ひとつは社員が楽しみながら健康を推進すること。もうひとつは、私たちデータサイエンスチームの、健康に関するデー
こんにちは。データサイエンスチームの坂本と申します。 みなさん、データ処理における「外れ値」と聞くと、真っ先に除外すべきものというイメージをお持ちではないでしょうか。実は、必ずしもそうとはいえない場合もあるのです。 TechBlog第八回では、ウェアラブルデータ(※)解析の面白さを知っていただくために、この「外れ値」をめぐるひとつの事例をご紹介したいと思います。 ※ウェアラブルデータ……スマートウォッチを代表とするウェアラブル端末で測定された生体情報等のデータ ウェアラブルデータの分析手法 ウェアラブルデータの分析では、目的に応じてさまざまな手法を使います。 代表的なものには、2つの群の差を取り扱う手法(t検定、分散分析等)や、データとデータの関連性を捉える手法(相関分析、一般化線形モデル等)、反復測定を考慮した手法(マルチレベル分析等)、分類や予測に適した手法(機械学習、深層学習等)、グ
こんにちは。プロダクト開発チームでネイティブアプリの開発を担当している大嶋です。 この記事では、Appleが提供する健康データ管理のためのフレームワークであるHealthKitを活用し、健康管理アプリを開発する方法について解説します。 HealthKitを利用することで、iOSおよびwatchOSアプリがユーザーの健康やフィットネスデータを収集・管理できるようになります。具体的には、iPhoneやAppleWatchが収集したデータをアプリから読み込んだり、逆にアプリで収集したデータをHealthKit経由で蓄積することも可能です。 これから健康やフィットネスに関するアプリを開発したいと考えている方は、ぜひ本記事を参考にしてください。 Apple公式サイト「ヘルスケアとフィットネス」より引用 HealthKitの概要 HealthKitは、ユーザーの同意のもとでアクティビティ・心拍数・体重
こんにちは、データサイエンスチームの瀬川です。 私は以前、病院で理学療法士として働いていました。 日々患者さんと接する中で感じたのは「自身の不調がより早期に発見でき、他者にもわかりやすく伝えられる」ことがとても重要であるということです。 それを可能にしたいという想いから、現在はデータサイエンティストの立場で、身体の状態を可視化し、誰もが自分の体調を理解しやすくなる未来を目指しています。 今回のTechBlog第六回では、私が進めている「女性の月経周期に関連するデータの可視化」に焦点を当て、その取り組みについてご紹介していきます。 「Ladynamic」プロジェクトと、女性ヘルスケアの課題について 弊社には女性メンバーのみで構成された「Ladynamic」というプロジェクトがあり、女性の視点に立った課題提起とデータ解析に取り組んでいます。 女性がキャリアを築きながら社会で活躍する機会はますま
初めまして、テックドクターでフロントエンド開発を担当している大瀧です。 ディレクトリ構成はコードの可読性やスケーラビリティに関わる重要な要素であると思っています。 しかし、フロントエンドのディレクトリ構成はベストプラクティスが確立されておらず、わりと悩むポイントです。 そこで今回は、Next.jsのApp routerにおいて、弊社で採用しているディレクトリ構成を共有します。この記事がディレクトリ構成に悩む開発者の助けになれば幸いです。 ディレクトリ構成の自由度が高すぎる問題 さきほど「フロントエンドのディレクトリ構成はベストプラクティスが確立されていない」と書きましたが、特にApp routerのディレクトリ構成については、公式ドキュメントで以下のように記載されています。 There is no "right" or "wrong" way when it comes to organi
こんにちは。データサイエンスチームの坂本と申します。TechBlog第四回では、日常生活中の心拍や睡眠などのデータを解析する意義や可能性について、分析者の視点からお話しします。 私たちは、スマートウォッチを代表とするウェアラブル端末で測定されたデータの解析を行っています。このデータ解析という行為を少し抽象的に言い換えると、「数字の羅列から意味を見つけ出す技術」であると表現できます。 そこから得られる「意味」とは、いったい何であり、何の役に立つのでしょうか? 心や身体の「調子のバロメータ」 私たちが主に取り扱う心拍・運動・睡眠のデータ*1は、いわば心や身体の「調子のバロメータ」です。 これは体温計のようなものだと考えると馴染みやすいかもしれません。37度の微熱だとか、39度近い高熱だといったように、自分の体調やしんどさを家族やお医者さんに伝える時の「言葉」になるものです。 もちろん、体温だけ
初めまして、テックドクターのバックエンドエンジニアの魚木です。 私が担当するプロジェクトに、データベースのテーブルのあるカラムを前方一致検索する機能があります。そこに部分・後方一致検索もしたいという要望がありました。 そのデータベースはB+treeインデックスが使用されていますが、B+tree (または同系統のtree) インデックスは部分・後方一致検索は効率良くできないと言われています。 結果的に機能追加は見送られたのですが、前方・部分・後方一致検索の違いについて考えるよい機会になりました。 本記事は、B+treeが部分・後方一致検索を効率よくできない理由と、その代替手段として後方一致検索を高効率でする方法を説明します。 MySQLを前提としますが、インデックスの構造が同系統であれば同じような結論になります。 なぜ前方一致検索のみ高効率なのか まずはtree構造が前方一致検索を効率よく処
このページを最初にブックマークしてみませんか?
『techblog.technology-doctor.com』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く