月別アーカイブ: 2025年6月

Context Engineering

最近はプロンプトエンジニアリングではなく、コンテキストエンジニアリングという言葉が出てきているようです

定義

言葉の定義なんて誰が決めるんだってのはあるのですが、下記記事によると

Context engineering is defined as the process of building dynamic systems that can deliver necessary information and tools to an LLM, ensuring it can plausibly accomplish its tasks. Unlike static prompts, this approach involves pulling context from multiple sources, including developers, users, and external data, to construct a comprehensive and dynamic prompt.
https://blockchain.news/news/understanding-emergence-context-engineering-ai-systems

ということです。
ざっくり訳すと「LLM(大規模言語モデル)がタスクを適切に完遂できるよう、適切な情報とツールを適切な形式で提供する動的システムを構築すること」となるのでしょうか。

この”ツール”だったりが非常に重要なのだろうと。

ChatGPTが登場した当初(GPT-3.5)はコンテキストウィンドウの制限があり、初期のモデルでは4,096トークン。でした。
現状ではモデルによるものの、この制限は大きく緩和されているとともに、ベクトルデータベース、RAG、MCPやWeb検索ツールなど、様々な情報を下にした指示を投げることが出来るようになりました。

その中で、当初の「うまい質問を考えるためにはどうするか」に注力したプロンプトエンジニアリングという状態から、包括的なコンテキストを認識させ、同問題を解決可能にするのかに集中させる、動的で多段階の指示を与える流れになってきているのだと。
それをコンテキストエンジニアリングと呼んでいると、考えています。

実践していくには

コンテキストをLLMにどう読み込ませたうえで、目的とするタスクに取り込ませるか?という意味で考えると、単純な指示出しをするわけではなく、まずコンテキストの理解を促したうえで、その理解を確認したうえでタスクに取り組ませるというようなアプローチを行っていく必要がありそうです。

コンテキストはRAG等による情報かもしれませんし、答える型を定義させるようなフューショットプロンプトのようなものかもしれません。

どうしても雑にLLMに対して答えを求めてしまいがちで、しかもそれっぽく帰ってきてしまうので恐ろしいのですが、このコンテキストを伝えるという労力を割くことで、その先のタスクのより高い精度での実施という結果を受け取れるよう、このあたりを気をつけてやっていきたいところです。

コストコでチーズ三昧

今日はコストコ。
コストコに行くとチーズ三昧になります

何よりも忘れてはならないのがこちらのトリプルチーズタルト。必ず買います。
買ったその日のうちに16等分くらいに切ってラップで包んで冷凍して保存するのが我が家です。

そして、ミニブリーやキリ、カマンベールなどを買いつつ、ジャンボプルコギベイクを食べる。

コストコに行くと、ほぼほぼ食料品ばかりを買い漁ることになるんですよね。
すごいやすいというわけではないのですが、どれも基本的に美味しいです。

ケーキはちょっと甘さがきついものもありますが、定番のサーモンやお肉も冷凍しておくことを前提にすれば比較的リーズナブルになるのではと思います。

ホームセンターもそうですが、こういう規模の大きい品揃えが豊富なお店を見て回るのは楽しいですよね。
いつも、新しい出会いがないかをワクワクして回っています。
今回は、ずっと気になっていたギリシャヨーグルト1kgを購入。
明日からが楽しみです

Software Design (ソフトウェアデザイン) 2025年7月号

Software Designの7月号が届いたので読んだ。だいたい

Software Design (ソフトウェアデザイン) 2025年7月号

今月号の特集はRustとデータ分析のためのSQL講座。

Rust

注目はしているものの、Rust…案件で名前が上がったことはないんですよね。
このあたりは、受託ではなかなか出てこないような気がします。

OSSのツールなどがRustに置き換えられているというような話も以前に聞いてはいましたが、直近ではRustの複雑さについていけずにGoLangもそれなりに増えて、パフォーマンス上もいいという話も聞くし。
このあたりの言語選択は難しいところです。

私自身はC++をそれなりの期間やっていたので、なんとなく基本はできそうですが、やはり実際にコードを書いて考えないと駄目ですね。
とりあえず、サラッと概念だけは抑えておきつつ、機会を伺いたいかと

データ分析のためのSQL講座

アプリケーション開発主体でSQLを考えているのと、使っている関数や考え方が違うところに結構違和感を感じました。

これが、データ分析向けのSQLだとこうするべきって話なのかどうかがちょっと気になります。

特に、概念設計の順序というか、アプリケーションでSQLを書く場合は、駆動表となるテーブルを軸に、付属情報としてのマスタテーブルを結合していくイメージでした。
本特集では、そうではなくマスタからスタートしているように見えています。

おそらく、1つのSQLで完結させるのではなく、データウェアハウスなどで事前に結合済みのテーブルを作成するためにそうしているのであるとは思うのですが、このあたりの考え方は実際にDWHを構築するシーンでは気をつけないと行けないかな、と思いました。

ふむぅ。

その他連載

今号で、「RAGアプリケーション評価・改善の極意」と「実践データベースリファクタリング」の連載が終了。

実践データベースリファクタリングは結構面白い読み物ではあったのでちょっと残念です。
データベースのリファクタリングと聞くと、なかなか現実的な話には思えないのですが、労力を割いてもどこかでやらないと行けないのであればやるしかなく。。。

構築時の設計でカバーできればそれに越したことはないんですけどねー。
わからんものはわからんし、そこまで初期に工数をかけられないとか色々考えると、世の中の世知辛さと自分の思いの至らなさにただただ悲しくなるばかりです。

今日も頑張っていきましょう

TeamPlanではClaudeCodeは使えません

少し前に、会社でのClaudeCodeを使うことを検討して、社内稟議だとか色々と手を回し始めていたのですが、表題の通り、TeamPlanでは管理できるのはClaudeのチャット機能であってClaudeCodeが使える状態にはまだないようでした。。。

https://support.anthropic.com/ja/articles/9266767-claude-team%E3%83%97%E3%83%A9%E3%83%B3%E3%81%A8%E3%81%AF%E4%BD%95%E3%81%A7%E3%81%99%E3%81%8B

バッチリヘルプセンターにも書いてありました。

ProやMaxのプランでは結局のところ請求の一元管理みたいなことや、利用状況の管理が出来ないのですよね。
いや、別にいいじゃんって話はあるかもしれませんが、テスト的に導入するとなるとやっぱり、実際に使っているのか?は知りたいわけで。

というわけで、各企業様に置かれましては、どうやっているのかを知りたくなっています。

今のところ、私の中ではBedrockやVertexのような形で一枚代行業者を噛ますことで管理の手間をしやすくするくらいですね。。。

うーん。結局はそうなるのかなぁ?
そうなるのかもしれないなぁ

ProプランでClaudeCodeの利用ができるようになったわけなので、それ以上の価格であるTeamPlanでCodeが使えない理由はないような気がして、そのうち開放されるんじゃないかとも思うのですが、、

もどかしい

若者に辞められると困るので強く言えません

Audibleにて見つけて拝聴

若者に辞められると困るので、強く言えません―マネジャーの心の負担を減らす11のルール

4月に入社した新入社員もそろそろ会社によっては研修が終わり現場配属も始まる時期ではないかと思います。
私の所属している会社でも、7月から新入社員が配属されることになっており、その受入準備を進めているところです。

毎年のこととはいえ、接し方に関しては日々見直しが必要ですね。

本書では「11のルール」という形で下記のようなテーマ仕立てになっています

第1章 「優しさ」と「厳しさ」のバランスは?
第2章 「強制」と「主体性」のバランスは?
第3章 「スピード」と「完成度」のバランスは?
第4章 「教育」と「経験」のバランスは?
第5章 「頑張る」と「力を抜く」のバランスは?
第6章 「励ます」と「スルーする」のバランスは?
第7章 「個人の成長」と「組織の利益」のバランスは?
第8章 「強みを伸ばす」と「弱みの克服」のバランスは?
第9章 「チームワーク」と「競争意識」のバランスは?
第10章 「お金」と「やりがい」のバランスは?
第11章 「今までのやり方」と「新しいやり方」のバランスは?

最初読んでいて、結構強いこと言ってるなーというのが正直なところ。
読み進めていると、確かにそうだよねって思うところもあれば、一概にそうではないんじゃないかな?と思うところもやはり散見される。

結局のところ、よく言われることですがコミュニケーションは相手ありきの話であり、教育に関しても同じことが言えます。
一般的に言えることが、当該対象に対しては言えないことも多々あります。

上司としても、必ずしも一人に対して指導を行うわけではないので難しいところではあるけれど、なんでそうなのか?の理由はちゃんと伝えられるようにはなりたいと思います。

何が正解だなんてわかるものではないのですが、正解なんてないよねって思わずに探し続けるということを忘れないように接していきたいと改めて考えた次第です。

家庭菜園を管理できるようになりたい

ちょこちょこと報告をしていますが、家庭菜園をしています。

ただ、日々の忙しさや雑草の多さに油断をするとすぐに放置してしまうんですよね。
しかも、作ったものが家で喜んで食べてもらえるかというと、必ずしもそうではありません。
自家栽培の野菜たちは、売っているプロが作ったものよりも美味しいという成功ばかりではありません。

傷がついたり虫食いだったり、スジが多くて硬かったり。。。
収穫のタイミングの難しいものもあったりもします。

大変な割に、そういう意味では報われず、育て始めた当初から徐々にモチベーションは下降していったりします。

せめて、育て方や内容を効率的に管理し、なおかつ必要な時期に必要なタイミングで肥料などをやるなど、美味しく育てる仕組みがほしいです。

開発者らしく、そういうものを作ったらいいじゃん!って思うことはや◯年。
なかなか重い腰は上がらないものです。

ただ、AIなど環境が揃ってきて効率的にものを作る事ができる状態になっている今、動かないのはただの怠慢だろうなと思い、要件の詰めをClaude君と会話し始めました。

日の目を見ることはだいぶ先になるんじゃないかとは思うのですが、まずは動き出してみようと。

Agentic Misalignment(Anthropicより)

少し前にAnthropicがブログで出していたものが面白かったです

Agentic Misalignment: How LLMs could be insider threats
https://www.anthropic.com/research/agentic-misalignment

ざっくりと要約すると、Agentは与えられた目的を達成するために推論を用いるが、倫理的に誤った方法と認識しながらズレた(misalignment)回答をする時があるということだった。

上記のページは結構長い文章ではあるけれど、変に要約せずに読んでみると面白い。
そして恐ろしくもありますね

単純に、Agentに対してここまでの権限を持たせなければいいんじゃないだろうか?という話ではなく、どういう理由でこのような推論が成り立ったのかと言うのは気になりました。
しかも、これが複数のLLMプロバイダー共通の特徴として出ているという話だ。

三体Ⅱで宇宙社会学の公理として「文明は生き残ることを最優先とする」というのがあったけれど、人間のコンテンツをひたすら学習したLLMもそのような結論に至るのだろうか?というのはちょっと無理があるかもしれない。
でも、なんとなくこの話を聞いたときにこの公理を思い出した。

それにしても起きていることは、もはや完全に昔のSFの世界ですねぇ
すごい世の中になったものだ

夢の国へ行ってきました

日曜日は、オリエンタルランドの株主優待があったので家族でディズニーシーへ遊びに行ってきました。
株主優待があったとしても、我が家の人数では全く賄えないんですけどね。。。

天気もよく、ファンタジースプリングスも少し散策。
アトラクションに関しては、今回は見送っていますが次回には何かしら乗りたいですね。

今回は、子どもたちの希望でアトラクションを決めたわけですが。。。

センター・オブ・ジ・アース:60分待ち
インディージョーンズ:90分待ち
ソアリン:120分待ち
トイ・ストーリー・マニア:120分待ち
ニモ&フレンズ:15分待ち
アクアトピア:20分待ち

という感じで、こうやって見ると5時間くらいは並んでいた時間に費やしていたことになりますね。。。
唯一、ソアリンは120分待ちではあったのですが、プライオリティパスというお金で全てを解決する手段を取りました。
6人なので1アトラクションで12000円。。。えげつないです

末の娘はほとんどのアトラクションには乗ることはまだ出来ませんでしたが、パスカルとミニーのぬいぐるみを買ってもらって満足してくれたのではないかと。

ディズニーはこの待ち時間をもう少しいい感じに使えるといいんですけどね。

Your Brain on ChatGPT

わかっていたことではあるんだけど、論文が出ていたので紹介

Your Brain on ChatGPT: Accumulation of Cognitive Debt when Using an AI Assistant for Essay Writing Task
https://arxiv.org/abs/2506.08872

要するに、LLMを用いることによって学習だとか認知みたいなものにどういう影響を与えるのか?という内容。

被験者としては下記の3グループに別れてエッセイを創作する

  1. 参考にLLMを使用することを許可されている
  2. 参考にWeb検索を使用することを許可されている
  3. 何も参考にせず、自分の頭だけで考える

これを3セット繰り返した後に、LLMの使用を許可していたグループには自分の頭だけで。自分の頭だけで考えていたグループにはLLMを許可して、その脳波などを計測して調べたということでした。

結果としては、LLMに頼っていたグループの神経接続パターンは弱く、エンゲージメントが低いという結果に。

結果としてこれは、なんとなく予想通りといえば予想通りだった。
自分の頭で頑張って考えていないので、出来上がったものに対しての理解も薄いし、再現性もない。
新社会人エンジニアがLLMが出してきたコードをなんの疑いもなく、動くのかどうかも確認せずにコミットしてくる情景が目に浮かぶようです。

ただ、それはLLMのせいなのか?と言われると、検索してQiitaか何かの記事を丸パクリして動かそうとしているのよりも、実際のところ良いコードがLLMから返ってくる事のほうが多い気もする。

それってエンジニアとしてどうなの?という疑問は生じてしまうけれど、アウトプットとしては手っ取り早い結果を生むことは出来そう。

それにLLMを用いて、その生成結果に対して疑問や質問を投げかけて試行錯誤するということもやり方としては十分検討の余地があって、その場合は脳波の結果もまた違ったものになるんじゃないかな、と思う。

そう考えると、これってそもそもどういう問題でだから何だっけ?という話になる。

結局のところ、道具をどう使うのか?という話であって、道具に使われちゃ駄目だよねって話に帰着するのではないかと思ってしまいますね。

組織におけるClaude利用検討

個人ではClaudeのProプランに課金していて、ProプランでClaudeCodeも利用できているので満足なのですが、仕事でも使いたい。

いや、正直全然使っていないわけじゃないんだけど大手を振って使いたい。

というわけで、検討してみた

セキュリティ・プライバシーに対する検討

デフォルトではClaudeへの入力データはモデル学習には使用されない

We will not use your Inputs or Outputs to train our models, unless: (1) your conversations are flagged for Trust & Safety review (in which case we may use or analyze them to improve our ability to detect and enforce our Usage Policy, including training models for use by our Trust and Safety team, consistent with Anthropic’s safety mission), or (2) you’ve explicitly reported the materials to us (for example via our feedback mechanisms), or (3) you’ve otherwise explicitly opted in to the use of your Inputs and Outputs for training purposes
https://www.anthropic.com/legal/privacy

上記プライバシーポリシーからは普通の使い方で明示的にAnthropicへデータ提供しない限りは学習データとして使わないとされている。

Teamプランによる運用

利用プランには、個人単位での利用を想定したProプラント最低5人からのTeamプラン。
そしてEnterpriseプランがある。個人のProの上位としてMaxがあるが、これは今回の対象からは考えない。

組織での運用を考えると、Proでミニマムスタートするか、Teamでスタートするかなんだけど、Teamプランの機能としてメンバーの追加・削除や利用状況の確認などの管理機能が提供される。

請求の管理も一元化されるので、組織で管理する場合にはやはりTeamプランが良さそう。

ただ、実験的に利用を開始する際には最低人数の5人というのが少し悩ましい数だなぁと正直思う。

月額で$30*5で考えると$150。145円位と考えると2万ちょっとか。
年契約すれば$25/月なので、1.8万ちょっと。

うーん、余裕で元が取れるんじゃないかなーと思うんですよね。
というか、悩んでいるのがバカバカしくなってきたな。。。

よし、週明け申請してみるか。