昨今、AI(生成AI、AIエージェント、LLMなど)の使い方に関する情報が溢れていますが、その中には、特定のツールやモデル、そのバージョンに依存した情報も多くあります。
そのようなツールやモデルの性能に依存するような使い方は、短期的には、そして特定の状況下では役に立つかもしれませんが、新しいツールやモデルが登場することで、それまでの知識やテクニックが通用しなくなることもあるでしょう。
できるだけ流行に左右されないAI活用術を身に付けたいところですが、その本質は何だろうかと考えた時に、それはAIの外側にあるような気がしています。
ここでは、仕事を進めていく上で必要になる能力と、それらがAI活用にどうつながっていくかを私なりにまとめていきたいと思います。
リテラシー
AIを使用するかどうかに限らず、何かしらのソフトウェアを使う場合、相応のITリテラシーが求められます。個人情報や機密情報、あるいは何かしらのデータを扱う場合は、それらのデータを適切に扱うための情報リテラシーが求められます。
仕事でAIツールを使用する場合、やり取りの内容が学習に使用されるかどうかや、情報の取扱いに関する設定を確認する必要があります。AIツールに個人情報や機密情報、社外秘に当たる情報を渡す場合は、組織のルールやサービスの利用条件を確認する必要があります。特に、やり取りの内容がAIの学習に使用される場合は、情報の取り扱いに注意が必要です。
利便性を考えれば、AIに全てのデータを渡してしまった方が便利になるはずですが、リスクが全くないわけではありません。利便性と機密性の観点から、環境に応じて情報を適切に扱う必要があります。
また、インターネットの情報と同様に、AIの情報も全てが真実とは限りません。AIの場合、間違った情報を堂々と語ることもあり、鵜呑みにするのは危険だということも知っておく必要があります。
AIエージェントに何かしらの作業をお願いする場合は、実行権限や操作範囲にも配慮する必要があります。AIによって重要なファイルを削除されたり、あるいは内容を書き換えられたり、外部のアクセスによって情報が漏洩したりしないように、十分に注意する必要があります。
AIを有効活用するためには、情報リテラシーやITリテラシーが必要です。
チームメンバーとしてのAI
AIをうまく活用するためのスタンスとしては、AIをチームメンバーの1人として接することが大事だと考えます。
コミュニケーション
チームで仕事をするときに最も重要なことは、チーム間のコミュニケーションです。
- わからないことは確認・質問する
- 定期的に状況を報告する
- 状況が変わった時は素早く報告する
- 注意すべき事があれば事前に連絡する
- 判断に迷うことがあれば相談する
これらは、いわゆる「報連相」と言われる社会人の基本です。この基本はどんな仕事をする上でも必要になる重要なスキルです。
たとえ個人での仕事をしていたとしても、多くの仕事では顧客や上司とのやり取りは発生します。その際、報連相のスキルは必要になります。
この基本を怠ってしまうと、チームでの仕事をスムーズに進めることは難しいです。コミュニケーションが不足しているチームでは、認識不足によるミスや無駄な作業が増えてしまいます。
これは、AIと接する場合でも同じです。
- AIに何かしらの問題解決を手伝ってもらいたい場合、状況をなるべく正確に、具体的に報告することが大事です
- 知らない知識を教えてもらいたいときは、積極的に質問し、自分の理解が合っているかを確認することで、学習が加速します
- AIに作業を依頼する場合は、前提知識や制約を事前に連絡しておくことで、無駄な手戻りを減らすことができます
- 方向性に迷うときは事前に相談することで、意思決定の質を高めることができます
つまり、AIと接する場合でも、「報連相」を基本とするコミュニケーションを意識することで、AIによるアウトプットの質を高めやすくなります。
伝え方
チームで仕事をする際は「報連相」をはじめとするコミュニケーションが大事ですが、積極的にコミュニケーションをとっていたとしても、内容が意図した通り相手に伝わらなければ意味がありません。コミュニケーションでは伝え方も大事です。
相手にわかりやすく伝えるには、例えば以下のようなことを意識すると効果的です。
- 結論から伝える
- 一文を簡潔にして伝える
- 結論の後に理由・目的・背景を伝える
- 必要に応じて制約や前提条件などを伝える
- 相手が持っている前提知識のレベルに合わせて、必要な情報を適宜伝える
伝え方が下手で相手に意図が伝わらなかった場合、認識に齟齬が生まれ、後々になって手戻りが発生するリスクが高くなり、作業のミスや漏れも発生しやすくなります。そしてこれは、相手がAIだったとしても同じことが言えます。
伝え方が悪いとAIからのアウトプットが想定と違う結果になってしまう可能性が高まります。
現状、AIのモデル性能が高くなるにつれて、指示内容が曖昧でもそれなりのアウトプットが出せるようにはなっていますが、それでもまだまだ、使う側の人間の伝え方によってアウトプットの品質が大きく変わる場面は多く見ます。
相手に対する伝え方を工夫することが、アウトプットの質を高めます。
部下としてのAI
AIをチームメンバーとしてだけでなく、優秀な部下として接することができるようになれば、より幅広くAIを活用することができます。
仕事を任せる
リーダーやマネージャーのような人をまとめる立場になった場合、いかにして自分の仕事を他のメンバーに任せられるかが重要になってきます。今まで自分でやっていた作業を他のメンバーに任せ、自分自身に時間の余裕をつくり、その上でチーム全体の成果につながる仕事をするのがリーダーやマネージャーの役割です。
自分自身が慣れている作業の場合、他人に任せるよりも自分でやった方が速い、と思うことはよくあります。
また、人によっては現状維持の思考が働いてなかなか他人に自分の仕事を委譲できないこともあることでしょう。しかし、リーダーやマネージャーのような、人をまとめる役割を担う人は、なんでも自分でやろうとする思考から脱却し、チームのためになる仕事の時間をどれだけ作れるかが大事になってきます。
これは、AIを活用するときにも大事な考え方です。
人間は新しい取り組みをしようとすると、少なからず抵抗が生まれます。慣れている作業であれば、他人やAIに任せるよりも、そのまま自分でやってしまった方が楽だと思うことはよくあります。
AIは、作業の種類によっては、人間よりも速く、高品質な成果を出せる場合があります。もちろん、使い方次第ではありますが、うまく使えば、慣れた人間がやるよりも素早く高品質に仕事をこなすようになるかもしれません。
自分の仕事を誰かに任せようとする思考。そして、今よりも良い方法がないかを模索するスタンス。そのようなスタンスになれるかどうかが、AIを活用できるかどうかの差につながります。
相手に合わせた指示
これは「伝え方」のセクションで書いた内容と似ている部分もありますが、何かしらの作業を依頼する場合、相手が成果を出しやすくするための工夫が必要です。例えば、仕事の目的やゴール、制約などを適切に伝えることで、多くの場合相手は仕事に取り組みやすくなります。また、作業するために必要な知識に対して、相手がどの程度の前提知識を持っているかによって、伝える情報を取捨選択することが大事です。
これは、AIに作業を依頼する場合も同じです。ゴールや制約が曖昧なまま作業指示をすると、意図しないアウトプットとなる可能性が高くなります。AIが知識を持っていない領域に対して、必要な情報を渡さないままに指示をしても、満足いく結果にはなりません。
部下に仕事を振る場合、仕事の内容が同じであっても、相手の性格や持っている知識に合わせて伝える内容や伝え方を変えた方がうまくいきます。AIの場合も、モデルによって持っている知識や推論能力といった性能が変わってきます。相手の特徴を把握した上で、どの情報をどの程度の粒度で渡すべきかを判断しながら指示を出すことで、より良い成果を出すことにつながります。
成果に対して責任を持つ
リーダーやマネージャーは、部下やチームメンバーの成果に対して責任を持つ必要があります。AIに仕事を任せたとしても、その成果物に対する人間や組織の責任がなくなるわけではありません。
例えば、AIにプログラムのコードを作成してもらうとします。
AIが作成したコードを人間がどこまでレビューするかは、成果物の重要度やリスク、開発組織のルールなどによって変わります。しかし、どのような方法で品質を担保するにしても、成果物に対する責任がAIに移るわけではありません。
そのため、AIを使って仕事をする場合は、「何かあったときには人間が責任を取って対処できる状態」をいかに作るかが大事になります。ソフトウェア開発の場合は、テストやレビューなど、品質を担保するための工程をどのように実施し、それをどう仕組み化するかが重要になります。
相手が人間であっても、AIであっても、「指示したことに対する責任を取る」というスタンスでいることが、責任を果たすための仕組みを作ることにつながり、結果として仕事の質を上げることでしょう。
適材適所なメンバー配置
チームで仕事をする場合、リーダーやマネージャーは、メンバーの強みや弱み、スキルレベルや性格などを把握した上で、適材適所に仕事を与えていくことが大事です。基本的には、苦手なことをやらせるよりも、それぞれのメンバーの強みを活かした役割分担の方が、チームとしての成果は出やすいでしょう。
これは、AIにも同じことが言えます。
先ほど、AIのモデルの特徴によって適切な指示の粒度を判断すると良いと書きましたが、そもそもAIによって得意・不得意などもあります。
例えば、「ドキュメントの解析や生成」「プログラムの実装」「調査」「画像生成」「定型業務の自動化」など、AIの用途は多岐にわたりますが、AIツールによって、それぞれの強みや実現しやすさなどは変わってきます。
使用できるAIに複数の選択肢がある場合は、目的に合わせてツールやモデルを適切に選べるようになると、より良い成果につながりやすくなります。
マネジメント力
相手に合わせて的確な指示をしたり、成果に対して責任を持ったり、メンバーに応じて適材適所に仕事を振る作業は、マネジメントそのもの。つまり、AIをうまく使いこなすためには、AIに対して適切なマネジメントをすることが大事となります。
ただし、AIと人間はもちろん同じではないので、全く同じマネジメントが通用するわけではありません。
AIと人間とで大きく異なるのは、感情の有無です。
人間は感情があり、それがモチベーションや仕事の質にも影響する場合があります。そのため、人間を相手にマネジメントする場合は、相手の感情や立場などを考慮することが大切です。一方、現在のAIは、人間のような感情やモチベーションを前提にマネジメントする必要はありません。そのため、AIを相手にする場合は感情を気にする必要がなく、その点は人間と比べてマネジメントしやすいポイントとなります。
一方、何かしらの作業を指示する場合、人間相手であれば詳細まで伝えなくても文脈や状況から色々と察して動いてくれる場合も多いですが、AIはそのような文脈を察してくれないことが多くあります。そのため、人間相手の場合よりも詳細で的確な指示が必要になる場合もあります。
人間とAIではそれぞれマネジメントの難しさがありますが、いずれにしても、相手のことをよく理解し、環境に合わせて適切なマネジメントをすることが大事であることには変わりありません。
教師としてのAI
ここまでは、人間がAIに指示を出し、仕事を任せる立場としての話をしてきました。しかし、AIとの関係は一方通行ではありません。人間がAIから学ぶことで、さらにAIを活用する能力を高めることができます。
イメージ力と言語化力
生成AIを効果的に使うには、イメージ力と言語化能力が大事です。
ゴールややりたいことが明確にイメージできていて、それを具体的に言語化して伝えることができれば、AIはきっとうまく働いてくれます。一方で、ゴールややりたいことが曖昧であったり、イメージを言語化することができない場合は、AIがどれだけ優秀でも、思い描いたアウトプットには繋がらないケースが多いはずです。
例えば、 AIを使ってWebサイトを作る場合を考えます。
今のAIの性能で考えると、「いい感じのWebサイト作って!」くらいの指示でも、それなりの見栄えのサイトを作ってくれることでしょう。
しかし、思い描いているイメージがある場合、そのような曖昧な指示だけでイメージと一致するWebサイトが出来上がる確率はとても低いです。
ある程度具体的なイメージがあるのであれば、それを言語化して伝えることが大事です。
Webサイトの場合、UIを作るためのコンポーネント(部品)として、例えば以下のようなものがあります。
- カルーセル(スライダー)
- アコーディオン
- モーダルウィンドウ(ダイアログ)
- ページネーション
- パンくずリスト
などなど。このような、Webサイトを構成するための部品の名前を多く知っていれば、それだけ言語化がしやすくなり、AIのアウトプットと自分自身のイメージとの差分が少なくなります。しかし、そもそもこのような用語を知らない場合、イメージを具体的に言語化して伝えるのは難しく、やり取りを何度繰り返しても、思い通りのアウトプットにならないかもしれません。
学ぶ力
AIを教師として活用することで、自分自身のイメージ力と言語化力を高めることができます。AIは幅広い分野について豊富な知識を持っており、質問すればとても分かりやすく、かつ何度聞いても機嫌を悪くすることもなく教えてくれます。最近では、図を書いてくれたり、動画を作ってくれたり、HTMLでWebページを作って分かりやすく教えてくれたりもします。自分自身が生徒になって質問上手になることで、自分自身がスキルアップしながら、AIのアウトプットの質も高めることができるようになるでしょう。
また、AIを使用する際にイメージが具体化できていない場合に、AIの協力を借りてイメージを強化する使い方もまた、AIを教師と見立てた有効な使い方と言えるでしょう。
仕事でAIを使う場合、学習にばかり時間をかけることはできないケースももちろんあるでしょう。しかし、知らないことを知らないままにしておくよりは、その都度自分自身の知識を増やしながら仕事を進める方が長期的には良い成果につながるはずです。
「AIを使って学びを得るためのスキル」が、結果としてAIによるアウトプットの質を高めます。
プログラミング的思考と仕組み化
ここまでは、主にAIとの関わり方や、個々の作業で成果を出すための考え方を紹介してきました。これらの考え方を意識することで、AIを使うタイミングやプロンプトのコツをつかみやすくなり、アウトプットの精度を上げやすくなるかと思います。
しかし、毎回プロンプトに丁寧な長文を入力しながらAIとやり取りしていると、プロンプト作成にそれなりの時間がかかります。毎回、長く丁寧なプロンプトを入力しなくても、アウトプットの質を安定させることができるようになると便利です。
設定ファイルによるルールの追加
設定ファイルや「スキル」と呼ばれる機能をうまく使うことで、プロンプトの入力をシンプルにしながらアウトプットの精度を高められるようになり、結果的に作業効率が上がります。
プロンプトを作成する際に毎回入力するような内容、あるいは前提条件としてAIに常に意識しておいてほしい情報などがあれば、設定ファイルを作成し、その中に必要な情報を追記します。設定ファイルは、多くのAIツールでファイル名が決められており、mdファイル形式で指定されることが多いです。このような設定ファイルを用意して前提条件や制約を書いておくことで、個々のプロンプトの入力を簡潔にしやすくなります。
例えば、ソースコードのレビューやブログ記事のレビューのような、レビュー作業をAIに依頼するとします。この時、レビュー観点を毎回プロンプトに細かく入力するのは手間です。レビューするときには漏れなくこの観点を入れてほしい、という内容があれば、それを設定ファイルなどにまとめて作業時にその設定ファイルを読み込むようにしておくことで、個々のプロンプトを簡潔にできます。
繰り返しの作業を効率化する「スキル」
特定の作業をお願いする場合に、毎回似たような細かい指示文を書いている場合は、それを「スキル」という形で定義することで、毎回の指示を省略できるようになります。
例えば、「Javaで書いたプログラムをPythonに変換したい」のような要望があったとします。この時、どのようなルールで変換し、変換した結果にエラーがないことをどう検証し、実行結果が変わらないことをどう検証し、ドキュメントをどう作っていくか、などを決める必要があります。このような作業の手順を、スキルとして定義しておけば、毎回細かく指示を出さなくても、一定の手順やルールに沿って作業を進めやすくなります。
繰り返し行う作業で、作業の手順やルールが明確に決められる、かつ毎回プロンプトで細かく指示を出すのは面倒、という作業があれば、それをスキルに落とし込むことで作業を大きく効率化することができます。
スキルをうまく使うには、業務の中で繰り返しの作業になっている箇所を見つけ出すための抽象化の能力が必要になってきます。
プログラミング的思考
この「スキル」は自分で作成できるほか、公開されているものを利用することもできます。
プログラミングをするときは、似たようなコードがあればそれを関数やクラスにして共通利用できる形にすることで、効率よく開発を進めることができるようになります。また、すべてを自分で作らずとも、既存のライブラリやフレームワークを活用することで、より効率よく開発ができるようになります。
そういう観点では、効率よくプログラミングするための考え方と、効率よくAIを活用する考え方は似ています。
さらに、AIの活用においては、指示を共通化するだけでなく、AIがうまく仕事を進められるような仕組みそのものを作る、という考え方もあります。
そのような考え方は「ハーネスエンジニアリング」と呼ばれています。これは、AIエージェントに適切な情報やツールを提供し、作業結果を検証したり、失敗した場合に修正できるようにしたりと、AIが安定して仕事を進められる環境を設計する考え方です。
例えば、AIにプログラムの実装を任せる場合、コーディング規約を守るように指示するだけでなく、静的解析や自動テストを実行し、問題があればAIがその結果を確認して修正できる仕組みを作る、といった方法が考えられます。
このように、AIに対する指示の出し方を工夫するだけでなく、AIが安定して成果を出せるような仕組みを作ることも、AIを有効活用するための重要な能力になってきます。
そのためには、作業の手順を整理したり、繰り返しの処理を共通化したり、処理の結果を検証する方法を考えたりといった、プログラミングやシステム設計で培ってきた問題解決力や仕組みを作る考え方が役に立ちます。
業務フローの分析と設計
ここまで、プロンプトの精度を上げるためのスタンスや、設定ファイルやスキルを使った「再利用」による効率化の考え方についてまとめました。
これらを意識することで、個々の作業に対してはAIをうまく使って作業効率や品質を上げやすくなるかと思います。しかし、そもそもの業務の目的が曖昧だったり、業務フローそのものに大きなボトルネックがある場合は、いくらAIの使い方が上手くなったとしても、仕事全体を通しての効率化や成果の拡大にはつながらないかもしれません。
実際、「AIを導入したけれど仕事の効率はあまり上がっていない」とか、「AIを導入して個々の作業効率は上がったけれど売上は変わらない」などの声をよく耳にします。これらの要因の1つとしてボトルネックを解消できていないことが考えられます。
例えば、ソフトウェア開発の場合、AIを導入することでコーディングのスピードを大幅に上げることができます。しかし、そのコードを人間がレビューする場合、レビュー待ちの作業が積み上がり、リリースまでの時間が期待したほど短縮されない可能性があります。
また、開発における契約形態によっては、開発に着手するまでに多くの時間がかかるケースもあります。顧客に見積もりを提出した後、その見積もりに対する承認フローに時間がかかると、契約までに多くの時間を要するため、AIを使って開発をしたとしても、見積もりからリリースまでの時間はあまり短くならないというケースもあります。
コードレビューの場合は、先ほど紹介した「スキル」やハーネスエンジニアリングによって比較的解消しやすい部分ですが、承認フローのような業務の場合、AIを使ったところでどうにもならないケースも多いです。特に、「顧客の承認フロー」のように、自分たちでコントロールが利かない箇所のボトルネックに対しては、自社でAIを導入してもボトルネックの解消は難しいです。
AIをどれだけ有効に活用しても、効果があまり得られていない場合は、業務フローそのものを見直す必要があるのかもしれません。AIの導入によって個々の作業を効率化するだけでなく、業務フロー全体を見直し、ボトルネックを継続的に改善していく。そのような取り組みによって、AIによる効果を、仕事全体の成果につなげやすくなるのでしょう。
真の意味でAIを活用する(AIで業務全体を効率化し、売上などの成果を上げる)には、業務分析と業務設計をする能力が必要になってきます。
まとめ
ここまでに書いてきたAIを活用するためのスキルをざっくりまとめてみます。
- リテラシー(情報リテラシー、ITリテラシー)
- コミュニケーション(報連相、質問、確認)
- 伝え方
- マネジメント力
- イメージ力と言語化力
- 学び方
- 抽象化能力(再利用性を見つける力)
- プログラミング的思考
- 仕組み化
- 業務設計力
こうやって箇条書きされた内容をみると、AIを使うかどうかに関係なく、エンジニアとして、あるいはリーダー・マネージャーとして成果を出すために求められるスキルばかりです。
結局のところ、「AIを活用するためのスキル」は、「仕事で成果を出すためのスキル」に集約されるのかもしれません。AIを活用するために、AIについて知ることは大事です。しかし、そもそもチームや組織の中で成果を出すためのスキルがなければ、AIの使い方だけを学んでも、結果的に効率化や大きな成果には繋がらないかもしれません。
AIを使いこなすために、人間自身が仕事のスキルを磨く。そして、AIを活用することで、人間自身のスキルも高めていく。AIの進化に合わせて新しいツールや使い方を学ぶことも大事ですが、それと同時に、仕事で成果を出すための普遍的なスキルを磨き続けることも大事なのだと思います。

コメントを残す